9月18日、Google Cloudが「Using AI agents to secure Google infrastructure」と題した記事を公開した。偽陽性率3%・検出精度92%以上・処理時間1分以内——Googleが自社の全コード変更をリアルタイムにスキャンし、脆弱性をマージ前に検出・自動修正する実運用システムを詳述した内容だ。セキュリティチェックを「後から大規模に行う」モデルを捨て、開発フローに埋め込むアプローチの詳細が公開されている。
「後から大規模スキャン」をやめた
従来のセキュリティスキャンは、定期的に実施する大規模な一括スキャンが主流だ。しかしこのアプローチは処理が遅く、コンテキストが不足しがちで、脆弱性の発見が遅れる。
Googleが採用したのはその逆で、コードのチェックイン(コミット)ごとにリアルタイムでスキャンを実行する「プレサブミットスキャン」だ。プレサブミットスキャンとは、コードがリポジトリに取り込まれる(サブミットされる)前の段階でチェックを走らせる手法で、問題を上流で食い止めることができる。スタックの全レイヤーを対象に、開発者が普段使うツールに組み込まれているため、セキュリティチェックがルールチェッカーやコードレビューと同列の「日常作業」になる。
また、個々のコード変更だけをスキャンすればよいため、一括スキャンと比べてAIが扱うコンテキスト量が大幅に減り、スキャン精度が上がるという副次的な効果もある。
偽陽性率3%を達成したケースもある「ローカライズされた脅威モデル」
このシステムの核心は、Googleがオープンソースで公開しているマルチエージェントレビューフレームワーク「Mantis」をベースにした実装だ。元記事ではMantisを活用した構成として紹介されており、Mantis自体の詳細はGitHubリポジトリで確認できる。
従来の脅威モデルは静的なドキュメントで管理されることが多いが、Googleのアプローチではライブのコードベースメタデータを使う。さらにスキャンエージェントは、パッケージやライブラリをまたいだ依存関係コールグラフを参照することで、脅威モデルのコンテキストを動的に拡張・精緻化する。コールグラフとは、あるコードがどの関数・モジュールを呼び出しているかを有向グラフで表したもので、攻撃経路の追跡に有効だ。
脅威モデルを継続スキャンのループに組み込むことで、開発者が脅威や依存関係を随時更新するインセンティブが生まれ、モデルが常に最新の状態に保たれる。この精度向上の結果、元記事によれば偽陽性率を3%まで低減したケースもあるという。
92%の精度を1分以内で出す二段階バリデーション
プレサブミットスキャンは開発者の作業をブロックしかねないため、低レイテンシでの応答が必須条件になる。Googleは以下の二段階プロセスで対応している。
第一段階(プレサブミット): まず軽量な高速スキャンを走らせ、その結果を専門の「トリアージエージェント」で検証する。トリアージエージェントとは、検出された問題を重要度・緊急度に応じて優先順位付けし、誤検知を除外する役割を担うエージェントのことだ。このエージェントは以下の手法を使ってコードを静的解析し、攻撃者が実際に脆弱なパスに到達できるかを確認する。
- 抽象構文木(AST)パース: ソースコードを木構造で表現し、プログラムの構文・意味を機械的に解析する手法
- コールグラフトラバーサル: 関数呼び出しの連鎖をグラフとして辿り、脆弱なコードパスへの到達可能性を確認する手法
- 事前インデックス化されたドメイン安全ルール: 既知の安全基準をあらかじめデータベース化し、照合を高速化する仕組み
このエージェントは精度92%以上を達成しつつ、1分以内に処理を完了する。
第二段階(ポストサブミット): 夜間のインテグレーションテスト時に、オフピーク時間を使ってより深いスキャンを実施。複数の変更をまたいで導入された脆弱性をカバーする第二の防衛線として機能する。
検出だけで終わらせない「自動修正エージェント」
脆弱性を見つけるだけでは問題は解決しない。このシステムには、自動バグ修正エージェントも含まれている。
スキャン結果と「脆弱性がどのように悪用されるかを示すコードスニペット(プルーフ)」を入力として受け取り、Googleの内部コーディング標準に準拠した修正コードを自律的に生成する。修正案はオリジナルのチェンジリクエストのレビューに添付され、人間が確認・承認するフローになっている。検出から解決までの時間を縮める設計だ。
なお、AIが生成した修正案を人間が最終承認する「ヒューマンインザループ」構成を採用している点は、セキュリティ上の信頼性を担保するうえで重要な設計判断といえる。
他組織が導入する際の4原則
Googleは、同様のアプローチを自社以外の組織が採用する際の指針として以下の4点を挙げている。
- システムを分離する: 開発・スキャン・トリアージの各エージェントのハーネス(エージェントを動かすための実行環境・制御基盤)、ルール、コンテキストを独立させてバイアスを防ぐ。軽量AIスキャンと決定論的な構造検証を組み合わせる。
- コンテキストを賢く使う: 既存の脅威モデルをエージェントに与える。正確なコンテキストが偽陽性削減の答えだ。
- ハーネスを丁寧に作る: モデル選定も重要だが、マルチエージェントハーネスを使うことでモデルの選択による変動を補正できる。
- 修正も自動化する: ヒューマンインザループの修正提案をエージェントに行わせ、解決までの時間を短縮する。
背景:AIによるセキュリティ自動化の潮流
AIエージェントをセキュリティスキャンに活用する動きは近年加速している。静的解析ツールによる自動検出自体は以前から存在するが、LLMベースのエージェントが「コンテキストを理解した上で脆弱性を判断し、修正案まで生成する」段階に到達したことで、従来ツールとの差別化が生まれている。Googleの今回の事例はその実運用における具体的な数値と設計原則を示した点で、業界にとって参照価値が高い。
なお、このシステムの基盤となるMantisはオープンソースとして公開されており、自社環境への導入が可能だ。バックエンドにはGoogle Cloud、Gemini Enterprise Agent Platform、TrilliumおよびIronwood TPU上で動作するGeminiモデルが使われている。
詳細はUsing AI agents to secure Google infrastructureを参照していただきたい。