dependency-auditor について
脆弱性、ライセンス、更新リスクを確認する、エンジニア向けのオフライン依存関係監査スキルです。決定論的なスクリプトが8つのパッケージエコシステムのマニフェストとロックファイルを解析しますが、内蔵パターンは最新のアドバイザリーツールの代替ではありません。
主な機能
- 01オフラインの脆弱性パターンスキャン
- 028つのエコシステムのマニフェストとロックファイル解析
- 03推移的依存関係の解決
- 04ライセンス分類と競合検出
- 05ロールバック案付きのリスク別更新計画
活用シーン
- 01CIでの依存関係スキャン
- 02リリース前のライセンス互換性確認
- 03セキュリティ更新と保守更新の優先順位付け
- 04更新後に重大度の高い検出が解消したか確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ alirezarezvani/ claude-skills --skill dependency-auditorインストール後、Claude Code で/dependency-auditorを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdtest-inventory.jsonassets/sample_go.modsample_package.jsonsample_requirements.txtexpected_outputs/sample_license_report.txtsample_upgrade_plan.txtsample_vulnerability_report.jsonreferences/dependency_management_best_practices.mdlicense_compatibility_matrix.mdvulnerability_assessment_guide.mdscripts/dep_scanner.pylicense_checker.pyupgrade_planner.pytest-project/package.json詳細
依存関係監査
スキルタイプ: 強力 · カテゴリ: エンジニアリング · 分野: 依存関係管理とセキュリティ
8 種類以上のパッケージエコシステムを対象とした、オフラインで決定論的な依存関係監査です。3 つのスクリプトはマニフェスト/ロックファイルに対するパターンマッチャーであり、最新のアドバイザリー API は呼び出しません。最新の CVE 対応状況を把握するには、検出結果を npm audit / pip-audit / cargo audit と併用してください。
クイックスタート
# 1. Scan for vulnerabilities (built-in offline CVE pattern set; exit non-zero on high severity)
python3 scripts/dep_scanner.py /path/to/project --format json --fail-on-high -o scan.json
# 2. Check license compliance and conflicts
python3 scripts/license_checker.py /path/to/project --policy strict --format json -o licenses.json
# 3. Plan upgrades from the scanner's inventory
python3 scripts/upgrade_planner.py scan.json --risk-threshold medium --timeline 90 --format json -o plan.json
出力を活用します。scan.json の検出結果を基に、今すぐ固定またはパッチ適用するパッケージを判断します。licenses.json の競合は、法的リスクの一覧としてユーザーに提示します。plan.json には、ロールバックに関する注記とともに、リスク順にアップグレードが並びます。--quick-scan は推移的依存関係をスキップし、--security-only はプランをセキュリティ修正に限定します。
検証ループ: アップグレードを適用した後、手順 1 を再実行し、監査を完了する前に重大度「高」の検出結果が 0 件であることを確認します。
対応エコシステム
| 言語 | 解析対象のマニフェスト |
|---|---|
| JavaScript/Node | package.json, package-lock.json, yarn.lock |
| Python | requirements.txt, pyproject.toml, Pipfile.lock, poetry.lock |
| Go | go.mod, go.sum |
| Rust | Cargo.toml, Cargo.lock |
| Ruby | Gemfile, Gemfile.lock |
| Java | pom.xml, gradle.lockfile |
| PHP | composer.json, composer.lock |
| C#/.NET | packages.config, project.assets.json |
ライセンス分類
- 寛容型:MIT、Apache 2.0、BSD(2 条項/3 条項)、ISC
- コピーレフト(強):GPL v2/v3、AGPL v3 — 寛容型ライセンスのプロジェクトにおける汚染リスクを警告します
- コピーレフト(弱):LGPL v2.1/v3、MPL 2.0
- プロプライエタリ/デュアル/不明 — 不明なライセンスは手動レビューの対象として提示されます
チェッカーは依存関係チェーンを通じたライセンスの継承を分析し、競合するペアと解決策の提案を出力します。
アップグレードのリスクマトリクス
| リスク | 更新の種類 | 対応 |
|---|---|---|
| 低 | パッチ、セキュリティ修正 | 直ちに適用 |
| 中 | 新機能を含むマイナーアップデート | 予定された更新にまとめる |
| 高 | メジャーバージョン、API の変更 | 専用の移行タスクとテスト |
| 重大 | 既知の破壊的変更 | ロールバック手順を含む計画的な移行 |
優先順位:セキュリティパッチ > バグ修正 > 機能更新 > 大規模な書き換え。非推奨の機能には直ちに対応します。
スクリプト(機能を正確に記載)
scripts/dep_scanner.py— 複数形式のパーサー。オフラインの脆弱性パターンセットを内蔵(約 16 件の CVE パターン — 簡易チェック用であり、最新のアドバイザリーの代替ではありません)。ロックファイルから推移的依存関係を解決し、JSON とテキストで出力します。scripts/license_checker.py— パッケージメタデータからライセンスを検出。20 種類以上のライセンスに対応した互換性マトリクス、--policy permissive|strict、解決策の提案を伴う競合検出を備えています。scripts/upgrade_planner.py— semver に基づいて破壊的変更を予測し、テストチェックリストと所要時間の見積もりを含む、リスク順の移行プランを作成します。
サンプルフィクスチャ:このフォルダー内の test-project/ と test-inventory.json。出力の期待形式は expected_outputs/ にあります。
CI 統合
# Security gate in CI
python3 scripts/dep_scanner.py . --format json --fail-on-high
python3 scripts/license_checker.py . --policy strict --format json
ベストプラクティス
- セキュリティを優先:重大度が高または重大な検出結果には直ちに対応します。機能性よりも先にライセンスコンプライアンスに対応します。
- 段階的な更新:徹底的なテストを行いながら段階的にアップグレードし、リスクの高いバージョン更新には機能フラグを使用します。
- 実施頻度:コミットごとにセキュリティスキャンを実施し、ライセンス監査は毎月、包括的な監査は四半期ごとに実施します。
- 誤検知:根拠を文書化したうえでホワイトリストに登録します。ライセンスが不明確な場合は、メンテナーに問い合わせます。
詳しい使い方は README.md を、脆弱性とライセンスのナレッジベースについては references/ を参照してください。