概要
- Claude を用いた自律型の脆弱性発見・修正リファレンス実装の紹介
- セキュリティチーム との協業知見をもとにしたベストプラクティス
- C/C++メモリ脆弱性 検出を中心に、他言語へのカスタマイズも可能
- gVisorサンドボックス など安全設計を重視
- Anthropic Claude Security などマネージド製品も案内
Claudeによる自律型脆弱性発見・修正リファレンス実装
- Claude Mythos Preview 以降、複数組織のセキュリティチームと連携し得た知見を反映
- 自動化された脆弱性発見・修正パイプライン のオープンソースリファレンス
- SDKのみの軽量版ウォークスルー やベストプラクティスは、付属ブログやcookbookで提供
- 本リポジトリは 保守対象外・コントリビューション非受付
マネージドサービス案内
- Anthropic Claude Security :複数プロジェクト横断でソースコード脆弱性検出・修正を実施するホステッド製品
- 多段階検証パイプライン で誤検知削減
- トリアージ・修正検証・迅速パッチ生成 を一貫管理
リファレンス実装の特徴
- Claude API (Bedrock, Vertex, Azure等)と連携可能
- /quickstart, /threat-model, /vuln-scan, /triage, /patch, /customize 等のモジュールを用意
- harness/ ディレクトリ:C/C++メモリ脆弱性をDocker+ASANで検出する自律パイプライン
- 安全設計 :/quickstart等はファイルの読み書きのみ、/patchや自律パイプラインはgVisorサンドボックス内でのみ実行
- セットアップ :scripts/setup_sandbox.sh実行後、bin/vp-sandboxedでパイプライン起動
主要ディレクトリ・スキル
- /quickstart :初回体験・ガイド付き実行
- /threat-model :脅威モデル構築
- /vuln-scan :静的スキャン
- /triage :検出結果の検証・重複排除・優先度付け
- /patch :修正案生成・検証
- /customize :他言語/検出器/脆弱性クラス向けカスタマイズ
セキュリティ設計
- /quickstart, /threat-model, /vuln-scan, /triage はファイル操作のみで安全
- /patch, 自律パイプライン はgVisorサンドボックス外での実行を拒否
- 詳細 :docs/security.md, docs/agent-sandbox.md参照
導入・運用手順
Step 1(Day 1):脅威モデル作成+初回スキャン・トリアージ
- 脅威モデル作成 →静的スキャン→トリアージ→修正案ドラフト
- 成果物 :THREAT_MODEL.md, VULN-FINDINGS.{json,md}, TRIAGE.{json,md}, PATCHES/
- コマンド例 :
- claude > /quickstart
- claude > /threat-model bootstrap targets/canary
- claude > /vuln-scan targets/canary
- claude > /triage targets/canary/VULN-FINDINGS.json
- claude > /patch ./TRIAGE.json --repo targets/canary
Step 2(Day 2):C/C++ライブラリへの自律パイプライン適用
- recon→find→verify→report の自律ループを既知脆弱なOSSライブラリで実施
- 成果物 :再現可能なクラッシュ、エクスプロイトレポート、修正案
- セットアップ :
- python3 -m venv .venv && .venv/bin/pip install -e .
- ./scripts/setup_sandbox.sh
- export ANTHROPIC_API_KEY=sk-ant-...
- 実行例 :
- bin/vp-sandboxed run drlibs --model <model-id> --runs 3 --parallel --stream --auto-focus
- bin/vp-sandboxed patch results/drlibs/<timestamp>/ --model <model-id>
- パイプライン7段階 :
- Build, Recon, Find, Verify, Dedupe, Report, Patch
Step 3(Days 3-5):自社ターゲット向けカスタマイズ
- Step 1スキル を自社コードに適用し、/customizeでパイプラインを移植
- 質問例 :
- 何が検出シグナルとなるか(例:ASANクラッシュ、例外、DNSコールバック等)
- PoCの形(例:クラッシュ入力ファイル、HTTPリクエスト等)
- ビルド・実行方法(例:Dockerfile、各言語のビルドコマンド等)
- コマンド例 :
- claude > /quickstart how do I customize this for ~/code/my-service?
- claude > /threat-model bootstrap-then-interview ~/code/my-service
- claude > /vuln-scan ~/code/my-service
- claude > /triage ~/code/my-service/VULN-FINDINGS.json --repo ~/code/my-service
- claude > /customize use ~/code/my-service/{THREAT_MODEL.md,VULN-FINDINGS.json} and ./TRIAGE.md
- bin/vp-sandboxed run my-service --model <model-id> --runs 1
Step 4(Week 2):自律スキャン・トリアージ・パッチ適用の運用
- 複数回のパイプライン実行→全結果のトリアージ→優先度順にパッチ生成・検証 を繰り返す
- コマンド例 :
- bin/vp-sandboxed run my-service --model <model-id> --runs 5 --parallel --stream --auto-focus
- claude > /triage results/my-service/ --repo ~/code/my-service --auto --votes 5
- claude > /patch results/my-service/<timestamp>/ --model <model-id>
- /triage は複数回の結果を統合・重複排除・優先度再評価
参考資料・ドキュメント
- Blog Post :導入知見・ベストプラクティス
- Pipeline :構成図・各ステージ・CLIフラグ
- Security :サンドボックス設計・マウント禁止事項
- Agent sandbox :gVisor隔離・egress許可リスト
- Customize :新規スタックへの移植方法
- Patching :修正案生成・検証フロー
- Troubleshooting :重複、レート制限、サブエージェントモデル固定
- Safeguards :危険なサイバー作業のブロック
導入のポイント
- 初日から小さく始めて徐々にスケールアップ することが成功の鍵
- 設計に多くの時間を費やすより、まず実践することを推奨
- 最初はcanary等のサンプルコードで全体像を把握、徐々に自社コードへ適用
このリファレンス実装は Claude API を活用した 自律型脆弱性発見・修正パイプライン の構築・運用を支援。 安全設計 ・ カスタマイズ性 ・ 段階的導入 を重視し、セキュリティチームの現場運用に即したベストプラクティスを提供。