Dependency Auditor

io.github.GuardBeePublished by GitHub account GuardBeev0.8.1Updated Nov 3, 2026

CVE scanning for npm/pip/cargo dependencies via OSV

VerifiedSTDIODesktop onlyDeveloper ToolsSecurity & Monitoring

Overview

AI-generated overview

Local MCP server that audits npm, pip and other project dependencies against the OSV vulnerability database and reports CVEs with fixes.

What you can do
  • Audit npm projects from package-lock, pnpm, yarn or bun lockfiles, falling back to package.json
  • Audit Python projects from uv, Poetry or Pipenv lockfiles, falling back to requirements.txt or pyproject.toml
  • Look up a single package by name, version and ecosystem (npm, PyPI, crates.io, Maven, Go, RubyGems)
  • Auto-detect and audit every supported project in a directory, including Rust, Go, Ruby and PHP lockfiles
  • Report severity, malicious-package warnings, CISA KEV and EPSS prioritization, dependency paths and a suggested fix plan
When to use it
Useful when you want an assistant to check a local project for known vulnerable or malicious dependencies, explain findings, and suggest upgrade versions, or to run the same audit in CI as a CLI.
Requirements
Runs as a local stdio process, typically via npx from the npm package, so Node.js and network access to the OSV API (and exploit-data sources) are needed. No authentication or API keys are required.
Before you install
Reads project manifest and lockfiles from paths you give it. Telemetry is off by default; setting GUARDBEE_TELEMETRY=1 sends tool names, success, duration and short parameter values such as file paths. Exploit enrichment sends CVE IDs to third parties unless disabled with --no-exploit-data or exploit-data: false.

Installation

In SourceWeft

  1. Open Dependency Auditor in the dashboard and add it to a workspace.
  2. 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=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

bash
npm install -g @guardbee/mcp-dependency-auditor

Add to claude_desktop_config.json:

json
{  "mcpServers": {    "guardbee-dependency-auditor": {      "command": "npx",      "args": ["-y", "@guardbee/mcp-dependency-auditor"]    }  }}

MCP Tools

ToolDescription
audit_npmAudits npm dependencies (package-lock, pnpm, yarn, bun lockfiles or package.json)
audit_pipAudits Python dependencies (uv, Poetry, Pipenv lockfiles or requirements.txt / pyproject.toml)
audit_packageAudits a single package by name, version, and ecosystem
audit_directoryAuto-detects and audits all supported manifest files

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

⚠️  Found 3 vulnerabilities in 2/142 npm packages (1243ms)   Critical: 1  High: 1  Medium: 1  Low: 0  Unknown: 0
[CRITICAL] [email protected]  ID      : GHSA-35jh-r3h4-6jhm (CVE-2021-23337)  Summary : Command injection via template  Fix     : upgrade to [email protected]  Details : https://nvd.nist.gov/vuln/detail/CVE-2021-23337

Supported Ecosystems

The audit_package tool can query these ecosystems directly:

EcosystemParameter
npmnpm
PythonPyPI
Rustcrates.io
JavaMaven
GoGo
RubyRubyGems

CLI — CI/CD Integration

In addition to MCP server mode, this can also be used directly as a CLI:

bash
# Audit all dependencies in a directory (npm + pip auto-detected)npx @guardbee/mcp-dependency-auditor audit ./my-project
# npm onlynpx @guardbee/mcp-dependency-auditor audit-npm . --fail-on=critical
# pip onlynpx @guardbee/mcp-dependency-auditor audit-pip . --fail-on=high
# Single packagenpx @guardbee/mcp-dependency-auditor audit-pkg lodash 4.17.20 npm
# JSON outputnpx @guardbee/mcp-dependency-auditor audit . --format=json
# Fail only on what attackers actually use: CISA KEV, or EPSS ≥ 10%npx @guardbee/mcp-dependency-auditor audit . --fail-on=none --fail-on-kev --fail-on-epss=0.1

Exit codes: 0 = clean · 1 = findings above threshold · 2 = error

GitHub Actions

yaml
name: Dependency Auditon: [push, pull_request]
jobs:  audit:    runs-on: ubuntu-latest    steps:      - uses: actions/checkout@v4      - uses: actions/setup-node@v4        with:          node-version: 20      - run: npm ci      - name: Audit dependencies        run: npx @guardbee/mcp-dependency-auditor audit . --fail-on=high

GitLab CI

yaml
dependency-audit:  image: node:20  script:    - npx @guardbee/mcp-dependency-auditor audit . --fail-on=high  only:    - merge_requests    - main

Pre-commit Hook

bash
# .git/hooks/pre-pushnpx @guardbee/mcp-dependency-auditor audit . --fail-on=critical || exit 1

Development

bash
npm installnpm test          # 20 unit testsnpm run build     # TypeScript compile

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 bc5997d

Tools

4

audit_npm

Audit npm dependencies for known CVEs using the OSV database. Reads exact versions from package-lock.json, npm-shrinkwrap.json, pnpm-lock.yaml, yarn.lock (v1 and berry) or bun.lock, falling back to package.json ranges

ParametersdirectoryrequiredexploitDataincludeDevDeps

audit_pip

Audit Python dependencies for known CVEs using the OSV database. Reads exact versions from uv.lock, poetry.lock or Pipfile.lock, falling back to requirements.txt / pyproject.toml

ParametersdirectoryrequiredexploitDataincludeDevDeps

audit_package

Audit a single package by name, version, and ecosystem

ParametersnamerequiredversionrequiredecosystemrequiredexploitData

audit_directory

Auto-detect and audit every supported project in a directory: npm (package-lock, pnpm, yarn, bun), Python (uv, Poetry, Pipenv, requirements), Rust (Cargo.lock), Go (go.mod), Ruby (Gemfile.lock) and PHP (composer.lock)

ParametersdirectoryrequiredexploitDataincludeDevDeps

Version history

4
  1. v0.8.1LatestOct 30, 2026
  2. v0.7.2Oct 22, 2026
  3. v0.6.0Oct 13, 2026
  4. v0.4.0Oct 13, 2026

Score

90% 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
  • 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 listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts