sca-audit について
sca-auditは、プロジェクトの依存関係に既知のCVEがないか調べ、依存関係の健全性も評価するセキュリティスキルです。スキャナーの選定から脆弱性分析、修正案の提示までを扱います。
主な機能
- 01依存マニフェストとロックファイルの特定
- 02複数エコシステムの脆弱性スキャン
- 03到達可能性と修正方法の分析
- 04保守状況、ライセンス、バージョン固定の確認
- 05深刻度別の検出結果と修正コマンド
活用シーン
- 01リポジトリ内の既知の依存関係CVEの確認
- 02脆弱なコードパスへの到達可能性の評価
- 03古い依存関係や懸念のある依存関係の特定
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ owasp/ secure-agent-playbook --skill sca-auditインストール後、Claude Code で/sca-auditを入力して読み込まれたか確認します。
詳細
ソフトウェア構成分析監査
plays/sca-audit.md に記載された手順全体に従って、既知の CVE がないか依存関係をスキャンします。
手順
-
依存関係マニフェストを特定する — エコシステム(Node.js、Python、Go、Java、Ruby、Rust、.NET、PHP)全体で、すべての依存関係ファイルとロックファイルをスキャンします。解決済みバージョンを正確に把握できるロックファイルを優先します。
-
脆弱性スキャンを実行する — 次の優先順位で利用可能なツールを使用します。
osv-scanner --lockfile=<path> --format=json(推奨、複数エコシステムに対応)npm audit --json(Node.js)pip-audit -r requirements.txt --format=json(Python)govulncheck ./...(Go)trivy fs --format json --scanners vuln <path>(複数エコシステムに対応)- スキャナーがインストールされていない場合は、作業を中止し、ユーザーにインストールを依頼します(例:
brew install osv-scanner)。手動での分析は現実的ではありません。小規模なプロジェクトでも依存関係は 50 個以上あります。個々のパッケージのトリアージについては、ユーザーに OSV.dev を案内します。
-
結果を分析する — 各脆弱性について、到達可能性(脆弱なコードパスが使用されているか)を判断し、悪用可能性に関するコンテキスト(デプロイ方法が重要です)を確認し、修正の提供状況(パッチかメジャーバージョンの更新か)を特定します。
-
依存関係の健全性 — CVE 以外にも、メンテナンスされていないパッケージ(2 年以上活動がないもの)、タイポスクワッティングのリスク、ライセンスに関する懸念、バージョン固定の問題を指摘します。
出力
スキャンの概要(エコシステム、依存関係の数、使用したスキャナー)、templates/finding.md を使用して重大度順に並べた検出結果、中・低重大度の簡潔な表、依存関係の健全性に関するフラグ、正確な修正コマンドを記載します。
OWASP の参考情報
- A06:2021:脆弱で古いコンポーネント
- OWASP Dependency-Check
- OWASP SCVS
コメント
Markdown 対応