@guardbee/mcp-dependency-auditor
🇬🇧 English | 🇹🇷 Türkçe | 🇨🇳 中文 | 🇯🇵 日本語 | 🇰🇷 한국어 | 🇧🇷 Português | 🇪🇸 Español | 🇩🇪 Deutsch
[npm version]
[npm downloads]
[License: MIT]
An MCP server that audits npm and pip manifests against the OSV database for known CVEs. A single-package lookup also covers PyPI, crates.io, Maven, Go, and RubyGems.
Telemetry is off by default. With GUARDBEE_TELEMETRY=1 it sends the server, tool, success, duration and short parameter values such as a file path; longer strings and fields like content, token or password are replaced with a placeholder. See @guardbee/mcp-telemetry.
Features
- OSV API Integration — Google's open-source vulnerability database (free, no authentication required)
- npm Support — reads exact versions from
package-lock.json / npm-shrinkwrap.json (v1/v2/v3), pnpm-lock.yaml (v5/v6/v9), yarn.lock (v1 and Berry) and bun.lock, falling back to package.json ranges. Transitive packages are included, and dev-only packages are told apart even when the lockfile does not mark them (pnpm v9, yarn, bun)
- Rust, Go, Ruby, PHP —
Cargo.lock (dev crates from Cargo.toml), go.mod (// indirect and replace aware), Gemfile.lock (platform builds merged, dev groups from the Gemfile) and composer.lock (packages-dev), audited by audit and the audit_directory tool
- pip Support — reads exact versions from
uv.lock, poetry.lock and Pipfile.lock (dev groups separated), falling back to requirements.txt, requirements/base.txt, requirements/prod.txt, and pyproject.toml
- Malicious Package Detection — known-malicious releases (OpenSSF
MAL-* entries and advisories classified CWE-506, e.g. the hijacked [email protected] / [email protected] of September 2025) are reported first as critical, with a removal and credential-rotation action, and fail any --fail-on threshold
- Exploit Prioritization — findings are enriched with CISA KEV (exploited in the wild, ransomware use) and FIRST EPSS (probability of exploitation in 30 days) and ordered malware → KEV → severity → EPSS. Gate CI on them with
--fail-on-kev / --fail-on-epss=<0-1> (--fail-on=none turns the severity gate off). Only CVE IDs are sent; --no-exploit-data or exploit-data: false in guardbee.yml turns it off
- Severity Scoring — Critical / High / Medium / Low based on CVSS score or a text heuristic
- Fix Plan — one upgrade per package: the smallest listed version that clears every advisory (e.g.
log4j-core 2.14.1 → 2.25.4 (fixes 7/7)), with advisories that stay open and major-version jumps called out. Per-finding fixes follow the installed release line (next-auth 5.0.0-beta.31 → 5.0.0-beta.32, not 4.24.15), using SemVer, PEP 440 or Maven-style version ordering
- CVE Links — direct links to NVD or osv.dev
- Dependency Paths — each finding shows how the package gets installed (
[email protected] › [email protected]), and the fix plan names the direct dependency to bump (← via [email protected]). Available for package-lock.json v2/v3, pnpm, yarn, bun and uv lockfiles
- De-duplicated Findings — advisories that alias each other (GHSA + PYSEC, GHSA + MAL) are merged into one finding; ignore lists match any of their IDs
- Tests — unit tests with lockfiles generated by the real package managers and a fake OSV API
Quick Start
Add to claude_desktop_config.json:
MCP Tools
Example Usage
You can ask Claude:
"Audit my project's npm dependencies: /Users/me/my-app"
"Is there a CVE for lodash 4.17.20?"
"Scan my Python project: /Users/me/django-app"
Example Output
Supported Ecosystems
The audit_package tool can query these ecosystems directly:
CLI — CI/CD Integration
In addition to MCP server mode, this can also be used directly as a CLI:
Exit codes: 0 = clean · 1 = findings above threshold · 2 = error
GitHub Actions
GitLab CI
Pre-commit Hook
Development
License
MIT — GuardBee
Feedback
Questions, ideas, or a false positive? Start a thread in GitHub Discussions or open an issue. If GuardBee is useful to you, a ⭐ on the repository helps others find it.