AIによるコード脆弱性検出の精度が90%に——Anthropicが示す「脅威モデル」構築と検証のベストプラクティス
要点
-
Anthropicは、AIモデル「Claude Opus」を用いてコードの脆弱性を発見・修正する「find-and-fixループ」のベストプラクティスを公開した。
-
脆弱性の発見は並列化で容易になったが、現在のボトルネックは「検証」「トリアージ」「パッチ適用」の工程に移行している。
-
脆弱性対策の事前準備として、システムの設計や信頼境界を定義する「脅威モデル」の構築と「サンドボックス環境」の整備を提唱している。
-
脅威モデルが明確なシステムでは、AIが検出した脆弱性のうち「90%が実際に悪用可能であった」という事例が報告されている。
-
ガイドと連携し、脆弱性検査や自動スキャンを試せるデモ用リポジトリがGitHubで公開された。
-
米Anthropicは2026年5月27日、AIモデル「Claude Opus」を用いてソフトウェアの脆弱性を発見・修正するためのベストプラクティスを公開した。モデルの進化に伴い脆弱性の発見自体は容易になったものの、その後の検証やトリアージ(検出された脆弱性の深刻度や優先順位を判定する作業)、修正(パッチ適用)が新たなボトルネックになっているという。同社は、脅威モデルの構築から修正に至る一連のサイクル「find-and-fixループ」の手順を解説している。
脆弱性対策のボトルネックは「発見」から「修正」へ
Anthropicは、セキュリティチームと共同で行ってきた脆弱性スキャンプロジェクト「Glasswing」の知見に基づき本ガイドをまとめた。同プロジェクトでは2026年5月22日時点で1,596件の脆弱性を開示し、うち97件にパッチが適用されたという。
取り組みを通じて、脆弱性の「発見」は並列化で容易になったが、その後の検証やトリアージ、修正に多くの手数がかかることが判明した。同社は、これらを効率化するアプローチとして、6ステップからなる「find-and-fixループ」を定義している。
- 脅威モデルの構築: スキャン開始前に、どのような挙動を脆弱性に該当するかを定義する。
- サンドボックスの整備: 脆弱性の再現コードであるエクスプロイト(脆弱性を悪用するプログラム)を安全に実行できる検証用の隔離環境を構築する。
- 発見: AIを用いてソースコード内の潜在的な脆弱性を探索する。
- 検証: 検出された問題が実際に悪用可能であるかを個別に確認する。
- トリアージ: 重複を排除し、深刻度を割り当てて修正の優先順位を決定する。
- パッチ適用: 修正を適用し、脆弱性の解消を確認した上で、類似の脆弱性を探索する。
ステップ1と2はコードベースごとの「事前準備」であり、システム変更時に見直される。ステップ3から6が、継続的に繰り返される「ループ」となる。
スキャンを繰り返すにつれ検出数は減り、複雑な問題が残るようになる。確率的に動くAIの性質上、コードが不変でも新たな検出が発生するため、初回は複数回ループを回し、以後は定期スキャンやコード変更時の実行が推奨される。
誤検知を防ぐ「脅威モデル」構築のステップ
脆弱性検出で誤検知が発生する最大の原因は、AIモデルがシステムの「信頼境界(データや通信の安全性を保証する境界)」を誤認している点にある。信頼されている設定ファイルを脆弱性と判定したり、外部公開サービスを内部専用と見なして深刻な問題を見逃したりする例がある。
実際、脅威モデルや設計書が整理されたシステムではAIの検出精度が高くなり、検出された問題の「90%が実際に悪用可能であった」という報告もある。
Anthropicは、Claude Opusを活用して脅威モデルを構築する2ステップを提案している。
まず、設計書や過去の脆弱性データをClaudeに与えてドラフトを自動生成する。コードからは見えにくい設計上の前提をAIが補完できる。過去のCVE(世界共通の脆弱性識別番号)の履歴から「バグの形状」を抽出し、適用漏れを問いかける手法も有効で、あるチームは1時間で3件の脆弱性を特定した。
次に、作成されたドラフトを基に、アダム・ショスタック氏の4つの質問(何を作るか、何が起こり得るか、対策は何か、良い仕事ができたか)に沿って有識者にインタビューし、運用コンテキストを補う。これにより、ゼロからモデルを作るよりも大幅な時間短縮が可能になる。
実用的な脅威モデル運用のヒント
運用のベストプラクティスとして以下の3点が挙げられている。
- 依存パッケージのポリシー反映: 依存パッケージが公開している既存のセキュリティ方針を取り入れる。
- 信頼対象の明文化: 安全とみなす設定ファイルや認証済みクライアントを明記して誤検知を防ぐ。
- リポジトリ同梱: 脅威モデルを
THREAT_MODEL.mdとして保存・更新し、AIがスキャン前に読み込んで不要な検出をスキップする。
構築した脅威モデルは、スキャン範囲の定義や「検証」プロセスで活用される。
デモ環境と連携用ツールの公開
ガイドの公開に合わせて、AnthropicはGitHub上に「defending-code-reference-harness」というリポジトリを公開した。このリポジトリには、インタラクティブなワークフロー用のスクリプトや自律的なスキャンを実行するデモ用ハーネスが含まれており、開発者が実際に手を動かしてプロセスを体験できるようになっている。