anthropics/defending-code-reference-harness

Skills for threat modeling, scanning, triage, patching, plus an autonomous scanning harness you can /customize

解決する課題

このプロジェクトは、ソースコード内のセキュリティ脆弱性を自律的に発見し、修復するためのリファレンス実装を提供します。偵察、脆弱性の発見、検証、報告、およびパッチ適用の一連のループを自動化することで、セキュリティ監査に必要な手動作業の削減を目指します。

仕組み

このシステムは、Claudeを搭載した多段階のパイプラインを使用して、バグを特定し、実行を通じてそれらを検証します:

  1. Build: ターゲットコードをDockerイメージにコンパイルします(C/C++のメモリエラー検出にはASANを使用)。
  2. Recon: エージェントがソースを分析し、コードベースを攻撃可能なサブシステムに分割します。
  3. Find: 並列エージェントが不正な入力を作成し、クラッシュが再現されるまでバイナリを実行します。
  4. Verify: 別のグレーダーエージェントが、新しいコンテナ内でクラッシュを再現し、発見内容を確認します。
  5. Dedupe: ジャッジエージェントが重複したレポートを削除します。
  6. Report: エージェントが、深刻度と到達可能性を含む構造化されたエクスプロイト可能性分析を記述します。
  7. Patch: パッチエージェントが修正案を提示し、その後グレーダーによって、バグが解消され、デグレードが発生していないことが検証されます。

安全のため、自律的なパイプラインは、ネットワークの送信が制限されたgVisorサンドボックス内でターゲットコードを実行します。

対象者

独自の自動脆弱性発見パイプラインを構築したい、あるいはAI駆動のセキュリティスキャンをソフトウェア開発ライフサイクル(SDLC)に統合したいセキュリティチームおよび開発者。

ハイライト

  • エンドツーエンドの自動化: 脅威モデリングからパッチ検証までのライフサイクル全体をカバーします。
  • 実行によって検証された発見: 再現可能なクラッシュを要求することで、静的解析の枠を超えた検証を行います。
  • サンドボックス化された実行: gVisorを使用して、潜在的に危険なターゲットコードの実行を隔離します。
  • カスタマイズ可能なフレームワーク: デフォルトではC/C++向けに設定されていますが、パイプラインの構成は汎用的であり、他の言語や脆弱性の種類にも移植可能です。

関連

  • Dispatch
  • プロジェクト
  • プロジェクト
  • プロジェクト