vuln-analyzer は何をしますか?
Claude Code用のエージェント型脆弱性アナライザー — MCP経由でgrypeを実行し、結果をランク付け、上位5件の脆弱性に対して到達可能性 / コンテキスト / 修正のサブエージェントを起動します。
概要
vuln-analyzerは、Claude Codeのエージェント機能を活用してコンテナイメージやファイルシステムの脆弱性スキャンを自動化するスキルです。grypeをMCPツールとして呼び出し、検出された脆弱性をCVSSスコアや深刻度でソートした後、最も重要な脆弱性に対して詳細な分析を実行します。
セットアップ
前提条件
- Claude Code がインストールされていること
grypeがシステムにインストールされていること(またはDocker経由で利用可能)
インストール
claude code skills add romansok/vuln-analyzer
使い方
基本的な使い方
# カレントディレクトリのDockerイメージをスキャン
claude code "vuln-analyze"
# 特定のイメージを指定
claude code "vuln-analyze --image alpine:latest"
オプション
| フラグ | 説明 | デフォルト |
|---|---|---|
--image | スキャンするコンテナイメージ | カレントディレクトリのDockerfileから推測 |
--path | スキャンするファイルシステムパス | カレントディレクトリ |
--top | 詳細分析する脆弱性の数 | 5 |
--fail-on | 失敗とみなす最低深刻度(例: high, critical) | critical |
アーキテクチャ
ユーザー入力
│
▼
[メインエージェント] ──MCP──► grype スキャン
│
▼
[ランク付けエージェント]
│
┌──────────┬──────────┬──────────┐
▼ ▼ ▼ ▼
[到達可能性] [コンテキスト] [修正] ... (最大5件)
│ │ │
└──────────┴──────────┴──────────┘
│
▼
[統合レポート]
サブエージェントの動作
到達可能性エージェント
検出された脆弱性がアプリケーションコードから実際に到達可能かどうかを分析します。コードパスとデータフローを追跡して、エクスプロイトの可能性を評価します。
コンテキストエージェント
脆弱性の詳細な情報(CVE情報、影響を受けるバージョン、既知のエクスプロイト、攻撃ベクトルなど)を収集し、開発者にとって理解しやすい形式で提示します。
修正エージェント
各脆弱性に対する具体的な修正手順を提案します。これには、パッケージのアップデート、設定変更、または回避策が含まれます。
環境変数
| 変数名 | 説明 | 必須 |
|---|---|---|
GRYPE_MCP_URL | grype MCPサーバーのURL | いいえ(デフォルト: http://localhost:8080) |
VULN_DEBUG | デバッグ出力を有効化 | いいえ |
トラブルシューティング
grypeが見つからない
# grypeをインストール
curl -sSfL https://raw.githubusercontent.com/anchore/grype/main/install.sh | sh -s -- -b /usr/local/bin
MCP接続エラー
MCPサーバーが応答しない場合、以下を確認してください:
grype mcpサービスが実行中であること- ファイアウォールがポートをブロックしていないこと
GRYPE_MCP_URL環境変数が正しく設定されていること
ライセンス
MIT