mcpField
D
dependency-audit

dependency-audit

github.com/wu529778790セキュリティ4993 回インストール5 週間前に更新
リポジトリ

dependency-audit について

dependency-audit は、プロジェクトの依存関係について、脆弱性、古いパッケージ、ライセンス準拠を調べるスキルです。依存リスクを評価する開発者向けに、重要度順の結果と修正コマンドをまとめます。

主な機能

  1. 01パッケージマネージャーと監査コマンドの特定
  2. 02依存関係の脆弱性スキャン
  3. 03古い依存関係の検出
  4. 04ライセンス準拠と重複依存の確認
  5. 05重要度順のレポート作成
  6. 06実行可能な修正コマンドの提示

活用シーン

  1. 01プロジェクト依存関係の CVE 確認
  2. 02古い依存関係とセキュリティ更新の特定
  3. 03プロジェクトのライセンスリスク評価
  4. 04監査結果に対する修正手順の作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/wu529778790/shenzjd-skills --skill dependency-audit

インストール後、Claude Code で/dependency-auditを入力して読み込まれたか確認します。

同梱ファイルREADME.mdtemplates/audit-report.md

詳細

依存関係の監査

プロジェクトの依存関係をスキャンし、セキュリティの脆弱性、古くなったパッケージ、ライセンスのコンプライアンス上の問題を検出します。

概要

プロジェクトの依存関係を包括的に監査します。CVE 脆弱性のスキャン、古くなった依存関係の検出、ライセンスのコンプライアンスチェック、重複する依存関係の分析を行います。深刻度順に並べたセキュリティレポートと、実行可能な修正コマンドを出力します。

使用する場合

  • ユーザーが依存関係のセキュリティを確認したい場合
  • ユーザーが CVE、脆弱性、または監査について言及した場合
  • ユーザーが古くなった依存関係を知りたい場合
  • ユーザーが「依存関係を監査」/「依存関係を確認」と言った場合
  • ユーザーが /dependency-audit を入力した場合

使用しない場合:

  • ユーザーがバージョンの更新だけを望んでいる場合
  • ユーザーがコードレベルのセキュリティレビューを望んでいる場合
  • ユーザーが実行時の依存関係を分析したい場合
  • ユーザーが詳細なライセンス分析を望んでいる場合
  • ユーザーが Docker イメージをスキャンしたい場合

基本的な手順

ステップ 1:パッケージマネージャーの検出
検出ファイルパッケージマネージャー監査コマンド
package-lock.jsonnpmnpm audit
yarn.lockyarnyarn audit
pnpm-lock.yamlpnpmpnpm audit
go.sumGogovulncheck ./...
requirements.txt / Pipfile.lockPythonpip-audit
Cargo.lockRustcargo audit
ステップ 2:脆弱性スキャン
# 工具可用性检查(所有步骤共用)
check_tool() {
  command -v "$1" >/dev/null 2>&1 || { echo "⚠️ $1 未安装,跳过 $2 审计"; return 1; }
}

主要なコマンド(パッケージマネージャーごとに実行し、ツールがない場合は自動的にスキップします):

⚠️ 脆弱性が見つかった場合、npm audit は終了コードに 0 以外を返します。成功判定に if npm audit ...; then を使わず、--json の出力を直接解析してください。

パッケージマネージャー監査コマンド
npmnpm audit --json | jq '.metadata.vulnerabilities.total' → 脆弱性の件数と深刻度を解析します(終了コードに依存しないでください)
Gogovulncheck ./... → golang.org/x/vuln/cmd/govulncheck@latest をインストール
Pythonpip-audit → インストール:pip install pip-audit

出力:脆弱性の合計数と、深刻度(critical/high/medium/low)別に分類した CVE の一覧。

ステップ 3:古くなった依存関係の検出

主要なコマンド(パッケージマネージャーごとに実行し、ツールがない場合は自動的にスキップします):

パッケージマネージャー検出コマンド
npmnpx npm-check-updates --format table
Gogo list -m -u all | grep "\["
Pythonpip list --outdated

集計内容:古くなった依存関係の数、major/minor/patch アップグレードの内訳、セキュリティ関連の更新の有無。

ステップ 4:ライセンスのコンプライアンスチェック

主要なコマンド(パッケージマネージャーごとに実行します):

パッケージマネージャー検出コマンド
npmnpx license-checker --json → ライセンスタイプ別に数を集計
Gogo-licenses csv ./... → インストール:go install github.com/google/go-licenses@latest

重点的に確認する項目:GPL/AGPL などのコピーレフトライセンス、不明なライセンス/独自ライセンス、ライセンスの互換性。

ステップ 5:レポートの生成

templates/audit-report.md テンプレートを使用して、以下を出力します。

  1. セキュリティの概要 — 脆弱性の数と深刻度別の内訳
  2. 重大な脆弱性 — 直ちに修正が必要な CVE
  3. 古くなった依存関係 — アップグレードの難易度順
  4. ライセンスのコンプライアンス — リスクのあるライセンスの一覧
  5. 修正コマンド — 各問題に実行可能なコマンドを記載

クイックリファレンス

/dependency-audit                    # 完整审计
/dependency-audit --security         # 只检查安全漏洞
/dependency-audit --licenses         # 只检查 license
/dependency-audit --fix              # 自动修复可安全升级的依赖
パラメーター説明デフォルト値
--securityセキュリティ脆弱性のみをチェックfalse
--licensesライセンスのコンプライアンスのみをチェックfalse
--fix自動修正false

よくある間違い

間違い正しい方法理由
high/critical だけを見るmedium にも注意する多くの攻撃チェーンは medium から発展します
すべての依存関係を無条件にアップグレードする1 つずつアップグレードしてテストするmajor アップグレードでは破壊的変更が発生する可能性があります
推移的な依存関係を確認しない依存関係ツリー全体を分析する脆弱性は間接的な依存関係でよく発生します
ライセンスのコンプライアンスを無視する定期的にライセンスを確認するGPL には感染性のリスクがあります
監査後に lock ファイルを更新しないlock ファイルを再生成する修正が確実に反映されるようにします
非推奨の依存関係を無視する非推奨の警告を確認する非推奨パッケージにはセキュリティリスクがある可能性があります

コメント