SampleSampletypeA worked example you read or clone. Evidence: it demonstrates, it never provides.See every one →What this type is →by SAPby SAPoriginPublished by SAP itself. A visible facet, never an input to a reading — a dormant official plugin reads exactly like a dormant independent one.See every one →Reference

teched2025-XP260

An SAP TechEd 2025 workshop on embedding security into CAP applications on SAP BTP, worked through three of the OWASP Top 10 risks: broken access control, SQL injection and logging failures.

Application security is easy to leave until later, and this workshop walks CAP and Node.js developers through three of the OWASP Top 10 risks in turn: broken access control, with a horizontal and a vertical privilege escalation; SQL injection; and security logging and monitoring failures, which covers audit logging for sensitive data access in local development and security event monitoring in a productive SAP BTP environment. Every exercise module runs the same six steps, from an overview of the vulnerability through the vulnerable code, a step-by-step exploitation, the remediation and a verification to a summary, so a reader sees the flaw from an attacker's side and a defender's before fixing it with SAP BTP's built-in security services. It covers those three risks and leaves the rest of the OWASP list alone, and it expects some existing experience with Node.js and GitHub. In the remediation step the whole corrected file has to be copied into the development environment; copying only the snippet that explains the fix leaves the application broken.

Facts

Last pushLicenceApache-2.0

Where it sits

Lives in
Demonstrates
AuthorizationCAPAuthorizationcapabilityDeciding who may read or change what, at service, entity and instance level — role checks, forwarded user context, and restrictions evaluated as query filters rather than after the fact.Audit loggingCAPAudit loggingcapabilityRecording who touched personal or sensitive data, in a form an auditor accepts, without hand-writing it in every handler. It is often confused with application logging, which records what the code did rather than who accessed what.
Flavors

Who is behind it

SAP SamplesSAP SamplesOrganisationMaintains this
In the atlas: maintains 222
@SAP-samples
maintainerAbdelkaderDePersonContributes to this
In the atlas: contributes to 2
@AbdelkaderDe
Ajay SorengPersonContributes to this
In the atlas: contributes to 36
@ajaysoreng
chcohrsPersonContributes to this
In the atlas: contributes to 5
@chcohrs
jadolfPersonContributes to this
In the atlas: contributes to 5
@jadolf
Abdelkader AbdelazizPersonContributes to this
In the atlas: contributes to 2
@Kaderde
martina-sapPersonContributes to this
In the atlas: contributes to 1
@martina-sap
6 contributors

What it declares

Every artifact

Type
Sample
Origin
By SAP
Use as
A reference

As a sample

Form
Workshop or CodeJam material

Connections2

teched2025-XP260 connectionsteched2025-XP260PROVIDES→ demonstrates2demonstrates authoredAudit loggingdemonstrates authoredAuthorization

README

quoted from SAP-samples/teched2025-XP260 under Apache-2.0, read
SAP-samples/teched2025-XP260/README.mdOn GitHub

XP260 - Mastering Secure Application Development in SAP BTP: A Practical Workshop

REUSE status

📝Description

This repository contains the material for the SAP TechEd 2025 session called "XP260 - Mastering Secure Application Development in SAP BTP: A Practical Workshop".

🔎 Overview

Welcome to this hands-on workshop dedicated to embedding security into your SAP BTP applications. Try it out. In an era where data breaches and cyber threats are constant, building secure software is not an option - it's a requirement. This workshop is designed for developers working with the SAP Cloud Application Programming Model (CAP) and Node.js.

By completing the exercises, you will gain the practical skills to identify and mitigate common security risks as defined by the OWASP Top 10 vulnerabilities.

Top 10 OWASP Vulnerabilities
Top 10 OWASP Vulnerabilities

🎯 Learning Objectives
  • Identify and Mitigate a critical OWASP Top 10 vulnerability in a real-world scenario.
  • Leverage the SAP Cloud Application Programming Model (CAP) for secure, cloud-native development.
  • Implement SAP BTP's comprehensive, built-in security services to protect your data and business logic.
  • Validate the effectiveness of security fixes through practical testing.

📋 Requirements

You already have some experience with Node.js and GitHub. That is helpful.

💡In some of the exercises, you will be asked to switch from one user to another. This works more reliably if you use the Incognito mode of your browser. Without the Incognito mode, you may run into situations where you are authenticated automatically with the wrong user.

💻Exercises

Every exercise module is a self-contained lab focused on a specific vulnerability. All modules adhere to the following standard structure:

  • 📖 1. Overview: A high-level description of the vulnerability, its impact, and why it's a security risk.
  • 🚨 2. Vulnerable Code: A snippet of code containing the specific security flaw. We'll analyze why it's insecure.
  • 💥 3. Exploitation: A step-by-step guide on how to exploit the vulnerability, demonstrating its real-world impact.
  • 🛡️ 4. Remediation: The corrected version of the code that patches the vulnerability, along with an explanation of the fix.
  • ✅ 5. Verification: A simple procedure to confirm that the patch has successfully mitigated the vulnerability and the exploit no longer works.
  • 📌 6. Summary: A practical recap that consolidates the exercise outcomes with actionable takeaways.

💡In step 4, you will replace the vulnerable version of the code with a corrected version. In most cases you will have to open the corrected file and copy the full content into the development environment. If you only copy the code snippet explaining the fixes, your application won't work. To copy the content of the file, use the button "Copy raw file" in the toolbar above the file content.

This structure is designed to help you understand a vulnerability from an attacker's perspective and a defender's, see how it can impact a CAP application, and learn actionable steps to mitigate it with SAP BTP best practices.

Code of Conduct

Please read the SAP Open Source Code of Conduct.

How to obtain support

Support for the content in this repository is available during the actual time of the online session for which this content has been designed. Otherwise, you may request support via the Issues tab.

License

Copyright (c) 2025 SAP SE or an SAP affiliate company. All rights reserved. This project is licensed under the Apache Software License, version 2.0 except as noted otherwise in the LICENSE file.

Apache-2.0, read

Details

Sources3
Added by handdiscovered herechecked
github.com/SAP-samples/teched2025-XP260tree, pushes, contributors, CIchecked
README.mdquoted, and what the entry declareschecked

Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.

Compatibility and provenance
discovered viaAdded by hand
first seen in the atlas
ecosystem and domaincap, security-and-compliance
Flavors1
Node.js
“This workshop is designed for developers working with the SAP Cloud Application Programming Model (CAP) and Node.js.” — SAP-samples/teched2025-XP260 — README, Overviewchecked
Contributors6

From the repository’s contributor list, .

History in the atlas1
  1. First seen.
For your agent
Ref
artifact:sap-samples-teched2025-xp260
JSON
/artifacts/sap-samples-teched2025-xp260.json
MCP
Connecting an agent