seb1n/dependency-scanning
Scan project dependencies for known vulnerabilities, generate software bills of materials, and enforce license compliance across the software supply chain.
npx skills add https://github.com/seb1n/awesome-ai-agent-skills --skill dependency-scanning
This skill enables the agent to analyze a project's direct and transitive dependencies for known security vulnerabilities, outdated packages, and license compliance issues. The agent parses manifest and lock files, queries vulnerability databases (NVD, GitHub Advisory, OSV), produces structured reports with CVE identifiers and remediation guidance, and can generate a Software Bill of Materials (SBOM) in standard formats.
package.json and package-lock.json (Node.js), requirements.txt and Pipfile.lock (Python), pom.xml or build.gradle (Java), go.sum (Go), or Gemfile.lock (Ruby). Detect monorepo structures with multiple manifests.Provide the agent with the path to a project directory or a specific manifest file. Optionally specify a license policy or target compliance standard. The agent will perform a full scan and deliver a prioritized vulnerability report.
Prompt example:
Scan the Node.js project in /app for dependency vulnerabilities. Generate a CycloneDX SBOM and flag any GPL-licensed transitive dependencies.
Command:
npm audit --json > audit-report.json
Vulnerability Report (excerpt):
| # | Severity | Package | Installed | Fixed In | CVE | Dependency Path |
|---|----------|---------|-----------|----------|-----|-----------------|
| 1 | Critical | jsonwebtoken | 8.5.1 | 9.0.0 | CVE-2022-23529 | direct |
| 2 | High | minimatch | 3.0.4 | 3.0.5 | CVE-2022-3517 | express > send > mime > minimatch |
| 3 | High | qs | 6.5.2 | 6.5.3 | CVE-2022-24999 | express > qs |
| 4 | Medium | semver | 5.7.1 | 5.7.2 | CVE-2022-25883 | nodemon > semver |
| 5 | Low | cookie | 0.4.1 | 0.4.2 | CVE-2024-47764 | express > cookie |
Auto-generated fix in package.json:
{
"dependencies": {
"jsonwebtoken": "^9.0.0",
"express": "^4.19.2"
},
"overrides": {
"minimatch": "3.0.5",
"semver": "5.7.2"
}
}
Command:
pip-audit -r requirements.txt --format json --output audit.json --fix --dry-run
Vulnerability Report (excerpt):
| # | Severity | Package | Installed | Fixed In | CVE | Description |
|---|----------|---------|-----------|----------|-----|-------------|
| 1 | Critical | cryptography | 38.0.0 | 41.0.6 | CVE-2023-49083 | NULL pointer dereference when loading PKCS7 certificates |
| 2 | High | requests | 2.28.0 | 2.31.0 | CVE-2023-32681 | Leaking Proxy-Authorization header to redirected hosts |
| 3 | High | Jinja2 | 3.1.1 | 3.1.3 | CVE-2024-22195 | Cross-site scripting via xmlattr filter |
| 4 | Medium | setuptools | 65.0.0 | 70.0.0 | CVE-2024-6345 | Remote code execution via download functions |
Auto-generated requirements.txt (fixed):
cryptography==41.0.6 # was 38.0.0 — fixes CVE-2023-49083
requests==2.31.0 # was 2.28.0 — fixes CVE-2023-32681
Jinja2==3.1.3 # was 3.1.1 — fixes CVE-2024-22195
setuptools>=70.0.0 # was 65.0.0 — fixes CVE-2024-6345
Flask==3.0.0
gunicorn==21.2.0
overrides or pip constraints can introduce runtime incompatibilities. Always run the test suite after applying automated fixes.Take seb1n/dependency-scanning from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.