mcpField
D
dependency-auditor

dependency-auditor

本地服务
github.com/GuardBee安全11 天前更新

关于 dependency-auditor

dependency-auditor 是用于根据 OSV 检查项目依赖的 MCP 服务和命令行工具,面向开发者及 CI 流程。它提供漏洞结果、升级建议,并利用利用风险数据排列优先级。

主要功能

  1. 01审计 npm、pip 及其他生态的依赖
  2. 02读取依赖清单和锁文件
  3. 03检测已知恶意版本
  4. 04按 CISA KEV 和 FIRST EPSS 排序风险
  5. 05建议可处理公告的升级版本
  6. 06支持 CI 阈值检查

适用场景

  1. 01发布前扫描项目依赖
  2. 02查询某个软件包版本的已知漏洞
  3. 03按严重程度或利用风险设置 CI 门槛
  4. 04追踪易受攻击的软件包对应的直接依赖

MCP 相关

提供 MCP 工具,用于审计 npm 和 Python 项目、查询单个软件包,并扫描目录中的受支持依赖清单。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"4hmetuyar-dependency-auditor": {
"command": "npx",
"args": [
"-y",
"@guardbee/mcp-dependency-auditor"
]
}
}
}
启动命令npx -y @guardbee/mcp-dependency-auditor

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@guardbee/mcp-dependency-auditor0.2.4

工具

4

收录的工具列表 · 更新于 2 周前

参数类型必填说明
directorystring是包含 package.json 的目录路径
includeDevDepsboolean否在审计中包含 devDependencies(默认值:false)

详细介绍

@guardbee/mcp-dependency-auditor

🇬🇧 English | 🇹🇷 Türkçe | 🇨🇳 中文 | 🇯🇵 日本語 | 🇰🇷 한국어 | 🇧🇷 Português | 🇪🇸 Español | 🇩🇪 Deutsch

npm version npm downloads License: MIT

一个 MCP 服务,可针对 OSV 数据库审计 npm 和 pip 清单,查找已知 CVE。单个软件包查询还支持 PyPI、crates.io、Maven、Go 和 RubyGems。

默认情况下,遥测功能处于关闭状态。设置 GUARDBEE_TELEMETRY=1 后,会发送服务、工具、成功状态、耗时以及文件路径等较短的参数值;较长的字符串以及 content、token 或 password 等字段会替换为占位符。请参阅 @guardbee/mcp-telemetry。


