{"ref":"artifact:sap-samples-btp-secure-development","page":"/artifacts/sap-samples-btp-secure-development","json":"/artifacts/sap-samples-btp-secure-development.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"sap-samples-btp-secure-development","name":"SAP-samples/btp-secure-development","artifact_type":"sample","ecosystem":"cap","flavors":[{"key":"node","source":{"url":"https://github.com/SAP-samples/btp-secure-development","title":"SAP-samples/btp-secure-development — README","checked":"2026-09-13","quote":"This workshop is designed for developers working with the SAP Cloud Application Programming Model (CAP) and Node.js."}}],"use_as":"starting-point","domain":"security-and-compliance","origin_ring":"sap-official","description":{"one_line":"A hands-on OWASP Top 10 workshop that exploits and then fixes security flaws in a CAP Node.js application, covering broken access control, SQL injection and audit logging for sensitive data.","short":"OWASP Top 10 workshop exploiting and fixing flaws in a CAP Node.js app","what_it_solves":"Each exercise follows the same structure: overview, vulnerable code, exploitation, remediation, then verification, applied to one vulnerability from the OWASP Top 10 list in a CAP Node.js application. The exercises published so far cover broken access control (horizontal and vertical privilege escalation), SQL injection, and audit logging for sensitive-data access in local development, fixed using SAP BTP's built-in security services."},"links":{"repo":"https://github.com/SAP-samples/btp-secure-development"},"type_properties":{"form":{"value":"workshop","sources":[{"url":"https://github.com/SAP-samples/btp-secure-development","title":"SAP-samples/btp-secure-development — README","checked":"2026-10-18","quote":"This repository contains the material for the workshop called \"Developing Secure Solutions With SAP BTP: Proven Techniques For The Real World\"."}]}},"identity":{"license":"Apache-2.0"},"source_available":true,"demonstrates":["capability:authorization","capability:audit-logging"],"maintainers":["actor:sap-samples"],"drafted_with_ai":true,"provenance":{"discovered_via":[{"source":"source:curator"}],"first_seen":"2026-09-13"},"contributors":["actor:abdelkaderde","actor:chcohrs","actor:jadolf","actor:kaderde"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"good","evidence":"6 contributors, org-owned"},{"label":"Repository","tier":"good","evidence":"pushed 2026-09, not archived"}],"compatibility":[{"label":"Declared for","tier":"fair","evidence":"nothing declared"},{"label":"Survived majors","tier":"unknown","evidence":"no release dates"},{"label":"Maintainer's CI","tier":"fair","evidence":"no CI configured"}],"practice":[{"label":"Tests","tier":"good","evidence":"17 test files"},{"label":"Docs","tier":"good","evidence":"README 6 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":4,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-26","npm":"not published under this name","stars":4,"forks":3,"open_issues":2,"archived":false,"pushed_at":"2026-09-10","license_spdx":"Apache-2.0","org_owned":true,"default_branch":"main","created_at":"2026-01-29T09:38:47Z","open_prs":2,"tree_truncated":false,"test_files":17,"workflows":0,"other_ci":false,"readme_bytes":6029,"docs_files":0,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2026-01-29","last_commit":"2026-09-10","commits":326,"contributors":6,"readme_path":"README.md","readme_sha":"a33ccdae586fa0b0bf02dbce95b451e154eee92a","repo_read":"2026-10-26"},"release_notes":{"license":"Apache-2.0","quotable":true,"source":{"kind":"github-releases","url":"https://github.com/SAP-samples/btp-secure-development/releases"},"format":"github-releases","releases":[{"version":"1.0.1","date":"2026-02-09","date_source":"github","heading":"Secure Incident Management - Exercise 0 Starter Kit","url":"https://github.com/SAP-samples/btp-secure-development/releases/tag/v1.0.1","sections":[],"hash":"d0ab8ac9ef5984dc"}],"crawled_at":"2026-10-25"},"edges":{"maintainers":[{"ref":"actor:sap-samples","name":"SAP Samples","json":"/actors/sap-samples.json"}],"contributors":[{"ref":"actor:kaderde","name":"Abdelkader Abdelaziz","json":"/actors/kaderde.json"},{"ref":"actor:abdelkaderde","name":"AbdelkaderDe","json":"/actors/abdelkaderde.json"},{"ref":"actor:chcohrs","name":"chcohrs","json":"/actors/chcohrs.json"},{"ref":"actor:jadolf","name":"jadolf","json":"/actors/jadolf.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}