dependency-auditor について
dependency-auditor は OSV に照らしてプロジェクトの依存関係を調べる MCP サーバー兼コマンドラインツールです。開発者や CI 向けに脆弱性情報、更新案、悪用リスクに基づく優先順位を示します。
主な機能
- 01npm、pip などのエコシステムを監査
- 02マニフェストとロックファイルを読み取り
- 03既知の悪意あるリリースを検出
- 04CISA KEV と FIRST EPSS による優先順位付け
- 05勧告を解消するパッケージ更新案
- 06CI の失敗しきい値に対応
活用シーン
- 01リリース前の依存関係スキャン
- 02特定バージョンの既知の脆弱性を確認
- 03深刻度や悪用リスクを基準に CI を制御
- 04脆弱なパッケージにつながる直接依存を特定
MCP 対応
npm と Python のプロジェクト監査、個別パッケージの照会、対応マニフェストを含むディレクトリのスキャンに使う MCP ツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
4掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| directory | string | はい | package.json を含むディレクトリへのパス |
| includeDevDeps | boolean | いいえ | 監査に devDependencies を含めます(デフォルト:false) |
詳細
@guardbee/mcp-dependency-auditor
🇬🇧 English | 🇹🇷 Türkçe | 🇨🇳 中文 | 🇯🇵 日本語 | 🇰🇷 한국어 | 🇧🇷 Português | 🇪🇸 Español | 🇩🇪 Deutsch
npm および pip のマニフェストを OSV データベースと照合し、既知の CVE を監査する MCP サーバーです。単一パッケージの検索では、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 スコアまたはテキストのヒューリスティックに基づいて、Critical/High/Medium/Low を判定します
- 修正計画 — 各パッケージにつきアップグレード先を 1 つ提示します。すべてのアドバイザリーを解消する、一覧内で最も低いバージョンを選びます(例:
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.jsonv2/v3、pnpm、yarn、bun、uv のロックファイルで利用できます - 重複のない検出結果 — 相互に別名となっているアドバイザリー(GHSA + PYSEC、GHSA + MAL など)は 1 つの検出結果に統合されます。無視リストでは、いずれかの 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 ツールでは、次のエコシステムを直接照会できます。
| エコシステム | パラメーター |
|---|---|
| npm | npm |
| Python | PyPI |
| Rust | crates.io |
| Java | Maven |
| Go | Go |
| Ruby | RubyGems |
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 フック
# .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でスレッドを立てるか、issue を作成してください。GuardBee が役に立った場合は、リポジトリに ⭐ を付けていただけると、ほかの人にも見つけてもらいやすくなります。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。