功能

  • OSV API 集成 — Google 的开源漏洞数据库(免费,无需身份验证)
  • npm 支持 — 从 package-lock.json / npm-shrinkwrap.json(v1/v2/v3)、pnpm-lock.yaml(v5/v6/v9)、yarn.lock(v1 和 Berry)和 bun.lock 读取确切版本;如果不存在,则使用 package.json 中的版本范围。包含传递依赖项;即使锁文件未标记,也会区分仅用于开发的依赖项(pnpm v9、yarn、bun)
  • Rust、Go、Ruby、PHP — Cargo.lock(从 Cargo.toml 获取开发依赖项)、go.mod(识别 // indirect 和 replace)、Gemfile.lock(合并不同平台的构建版本,从 Gemfile 获取开发分组)和 composer.lock(packages-dev),由 audit 和 audit_directory 工具审计
  • pip 支持 — 从 uv.lock、poetry.lock 和 Pipfile.lock 读取确切版本(区分开发分组);如果不存在,则使用 requirements.txt、requirements/base.txt、requirements/prod.txt 和 pyproject.toml
  • 恶意包检测 — 已知恶意版本(OpenSSF MAL-* 条目以及归类为 CWE-506 的公告,例如 2025 年 9 月遭劫持的 [email protected] / [email protected])会优先作为严重问题报告,并给出移除包和轮换凭据的操作建议;任何 --fail-on 阈值都会因此失败
  • 漏洞利用优先级排序 — 使用 CISA KEV(已在实际环境中遭利用、被用于勒索软件)和 FIRST EPSS(30 天内遭利用的概率)丰富发现结果,并按恶意软件 → KEV → 严重性 → EPSS 排序。使用 --fail-on-kev / --fail-on-epss=<0-1> 将其设为 CI 门禁(--fail-on=none 会关闭严重性门禁)。仅发送 CVE ID;使用 --no-exploit-data 或在 guardbee.yml 中设置 exploit-data: false 可关闭此功能
  • 严重性评分 — 根据 CVSS 评分或文本启发式规则划分为严重 / 高 / 中 / 低
  • 修复计划 — 每个包给出一个升级版本:列出的能修复所有公告的最小版本(例如 log4j-core 2.14.1 → 2.25.4 (fixes 7/7)),并指出仍未解决的公告和跨越主版本的升级。每项发现的修复版本会遵循已安装版本所属的发布系列(next-auth 5.0.0-beta.31 → 5.0.0-beta.32,而不是 4.24.15),并使用 SemVer、PEP 440 或 Maven 风格的版本排序
  • CVE 链接 — 提供指向 NVD 或 osv.dev 的直接链接
  • 依赖路径 — 每项发现都会显示包的安装路径([email protected] › [email protected]),修复计划会指出需要升级的直接依赖项(← via [email protected])。适用于 package-lock.json v2/v3、pnpm、yarn、bun 和 uv 锁文件
  • 去重后的发现 — 互为别名的公告(GHSA + PYSEC、GHSA + MAL)会合并为一项发现;忽略列表中的任意 ID 均可匹配
  • 测试 — 使用真实包管理器生成的锁文件和模拟 OSV API 进行单元测试

快速开始

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

添加到 claude_desktop_config.json:

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

MCP 工具

工具描述
audit_npm审计 npm 依赖项(package-lock、pnpm、yarn、bun 锁文件或 package.json)
audit_pip审计 Python 依赖项(uv、Poetry、Pipenv 锁文件或 requirements.txt / pyproject.toml)
audit_package根据名称、版本和生态系统审计单个包
audit_directory自动检测并审计所有受支持的清单文件
使用示例

你可以向 Claude 提问:

“审计我项目的 npm 依赖项:/Users/me/my-app”

“lodash 4.17.20 是否存在 CVE?”

“扫描我的 Python 项目:/Users/me/django-app”

输出示例
⚠️  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

支持的生态系统

audit_package 工具可直接查询以下生态系统:

生态系统参数
npmnpm
PythonPyPI
Rustcrates.io
JavaMaven
GoGo
RubyRubyGems

CLI — CI/CD 集成

除了 MCP 服务模式外,也可以直接将其用作 CLI:

# Audit all dependencies in a directory (npm + pip auto-detected)
npx @guardbee/mcp-dependency-auditor audit ./my-project

# npm only
npx @guardbee/mcp-dependency-auditor audit-npm . --fail-on=critical

# pip only
npx @guardbee/mcp-dependency-auditor audit-pip . --fail-on=high

# Single package
npx @guardbee/mcp-dependency-auditor audit-pkg lodash 4.17.20 npm

# JSON output
npx @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

退出代码: 0 = 无问题 · 1 = 发现超过阈值的问题 · 2 = 错误

GitHub Actions
name: Dependency Audit
on: [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
dependency-audit:
  image: node:20
  script:
    - npx @guardbee/mcp-dependency-auditor audit . --fail-on=high
  only:
    - merge_requests
    - main
Pre-commit Hook
# .git/hooks/pre-push
npx @guardbee/mcp-dependency-auditor audit . --fail-on=critical || exit 1

开发

npm install
npm test          # 20 unit tests
npm run build     # TypeScript compile

许可证

MIT — GuardBee

反馈

有疑问、想法,或发现误报?请在 GitHub Discussions 中发起讨论,或提交问题。如果 GuardBee 对你有帮助,请在仓库点个 ⭐,帮助其他人发现它。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。