
Dependency Auditor
io.github.4hmetuyarPublished by GitHub account 4hmetuyarv0.2.4Updated Oct 24, 2026
CVE scanning for npm/pip/cargo dependencies via OSV
Overview
Audits npm, pip and other project dependencies against the OSV vulnerability database, reporting CVEs, malicious releases and fix plans.
- What you can do
- Audit npm projects from package-lock, pnpm, yarn, bun lockfiles or package.json
- Audit Python projects from uv, Poetry, Pipenv lockfiles or requirements.txt and pyproject.toml
- Look up a single package by name, version and ecosystem (npm, PyPI, crates.io, Maven, Go, RubyGems)
- Auto-detect and audit all supported manifests in a directory
- Report severity, CISA KEV and EPSS prioritization, dependency paths and suggested upgrade fixes
- When to use it
- Useful when you want an assistant to check a project's dependencies for known vulnerabilities or malicious releases, or to answer whether a specific package version has a CVE, without leaving the chat.
- Requirements
- Runs as a local stdio process, typically via npx from the npm package, so Node.js and network access to the OSV API are needed. No authentication or API keys are required.
Installation
In SourceWeft
- Open Dependency Auditor in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
@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=1it sends the server, tool, success, duration and short parameter values such as a file path; longer strings and fields likecontent,tokenorpasswordare 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) andbun.lock, falling back topackage.jsonranges. 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 fromCargo.toml),go.mod(// indirectandreplaceaware),Gemfile.lock(platform builds merged, dev groups from theGemfile) andcomposer.lock(packages-dev), audited byauditand theaudit_directorytool - pip Support — reads exact versions from
uv.lock,poetry.lockandPipfile.lock(dev groups separated), falling back torequirements.txt,requirements/base.txt,requirements/prod.txt, andpyproject.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-onthreshold - 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=noneturns the severity gate off). Only CVE IDs are sent;--no-exploit-dataorexploit-data: falseinguardbee.ymlturns 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 forpackage-lock.jsonv2/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.
Source: packages/dependency-auditor/README.md at commit 040e072
Tools
0Version history
1- v0.2.4LatestSep 29, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts