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.jsNode.jsA cross-platform JavaScript runtime that servers, command line tools and scripts written in JavaScript are run with. For the things here, the prerequisite a repository names when its build is a set of npm scripts. 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 GitHubGitHubA hosted git service: repositories, pull requests with reviews, and branch rulesets that decide what may reach a branch. Things here that push objects out of an SAP system, or keep a review record outside it, call its API and open their pull requests on it.. 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
Where it sits
Who is behind it
In the atlas: maintains 222@SAP-samplesmaintainerAbdelkaderDeContributes to this
In the atlas: contributes to 2@AbdelkaderDeAjay SorengContributes to this
In the atlas: contributes to 36@ajaysorengchcohrsContributes to this
In the atlas: contributes to 5@chcohrsjadolfContributes to this
In the atlas: contributes to 5@jadolfAbdelkader AbdelazizContributes to this
In the atlas: contributes to 2@Kaderdemartina-sapContributes to this
In the atlas: contributes to 1@martina-sap6 contributors
What it declares
Every artifact
- Type
- Sample
- Origin
- By SAP
- Use as
- A reference
As a sample
- Form
- Workshop or CodeJam material
Connections
Recording who touched personal or sensitive data, for auditors
Deciding who may read or change what, down to instance level
Download
README
quoted from SAP-samples/teched2025-XP260 under Apache-2.0, readXP260 - Mastering Secure Application Development in SAP BTP: A Practical Workshop
📝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
🎯 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.
- Getting Started
- Exercise 1 - Broken Access Control
- Exercise 2 - SQL Injection
- Exercise 3 - Security Logging and Monitoring Failures
- Additional Resources
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.
Details
Sources
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
Flavors
“This workshop is designed for developers working with the SAP Cloud Application Programming Model (CAP) and Node.js.” — SAP-samples/teched2025-XP260 — README, Overview
History in the atlas
- First seen.
For your agent
- Ref
artifact:sap-samples-teched2025-xp260- JSON
- /artifacts/sap-samples-teched2025-xp260.json
- MCP
- Connecting an agent