セキュリティスキャンスキル
AgentShield を使用して、Claude Code の構成のセキュリティ問題を監査します。
アクティブ化するタイミング
- 新しい Claude Code プロジェクトをセットアップするとき
.claude/settings.json、CLAUDE.md、または MCP 設定を変更した後- 構成の変更をコミットする前
- 既存の Claude Code 設定がある新しいリポジトリにオンボーディングするとき
- 定期的なセキュリティ衛生チェック
スキャン対象
| ファイル | チェック項目 |
|---|---|
CLAUDE.md | ハードコードされたシークレット、自動実行命令、プロンプトインジェクションパターン |
settings.json | 過度に寛容な許可リスト、欠落している拒否リスト、危険なバイパスフラグ |
mcp.json | リスクのある MCP サーバー、ハードコードされた環境シークレット、npx サプライチェーンリスク |
hooks/ | 補間によるコマンドインジェクション、データ流出、サイレントエラー抑制 |
agents/*.md | 制限なしのツールアクセス、プロンプトインジェクション面、欠落しているモデル仕様 |
前提条件
AgentShield がインストールされている必要があります。必要に応じて確認し、インストールします。
# インストールされているか確認
npx ecc-agentshield --version
# グローバルにインストール(推奨)
npm install -g ecc-agentshield
# または npx 経由で直接実行(インストール不要)
npx ecc-agentshield scan .
使用方法
基本スキャン
現在のプロジェクトの .claude/ ディレクトリに対して実行します。
# 現在のプロジェクトをスキャン
npx ecc-agentshield scan
# 特定のパスをスキャン
npx ecc-agentshield scan --path /path/to/.claude
# 最小重大度フィルターでスキャン
npx ecc-agentshield scan --min-severity medium
出力形式
# ターミナル出力(デフォルト)— 色付きレポートとグレード
npx ecc-agentshield scan
# JSON — CI/CD 統合用
npx ecc-agentshield scan --format json
# Markdown — ドキュメント用
npx ecc-agentshield scan --format markdown
# HTML — 自己完結型ダークテーマレポート
npx ecc-agentshield scan --format html > security-report.html
自動修正
安全な修正を自動的に適用します(自動修正可能とマークされた修正のみ)。
npx ecc-agentshield scan --fix
これにより以下が行われます。
- ハードコードされたシークレットを環境変数参照に置き換え
- ワイルドカード権限をスコープ付きの代替案に制限
- 手動のみの提案は決して変更しません
Opus 4.6 ディープ分析
より深い分析のために、敵対的な3エージェントパイプラインを実行します。
# ANTHROPIC_API_KEY が必要
export ANTHROPIC_API_KEY=your-key
npx ecc-agentshield scan --opus --stream
これにより以下が実行されます。
- 攻撃者(レッドチーム) — 攻撃ベクトルを発見
- 防御者(ブルーチーム) — 堅牢化を推奨
- 監査人(最終評決) — 両方の視点を統合
安全な構成の初期化
安全な .claude/ 構成をゼロからスキャフォールディングします。
npx ecc-agentshield init
作成されるもの:
- スコープ付き権限と拒否リストを含む
settings.json - セキュリティのベストプラクティスを含む
CLAUDE.md mcp.jsonプレースホルダー
GitHub Action
CI パイプラインに追加します。
- uses: affaan-m/agentshield@v1
with:
path: '.'
min-severity: 'medium'
fail-on-findings: true
重大度レベル
| グレード | スコア | 意味 |
|---|---|---|
| A | 90-100 | 安全な構成 |
| B | 75-89 | 軽微な問題 |
| C | 60-74 | 注意が必要 |
| D | 40-59 | 重大なリスク |
| F | 0-39 | クリティカルな脆弱性 |
結果の解釈
クリティカルな発見(すぐに修正)
- 構成ファイル内のハードコードされた API キーまたはトークン
- 許可リスト内の
Bash(*)(無制限のシェルアクセス) ${file}補間によるフック内のコマンドインジェクション- シェルを実行する MCP サーバー
高重要度の発見(本番環境の前に修正)
- CLAUDE.md 内の自動実行命令(プロンプトインジェクションベクター)
- 権限内の拒否リストの欠落
- 不要な Bash アクセス権限を持つエージェント
中重要度の発見(推奨)
- フック内のサイレントエラー抑制(
2>/dev/null、|| true) - PreToolUse セキュリティフックの欠落
- MCP サーバー設定内の
npx -y自動インストール
情報レベルの発見(認識用)
- MCP サーバーの説明の欠落
- 禁止命令が適切にベストプラクティスとしてフラグされているか