Dependency Auditor

io.github.4hmetuyar由 GitHub 账号 4hmetuyar 发布v0.2.4更新于 Oct 24, 2026

CVE scanning for npm/pip/cargo dependencies via OSV

已验证STDIO仅桌面开发者工具安全与监控

概览

AI 生成的概览

对照 OSV 漏洞数据库审计 npm、pip 等依赖,报告 CVE、恶意版本和修复方案。

可以做什么
  • 审计 npm 项目,读取 package-lock、pnpm、yarn、bun 锁文件或 package.json
  • 审计 Python 项目,读取 uv、Poetry、Pipenv 锁文件或 requirements.txt、pyproject.toml
  • 按名称、版本和生态查询单个包(npm、PyPI、crates.io、Maven、Go、RubyGems)
  • 自动识别并审计目录中所有受支持的清单文件
  • 给出严重级别、CISA KEV 与 EPSS 优先级、依赖路径和升级修复建议
适用场景
适合让助手在不离开对话的情况下检查项目依赖是否存在已知漏洞或恶意版本,或查询某个具体包版本是否有 CVE。
运行要求
以本地 stdio 进程运行,通常通过 npm 包以 npx 启动,需要 Node.js 以及访问 OSV API 的网络连接。无需认证或 API 密钥。
安装前请注意
会读取你指定路径下的项目清单和锁文件。遥测默认关闭;设置 GUARDBEE_TELEMETRY=1 后会发送工具名、成功状态、耗时以及文件路径等短参数值。除非用 --no-exploit-data 或 exploit-data: false 关闭,否则会把 CVE 编号发送给第三方服务。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Dependency Auditor,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

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.

来源:packages/dependency-auditor/README.md,提交 040e072

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.2.4最新Sep 29, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分