AI Bom
cdxgen/cdxgen
Generates AI-BOM, MCP inventory, AI skill inventory, and AI authorship provenance documents with cdxgen, cataloging models, inference services, Hugging Face purls, MCP servers and their…
SAP dependency security and MCP executable trust policy with secure upgrades, cooldowns, staged rollout, and supply-chain protection.
The automated check flagged lines worth reading first. See the safety section below.
$ npx skills add secondsky/sap-skills --skill sap-dependency-security -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install secondsky/sap-skills sap-dependency-security --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/secondsky/sap-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/sap-dependency-security/skills/sap-dependency-security .claude/skills/sap-dependency-security && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "sap-dependency-security" agent skill from https://github.com/secondsky/sap-skills/tree/main/plugins/sap-dependency-security/skills/sap-dependency-security into .claude/skills/sap-dependency-security/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sap-dependency-security", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/secondsky/sap-skills/tree/main/plugins/sap-dependency-security/skills/sap-dependency-securityType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add secondsky/sap-skills --skill sap-dependency-security -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install secondsky/sap-skills sap-dependency-security --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/secondsky/sap-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/sap-dependency-security/skills/sap-dependency-security .agents/skills/sap-dependency-security && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "sap-dependency-security" agent skill from https://github.com/secondsky/sap-skills/tree/main/plugins/sap-dependency-security/skills/sap-dependency-security into .agents/skills/sap-dependency-security/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sap-dependency-security", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add secondsky/sap-skills --skill sap-dependency-security -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install secondsky/sap-skills sap-dependency-security --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/secondsky/sap-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/sap-dependency-security/skills/sap-dependency-security .cursor/skills/sap-dependency-security && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "sap-dependency-security" agent skill from https://github.com/secondsky/sap-skills/tree/main/plugins/sap-dependency-security/skills/sap-dependency-security into .cursor/skills/sap-dependency-security/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sap-dependency-security", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/secondsky/sap-skills.git --path plugins/sap-dependency-security/skills/sap-dependency-security--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add secondsky/sap-skills --skill sap-dependency-security -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install secondsky/sap-skills sap-dependency-security --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/secondsky/sap-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/sap-dependency-security/skills/sap-dependency-security .gemini/skills/sap-dependency-security && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "sap-dependency-security" agent skill from https://github.com/secondsky/sap-skills/tree/main/plugins/sap-dependency-security/skills/sap-dependency-security into .gemini/skills/sap-dependency-security/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sap-dependency-security", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install secondsky/sap-skills sap-dependency-securityInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add secondsky/sap-skills --skill sap-dependency-security -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/secondsky/sap-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/sap-dependency-security/skills/sap-dependency-security .github/skills/sap-dependency-security && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "sap-dependency-security" agent skill from https://github.com/secondsky/sap-skills/tree/main/plugins/sap-dependency-security/skills/sap-dependency-security into .github/skills/sap-dependency-security/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sap-dependency-security", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add secondsky/sap-skills --skill sap-dependency-security -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install secondsky/sap-skills sap-dependency-security --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/secondsky/sap-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/sap-dependency-security/skills/sap-dependency-security .opencode/skills/sap-dependency-security && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "sap-dependency-security" agent skill from https://github.com/secondsky/sap-skills/tree/main/plugins/sap-dependency-security/skills/sap-dependency-security into .opencode/skills/sap-dependency-security/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sap-dependency-security", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
sap-dependency-securitySAP dependency security and MCP executable trust policy with secure upgrades, cooldowns, staged rollout, and supply-chain protection.
Sap Dependency Security is an agent skill from secondsky/sap-skills. SAP dependency security and MCP executable trust policy with secure upgrades, cooldowns, staged rollout, and supply-chain protection. Use when upgrading deps, configuring security policies, preventing supply chain attacks, pinning SAP MCP servers, or reviewing SAP CAP/UI5/Fiori/HANA/Datasphere/SAC/BTP/ABAP dependency workflows.
Its SKILL.md is about 5.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 34 other files, including scripts and reference files (for example `README.md`, `agents/openai.yaml` and `references/compatibility-matrix.md`).
It sits in Agent Workflows, covering Supply chain security and MCP servers. It works with Model Context Protocol and SAP. The repository describes itself as: Production-ready plugins for SAP development with AI coding assistants — BTP, CAP, Fiori, ABAP, HANA, Analytics Cloud, Datasphere, and more. The licence is GPL-3.0.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 652a861. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Shell, from the files we listed), which the agent can run.
Shell commands in SKILL.md call:
npmbungityarnbunxnpm-check-updatespnpmdenoFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npm, git, yarn, bunx and pnpm, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Sap Dependency Security loads about 5.9k tokens when it runs, and up to ~22k if it reads all its reference files. Until then it costs about 88 tokens; SKILL.md has 1,882 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found patterns that need a careful read before installing.
| npm | `.npmrc` |**npm** (`.npmrc`):d CLI or Infisical instead of plaintext `.env` files| `npmrc-security.tmpl` | Secure `.npmrc` with scripts disabled + cooldown |Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from secondsky/sap-skills at commit 652a861, republished under its GPL-3.0 licence (© secondsky). 1,882 words, ~5,878 tokens.
.claude/skills/sap-dependency-security/SKILL.md (or your agent's skills folder). This skill also uses 30 other files; get the full folder from GitHub.Manage SAP dependency security and upgrades with supply chain protection, compatibility analysis, staged rollout, and comprehensive testing across all major package managers.
.mcp.json| Issue | Recommended response |
|---|---|
Floating MCP package or @latest in .mcp.json | Replace with an exact version or approved source commit and run npm run validate:mcp-security. |
| Lockfile changed unexpectedly | Review package manager config, block lifecycle scripts, and regenerate only after dependency intent is clear. |
| Dependency is too new for cooldown policy | Hold the upgrade unless a documented security exception justifies immediate adoption. |
| Tenant-connected tool changed source | Verify the source URL, commit, and build steps before using credentials. |
Interactive — Walk through setup questions to generate tailored config. Use for fresh setup.
Default — Apply recommended defaults immediately: 7-day cooldown, block all scripts, frozen-lockfile, lockfile-lint, Dependabot with cooldown. Customization optional.
SAP Development Mode — Use a stricter SAP posture: 14-day cooldown, exact pins for MCP servers and executable tooling, no floating @latest, source commit pins for local MCP servers, and manual review for tenant-connected tools.
Use SAP Development Mode when dependency work touches SAP projects, SAP BTP deployment tooling, SAP SDKs, or any MCP server shipped by this repository.
Core rules:
.mcp.json, use exact npm pins such as @ui5/mcp-server@0.2.11, never @latest or bare package names.secondsky/sap_analytics_cloud_mcp fork and must record commit 2020235505d98111c2889598ab2217c1619b6943.npm run validate:mcp-security after any .mcp.json or SAP MCP inventory change.Load references/sap-dependency-risk-matrix.md for SAP stack coverage and references/sap-mcp-security.md for MCP update workflow and SAC source-install policy. Use references/sap-mcp-inventory.json as the machine-readable approved MCP package/source list.
When the user wants tailored configuration, walk through these decisions. Skip this section entirely if using default mode.
Always ask these 3 questions before generating any config:
1. Package Manager
"Which package manager does this project use?"
| Answer | Generates |
|---|---|
| npm | .npmrc |
| Bun | bunfig.toml |
| pnpm | pnpm-workspace.yaml |
| Yarn | .yarnrc.yml |
| Deno | deno.json config |
2. Cooldown Period
"How many days should newly published packages age before install? This prevents supply chain attacks where malicious packages are discovered and unpublished within days."
| Option | Days | Use Case |
|---|---|---|
| Aggressive | 3 | Catches most typosquatting |
| Recommended | 7 | Good balance for most projects |
| Conservative | 14 | Critical/production systems |
| Paranoid | 21 | Matches Snyk's built-in default |
| Custom | N | User specifies |
3. Post-Install Script Policy
"How should lifecycle scripts (postinstall, preinstall) be handled? These are the #1 attack vector for supply chain attacks."
| Option | Behavior |
|---|---|
| Block all (recommended) | --ignore-scripts + allow-git=none |
| Allowlist | Block by default, allow specific trusted packages |
| Review only | Warn but don't block |
"Which of these security features would you like to configure? Select any that apply."
4. CI/CD Automation Tool
| Answer | Generates |
|---|---|
| Dependabot | .github/dependabot.yml with cooldown |
| Renovate | renovate.json with minimumReleaseAge |
| Snyk | No config needed (21-day cooldown built-in) |
| None | Skip |
5. Automerge Policy
| Option | Behavior |
|---|---|
| None | All updates require manual review |
| Minor+Patch only | Auto-merge safe updates, review majors |
| All with approval | Auto-merge after team approval |
6. Update Schedule
| Option | Config Value |
|---|---|
| Daily | "daily" |
| Weekly (default) | "weekly" |
| Biweekly | "biweekly" |
| Monthly | "monthly" |
7. Install-Time Security Tooling
"Which security tools should protect dependency installation?"
| Option | Free? | What It Does |
|---|---|---|
| socket npm wrapper | Yes (beta) | Wraps npm/npx, blocks malicious packages before install. Run socket wrapper on to enable system-wide. |
| npq | Yes | Pre-install auditor (CVE, typosquat, age, provenance checks) |
| Socket Firewall (sfw) | No | Real-time deep analysis, blocks malicious packages |
| socket npm + npq | Yes | Both free tools combined |
| None | — | Skip |
Load references/socket-cli-guide.md for full Socket CLI setup including authentication and free vs authenticated features.
8. Lockfile Validation
| Option | Behavior |
|---|---|
| Yes (recommended) | Adds lockfile-lint + CI script |
| No | Skip |
"Would you like to configure any advanced options?"
9. Dev Containers — Generate hardened .devcontainer/devcontainer.json (Yes/No)
10. Secrets Manager — 1Password CLI / Infisical / None
11. pnpm Trust Policy — Enable trustPolicy: no-downgrade (pnpm 10.21+ only, Yes/No)
12. Cooldown Exclusions — Package names that bypass cooldown (e.g., @types/react, typescript, esbuild)
npm installnpm ci, --frozen-lockfile)lockfile-lint to detect injectionnpq or Socket CLI to check packages before installingnpm update or npm-check-updates -u without reviewsocket scan to detect supply chain issues beyond CVEsNewly published packages may contain malicious code discovered within hours. Configure a cooldown period to delay installation.
npm (.npmrc):
min-release-age=7Bun (bunfig.toml):
[install]
minimumReleaseAge = 604800 # 7 days in seconds
minimumReleaseAgeExcludes = ["@types/bun", "typescript"]pnpm (pnpm-workspace.yaml):
minimumReleaseAge: 10080 # 7 days in minutes
minimumReleaseAgeExclude:
- '@types/react'
- typescriptYarn (.yarnrc.yml):
npmMinimalAgeGate: "7d"
npmPreapprovedPackages:
- "@types/react"
- "typescript"Load references/cooldown-config-guide.md for detailed per-PM configuration, CI tool integration, and exclusion patterns.
Use templates/<pm>-security.tmpl for copy-paste ready config files.
Post-install scripts are the most common supply chain attack vector (Shai-Hulud, Nx, event-stream incidents).
npm:
npm config set ignore-scripts true
npm config set allow-git noneBun: Disabled by default. Allow specific packages in package.json:
{ "trustedDependencies": ["esbuild", "sharp"] }pnpm (10.0+): Disabled by default. Allow specific packages in pnpm-workspace.yaml:
allowBuilds:
esbuild: true
strictDepBuilds: true # Hard error on unreviewed scriptsLoad references/package-manager-security.md for full per-PM hardening including pnpm trustPolicy, blockExoticSubdeps, and @lavamoat/allow-scripts.
Always use frozen install commands in CI to ensure reproducible builds:
| Package Manager | Command | What It Does |
|---|---|---|
| npm | npm ci | Deletes node_modules, installs exact lockfile versions |
| Bun | bun install --frozen-lockfile | Fails if lockfile is out of sync |
| pnpm | pnpm install --frozen-lockfile | Fails if lockfile is out of sync |
| Yarn | yarn install --immutable --immutable-cache | Validates lockfile and cache |
| Deno | deno install --frozen | Frozen installation |
Commit all lockfiles to version control: package-lock.json, bun.lock, pnpm-lock.yaml, yarn.lock, deno.lock.
Install and configure lockfile-lint to detect lockfile injection attacks:
npm install --save-dev lockfile-lint{
"scripts": {
"lint:lockfile": "lockfile-lint --path package-lock.json --type npm --allowed-hosts npm --validate-https",
"preinstall": "npm run lint:lockfile"
}
}Note: lockfile-lint does not currently support Bun's bun.lock / bun.lockb formats.
npm install -g npq
npq install <package> # Audit before installing
npq install <package> --dry-run # Audit without installing
# Shell alias for seamless use
alias npm='npq-hero'
# Use with other PMs
NPQ_PKG_MGR=pnpm npq install <package>
NPQ_PKG_MGR=bun npq install <package>npm install -g sfw
sfw npm install <package> # Blocks malicious packages
sfw pnpm add <package>
sfw yarn add <package>Load references/supply-chain-security.md for full comparison of npq vs sfw and what each validates.
Socket CLI provides proactive supply chain security beyond basic vulnerability scanning — covering malware detection, typosquatting, protestware, install script risks, and license compliance.
1. PRE-UPGRADE: socket scan create --report → establish baseline
2. EVALUATE: socket package score npm <pkg>@<ver> → assess target package safety
3. SAFE INSTALL: socket npm install <pkg> → block malicious packages
4. POST-UPGRADE: socket scan create --report → verify no new alerts
5. DIFF: socket scan diff <before> <after> → see exactly what changed
6. FIX: socket fix --minimum-release-age 7d → auto-fix any new CVEs
7. OPTIMIZE: socket optimize → apply security overrides# Install
npm install -g socket
# Authenticate (required for scans, fixes, package scores)
socket login
# Check a package before upgrading
socket package score npm <package>
# Scan your whole project
socket scan create --report
# Auto-fix CVEs (complements Dependabot/Renovate)
socket fix --minimum-release-age 7d
# Gate CI on security policy
socket ci
# Safe npm wrapper (free, no auth needed)
socket wrapper onLoad references/socket-cli-guide.md for comprehensive command reference, CI workflow templates, alert categories, and free vs authenticated feature matrix.
# Audit for vulnerabilities
bun audit # Bun
npm audit # npm
yarn audit # Yarn
# Socket: deep security assessment (CVEs + supply chain + license)
socket package score npm <package>
socket scan create --report
# Check for outdated packages
bun outdated
npm outdated
# Interactive upgrade (safe — review each)
bunx npm-check-updates --interactive
# Analyze dependency tree
npm ls <package-name>
yarn why <package-name>Upgrade one dependency at a time with testing between each:
# 1. Create feature branch
git checkout -b upgrade/<package>-<version>
# 2. (Optional) Baseline scan — capture current state
socket scan create --report
# 3. Evaluate target package before upgrading
socket package score npm <package>@<version>
# 4. Upgrade single package
bun add <package>@<version>
# 5. Test immediately
bun test && bunx tsc --noEmit && bun run build
# 6. (Optional) Post-upgrade scan — verify no new alerts
socket scan create --report
# 7. Commit and continue
git add -A && git commit -m "chore: upgrade <package> to <version>"Load references/staged-upgrades.md for codemod automation, custom migration scripts, and peer dependency handling.
Load references/compatibility-matrix.md for version compatibility tables (React 18/19, Next.js 13-15, TypeScript, Tailwind 3/4).
Configure CI/CD tools to respect cooldown periods:
.github/dependabot.yml)version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
cooldown:
default-days: 7renovate.json){
"extends": ["config:base"],
"minimumReleaseAge": "7 days",
"packageRules": [
{
"matchUpdateTypes": ["minor", "patch"],
"automerge": true
},
{
"matchUpdateTypes": ["major"],
"automerge": false,
"minimumReleaseAge": "14 days"
}
]
}Snyk includes a built-in 21-day cooldown for upgrade PRs. No configuration needed.
Socket Fix automatically resolves CVEs with intelligent upgrade planning. Runs alongside other automation tools — it focuses on CVE remediation specifically:
# Fix all fixable CVEs with cooldown alignment
socket fix --minimum-release-age 7d
# Conservative: no major version bumps
socket fix --minimum-release-age 7d --no-major-updates
# Target specific CVEs
socket fix --id GHSA-hhq3-ff78-jv3g --minimum-release-age 7d
# Preview without applying
socket fix --no-apply-fixes --minimum-release-age 7dFor CI autopilot mode (auto-creates and auto-merges fix PRs), use templates/socket-fix-ci.tmpl.
Load references/socket-cli-guide.md for full socket fix options including --autopilot, --range-style, and --pr-limit.
Use templates/dependabot-security.tmpl or templates/renovate-security.tmpl for complete config files.
For package maintainers:
# Enable 2FA
npm profile enable-2fa auth-and-writes
# Publish with provenance (cryptographic build proof)
npm publish --provenance
# Trusted publishing via OIDC (eliminates long-lived tokens)
# Configure on npmjs.com, then:
# In GitHub Actions: permissions: id-token: writeLoad references/supply-chain-security.md for full publishing security guide including OIDC setup and dependency tree reduction.
Isolate dependency execution from the host system:
.env filesUse templates/devcontainer-security.tmpl for a hardened dev container config.
Load references/secrets-and-containers.md for dev container setup, secrets management, and dependency reduction patterns.
Run tests at every level after each upgrade:
# 1. Static analysis (fastest)
bunx tsc --noEmit && bun run lint
# 2. Unit tests
bun test
# 3. Build check
bun run build
# 4. Integration / E2E (after major upgrades)
bun run test:e2eLoad references/testing-strategy.md for full testing pyramid, CI integration, and bundle analysis.
#!/bin/bash
git stash
git checkout -b upgrade/<package>
bun add <package>@latest
if bun test && bun run build; then
git add package.json bun.lock
git commit -m "chore: upgrade <package>"
else
echo "Upgrade failed, rolling back"
git checkout main
git branch -D upgrade/<package>
bun install
fiPre-Upgrade:
- [ ] Review current dependency versions
- [ ] Read changelogs for breaking changes
- [ ] Create feature branch
- [ ] Tag current state (git tag pre-upgrade)
- [ ] Run full test suite (baseline)
- [ ] Verify cooldown period is configured
- [ ] For SAP MCP changes, verify exact package/source pins against `references/sap-mcp-inventory.json`
Security Pre-Checks:
- [ ] Post-install scripts are disabled
- [ ] Lockfile validation is active
- [ ] Install auditing tools configured (if applicable)
- [ ] CI uses frozen-lockfile install
- [ ] Run `socket scan create --report` for baseline (if Socket available)
During Upgrade:
- [ ] Upgrade one dependency at a time
- [ ] Check target package: `socket package score npm <pkg>` (if Socket available)
- [ ] Respect cooldown period (don't force latest)
- [ ] Update peer dependencies
- [ ] Fix TypeScript errors
- [ ] Run test suite after each upgrade
- [ ] Check bundle size impact
Post-Upgrade:
- [ ] Post-upgrade scan: `socket scan diff` to verify no new alerts (if Socket available)
- [ ] Consider `socket fix --minimum-release-age 7d` for any new CVEs
- [ ] Full regression testing
- [ ] Performance testing
- [ ] Update documentation
- [ ] Deploy to staging
- [ ] Monitor for errors
- [ ] Deploy to productionnpm update or npm-check-updates -u without review@latest, bare npx packages, or unpinned local source pathsLoad these reference files when the user needs detailed information beyond the quick-reference in SKILL.md:
| Load This File | When |
|---|---|
references/cooldown-config-guide.md | Configuring cooldown for a specific PM, CI tool integration, or exclusion patterns |
references/package-manager-security.md | Full per-PM hardening guide including pnpm trust policy, blockExoticSubdeps, cross-PM cheat sheet |
references/supply-chain-security.md | Understanding attack vectors, incident history, npq vs sfw vs Socket CLI comparison, publisher security (2FA, provenance, OIDC) |
references/secrets-and-containers.md | Setting up dev containers, secrets management with 1Password/Infisical |
references/socket-cli-guide.md | Using Socket CLI for scans, fixes, package scoring, CI integration, wrapper mode, alert categories |
references/compatibility-matrix.md | Checking version compatibility for React, Next.js, TypeScript, Tailwind upgrades |
references/staged-upgrades.md | Codemod automation, custom migration scripts, peer dependency handling, workspace upgrades |
references/testing-strategy.md | Full testing pyramid, CI integration, bundle analysis, performance testing |
references/sap-dependency-risk-matrix.md | SAP stack-specific dependency review across Node, Java, Python, containers, BTP/CF/mbt, ABAP/gCTS, and MCP |
references/sap-mcp-security.md | SAP MCP exact-pin policy, SAC source-install policy, and MCP update workflow |
references/sap-mcp-inventory.json | Machine-readable approved SAP MCP package/source pins used by npm run validate:mcp-security |
Ready-to-use config files in templates/:
| Template | Purpose |
|---|---|
npmrc-security.tmpl | Secure .npmrc with scripts disabled + cooldown |
bunfig-security.tmpl | Secure bunfig.toml with cooldown + exclusions |
pnpm-workspace-security.tmpl | Secure pnpm-workspace.yaml with cooldown, allowBuilds, trustPolicy |
yarnrc-security.tmpl | Secure .yarnrc.yml with age gate + preapproved packages |
dependabot-security.tmpl | Dependabot config with 7-day cooldown |
renovate-security.tmpl | Renovate config with minimumReleaseAge + automerge rules |
devcontainer-security.tmpl | Hardened dev container with security options |
socket-fix-ci.tmpl | GitHub Actions: Socket Fix autopilot with cooldown-aligned CVE remediation |
socket-scan-ci.tmpl | GitHub Actions: Socket CI security gate for every push/PR |
sap-mcp-config.tmpl | Review-ready SAP MCP config candidate with exact-pin checklist |
maven-security.tmpl | Maven checksum/enforcer/dependency scan fragment for SAP Java projects |
gradle-security.tmpl | Gradle dependency locking and verification fragment |
python-security.tmpl | Python lock/audit workflow for SAP AI SDK, HANA ML, and data tooling |
container-trivy.tmpl | Container image scan workflow with Trivy and digest-pin reminders |
btp-cf-mbt-review.tmpl | BTP, Cloud Foundry, and MBT dependency/deployment review checklist |
abap-gcts-review.tmpl | ABAP, gCTS, and transport dependency review checklist |
© secondsky, GPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 30 other files (scripts, references) in plugins/sap-dependency-security/skills/sap-dependency-security of secondsky/sap-skills.
Open the folder on GitHubat commit 652a861
Sap Dependency Security next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Sap Dependency Security this skillsecondsky/sap-skills | 462 | — | ~5.9k | Automated safety check: Warn | GPL-3.0 | |
| AI Bomcdxgen/cdxgen | 1.1k | — | ~2.5k | Automated safety check: Pass | Apache-2.0 | |
| Plugin Scanneriflytek/skillhub | 5.2k | 2 repos | ~1.1k | Automated safety check: Notes | Apache-2.0 | |
| MCP Server WorkflowsSAP-samples/hana-developer-cli-tool-example | 114 | — | ~310 | Automated safety check: Pass | Apache-2.0 | |
| Securing AI Systemstrilwu/secskills | 156 | — | ~2.9k | Automated safety check: Pass | MIT | |
| Agentic Tool Integrationsamugit83/redamon | 3k | — | ~1.3k | Automated safety check: Pass | MIT |
cdxgen/cdxgen
Generates AI-BOM, MCP inventory, AI skill inventory, and AI authorship provenance documents with cdxgen, cataloging models, inference services, Hugging Face purls, MCP servers and their…
iflytek/skillhub
Scan AI agent skills, plugins, MCP servers, and agent tooling for prompt injection, unsafe commands, secret exposure, and supply-chain risks before installing or trusting them.
SAP-samples/hana-developer-cli-tool-example
Create or update MCP server tools, JSON-RPC handlers, and registrations.
trilwu/secskills
Assess and harden LLM applications and agentic systems against prompt injection, tool misuse, excessive agency, memory poisoning, RAG data leakage, and model supply-chain risk, mapped to the OWASP…
samugit83/redamon
Wiring a new tool the AI agent can call (not the recon pipeline): the tool registry, the phase map, the hardcoded dispatch chokepoint, and the duplicated execution paths that make a tool work in…
affaan-m/ECC
Scan your Claude Code configuration (.claude/ directory) for security vulnerabilities, misconfigurations, and injection risks using AgentShield.
secondsky/sap-skills
SAP-RPT-1-OSS local tabular prediction workflows for FI/CO prototype datasets.
secondsky/sap-skills
Secure dependency upgrades with supply chain protection, cooldowns, and staged rollout.
secondsky/sap-skills
Comprehensive ABAP development skill for SAP systems. An agent skill from secondsky/sap-skills.
secondsky/sap-skills
Comprehensive SAP ABAP CDS (Core Data Services) reference for data modeling, view development, and semantic enrichment.
secondsky/sap-skills
Guides development with SAP AI Core and SAP AI Launchpad for enterprise AI/ML workloads on SAP BTP.
secondsky/sap-skills
This skill provides comprehensive guidance for documenting SAP APIs following the SAP API Style Guide standards.
Works with
Categories
SAP dependency security and MCP executable trust policy with secure upgrades, cooldowns, staged rollout, and supply-chain protection. Sap Dependency Security is an agent skill from secondsky/sap-skills. SAP dependency security and MCP executable trust policy with secure upgrades, cooldowns, staged rollout, and supply-chain protection.
Sap Dependency Security fits situations like: configuring security policies; preventing supply chain attacks; pinning SAP MCP servers; reviewing SAP CAP/UI5/Fiori/HANA/Datasphere/SAC/BTP/ABAP dependency workflows.
Run `npx skills add secondsky/sap-skills --skill sap-dependency-security -a claude-code`. Or copy the skill folder (plugins/sap-dependency-security/skills/sap-dependency-security in secondsky/sap-skills) into .claude/skills/sap-dependency-security in your project. Claude Code loads it when a task matches its description.
Run `npx skills add secondsky/sap-skills --skill sap-dependency-security -a codex`. Or copy the skill folder (plugins/sap-dependency-security/skills/sap-dependency-security in secondsky/sap-skills) into .agents/skills/sap-dependency-security in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add secondsky/sap-skills --skill sap-dependency-security -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/sap-dependency-security, .gemini/skills/sap-dependency-security, .github/skills/sap-dependency-security and .opencode/skills/sap-dependency-security in your project.
Going by SKILL.md and its folder, Sap Dependency Security needs a shell for the scripts in its folder and the command-line tools its instructions call (npm, bun, git, yarn, bunx and npm-check-updates). Our summary lists: Node.js; A Bash shell.
SKILL.md contains no URLs. Its commands use npm and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md flagged 3 warning(s): mentions a credentials file (ssh keys, cloud or package-manager tokens). Read the flagged lines before installing; the check is not a guarantee either way. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Sap Dependency Security is published under the GPL-3.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.9k tokens (SKILL.md is roughly 24k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 16k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Sap Dependency Security: AI Bom (cdxgen/cdxgen, 1.1k stars), Plugin Scanner (iflytek/skillhub, 5.2k stars), MCP Server Workflows (SAP-samples/hana-developer-cli-tool-example, 114 stars) and Securing AI Systems (trilwu/secskills, 156 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
secondsky (a GitHub user) maintains it in secondsky/sap-skills, which has 462 GitHub stars. The repository holds 41 skills in this directory. The repository was last updated on October 5, 2026.
Source: secondsky/sap-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.