| name | sap-dependency-security |
| description | SAP dependency security — MCP executable trust verification, supply-chain safeguards, cooldown policies for sensitive operations, lockfile hardening, npm/pip dependency audit, SAP security note tracking. Use when auditing project dependencies, verifying MCP server executables, or implementing supply-chain security policies for SAP tools.
|
| trigger | {"keywords":["dependency security SAP","MCP executable trust","npm audit SAP","pip audit","supply chain security","SAP security notes","lockfile hardening"],"intent":"User needs to audit, verify, or harden dependencies and executables in an SAP development environment."} |
SAP Dependency Security
Supply-chain security for SAP development tooling and MCP servers.
Prerequisites
npm and/or pip available in the project environment
sha256sum utility (standard on Linux/macOS)
- Access to SAP support portal for security notes (S-user)
- Project under version control (Git)
1. Verify MCP Executable Signatures
sha256sum aibap-mcp > checksum.txt
diff <(echo "<published-sha256> aibap-mcp") checksum.txt
./aibap-mcp --dry-run --read-only 2>&1 | tee first-run.log
grep -iE 'http|write|create|socket' first-run.log
2. Configure Cooldown Policies for Sensitive Operations
| Operation | Cooldown | Reason |
|---|
| SAPWrite | 5 seconds | Prevent bulk code changes |
| Transport release | 30 minutes | Production safety |
| SAP system delete | 24 hours | Irreversible |
| User creation | 1 hour | IAM audit trail |
| BAPI_POST_DOCUMENT | 10 seconds | Financial posting safety |
Configure in your MCP server settings or Hermes agent config file.
3. Run npm Dependency Audit
npm audit
npm audit fix
npm audit --audit-level=high
4. Run pip Dependency Audit
pip install pip-audit
pip-audit
pip-audit -r requirements.txt
5. Check SAP Security Notes
curl "https://api.sap.com/v1/security/notes?search=nodejs"
6. Harden Lockfiles
npm ci
pip install -r requirements.txt --require-hashes
pip hash requests==2.31.0
7. Enforce in CI/CD
name: Dependency Security
on: [pull_request]
jobs:
audit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm ci
- run: npm audit --audit-level=high
- run: pip install pip-audit && pip-audit
- name: Block merge on failure
if: ${{ failure() }}
run: exit 1
Supply-Chain Checklist
Pitfalls
- Cause: MCP server runs with same OS privileges as the agent → Solution: Sandbox untrusted MCPs in a container or restricted user account; never run unverified MCPs as root.
- Cause:
npm audit fix introduces breaking changes → Solution: Review the diff after npm audit fix --dry-run before applying; pin major versions with package.json ranges.
- Cause:
pip-audit misses SAP-specific CVEs → Solution: Standard tools don't know SAP security notes; check the SAP support portal separately for component-specific patches.
- Cause:
npm install (not npm ci) silently updates lockfile → Solution: Always use npm ci in CI; it installs exact versions and fails if lockfile is out of sync.
- Cause:
--require-hashes fails because hashes are missing → Solution: Run pip hash <package>==<version> for every dependency and append the hash line to requirements.txt.
- Cause: HSECNOTE notes auto-assigned by SAP are missed → Solution: Subscribe to SAP security note notifications for your installed components via the support portal.
Verification
sha256sum aibap-mcp
npm audit --audit-level=high && echo "npm audit PASS" || echo "npm audit FAIL"
pip-audit && echo "pip audit PASS" || echo "pip audit FAIL"
npm ci --dry-run && echo "Lockfile OK" || echo "Lockfile out of sync"
test -f .github/workflows/security-check.yml && echo "CI check exists" || echo "MISSING CI check"