10月31日、Renato Losioが「Google Discloses PageBreak AI Security Agent That Found 500+ XSS Bugs」と題した記事を公開した。この記事では、GoogleのAIセキュリティエージェント「PageBreak」が本番稼働から500件超のXSS脆弱性を発見した経緯と技術的な仕組みについて詳しく紹介されている。
「誤検知ほぼゼロ」を実現した設計思想
AIによるセキュリティスキャンの最大の課題は、誤検知(false positive)の多さだ。AIが「脆弱性がある」と報告しても実際には再現できないケースが続けば、開発チームは検証作業に追われ、報告そのものへの信頼を失う。PageBreakはこの問題に正面から向き合った。
システムの核心は「決定論的バリデーション(deterministic validation)」にある。AIモデル(Geminiを使用)が脆弱性の仮説を立てるだけでなく、実際に動作するアプリケーション環境に対してエクスプロイトを実行し、再現できた場合にのみ報告を上げる仕組みだ。
- XSS:JavaScriptの実際の実行
- パストラバーサル:誰でも読み取り可能な場所へのファイル書き込み
- RCE(リモートコード実行):外部向けDNSクエリのトリガー
Google情報セキュリティエンジニアのMichał Bentkowskiは、エンジニアの立場から次のように述べている。
PageBreak開発の初期段階で、私たちは決定論的バリデーションを優先するという意識的な決断を下した。コードパターンから単に脆弱性を推測するのではなく、実行環境に対して潜在的な欠陥を検証することでループを閉じる。このアプローチにより誤検知率はほぼゼロになり、未検証の脆弱性報告でプロダクトチームを過負荷にせずに済む。
「誤検知ほぼゼロ」はBentkowski個人の発言に基づくものであり、Googleとして公式に保証した数値ではない点は留意が必要だ。
バリデーターはセキュリティエンジニアが書いた通常のコードであり、モデル自身が生成するわけではなく、エージェントのループの外に置かれている点も重要だ。Googleシニアスタッフ情報セキュリティエンジニアのLukas WeichselbaumはLinkedIn上でこう強調している。
AIが生成したバグレポートの多くは説得力があるように見えても実際には誤りで、受け取ったチームは一つひとつ確認する時間を無駄にする。PageBreakではモデルが何を提案しても、バリデーターが実際のペイロードで確認して初めて発見としてカウントされる。
誤検知ゼロの裏にある「見逃し」リスク
ただし、この設計にはトレードオフがある。Bentkowskiは偽陰性(false negative)のリスクを認めている。
決定論的バリデーションは私たちのゴールドスタンダードだが、現状のバリデーターはすべての脆弱性タイプや複雑なシナリオをカバーするには能力が不足している。非決定論的バリデーターなら発見できていたかもしれない偽陰性を見逃すリスクがある。
再現確認できなかった「非決定論的な発見候補」はプロダクトチームには送らず、Google内部で保持する。今後のスキャンの種(シード)として使い、バリデーション能力のギャップ特定や新しいバリデーター開発の指針として活用する方針だ。
Googleの技術基盤が支えるスキャン精度
PageBreakが大規模に機能する背景には、Googleの開発インフラが深く関わっている。
- **Googleモノレポ**:エンドツーエンドのコード可視性
- セキュリティシグナル:ライブHTTPトラフィックとソースコードを紐付ける仕組み
- 既存スキャンインフラ:Webアプリへの認証済みアクセスを提供
これらの環境があってこそ、AIエージェントが実際のアプリケーション環境でエクスプロイトを試行できる。同様の仕組みを他社が構築するには相応の前提条件が必要になる。
実際に発見された脆弱性の事例
GoogleのBug Huntersブログでは、PageBreakが実際に発見した3つの技術的事例が紹介されている。
- XSS脆弱性:ユーザー入力のサニタイズが不十分な箇所を特定し、JavaScriptの実際の実行によって悪用可能であることを確認した事例。PageBreakはペイロードを注入して実行を観測するまでを自動で完結させた。
- キャッシュポイズニング:サービスの設定ミスに起因するもので、悪意ある応答をキャッシュに混入させることで他のユーザーへの影響を及ぼせる状態だった。エージェントがHTTPトラフィックの挙動を分析する中で発見された。
- パストラバーサル脆弱性:意図しないファイルパスへのアクセスが可能な状態を、実際にファイル書き込みを試行することで確認した事例。決定論的バリデーションによって再現性が担保されている。
自動修正との統合へ
Googleは長期的な目標として、プロダクトチームの関与をAI生成修正の検証のみに絞ることを掲げている。そのため、PageBreakをCodeMenderと統合する取り組みを進めている。CodeMenderとはGoogleが開発した脆弱性の自動修正コードを生成するツールで、Google Cloudのブログでその詳細が公開されている。発見から修正生成までをエージェントが完結させ、人間はその確認に集中するという構成だ。
なお、500件超という数字について独立した第三者検証は行われていない点は留意が必要だ。
詳細はGoogle Discloses PageBreak AI Security Agent That Found 500+ XSS Bugsを参照していただきたい。