概要
- FirefoxはAIモデル(Claude Mythos Preview等)を活用し、過去最多の潜在的セキュリティバグを特定・修正
- AI活用の手法、発見内容、他プロジェクトへのアドバイスを詳細解説
- AIモデルとハーネス技術の進化により、実用的なバグ発見が大幅向上
- 発見バグの一部を公開し、ソフトウェア防御強化の重要性を強調
- 今後も継続的な改善とAI活用によるセキュリティ強化を推進
FirefoxにおけるAI活用によるセキュリティバグ発見と修正の詳細
- Claude Mythos Preview などのAIモデルを活用し、 Firefox の潜在的なセキュリティバグを大量に発見・修正
- 以前はAI生成のバグ報告は誤報が多く、プロジェクト管理者に負担を強いる傾向
- LLMによる「問題」の指摘が容易だが、対応には多大な労力
- モデルの能力向上と活用技術の進化により、短期間で状況が一変
- モデルの高性能化
- モデル運用技術(指示、スケーリング、ノイズ除去)の大幅改善
- 通常は修正後しばらく詳細非公開だが、今回は特例として一部バグ報告を公開
- 多様なブラウザサブシステムから抜粋
- サンドボックス脱出等、高度な脆弱性も含む
- 公開したバグ例(一部抜粋)
- JIT最適化によりWebAssembly GC構造体の初期化が省略され、任意読み書き可能な偽オブジェクト生成
- <legend>要素の15年越しのバグ(再帰スタック、エッジケースの組み合わせ)
- IPC競合によるIndexedDB参照カウント操作でUAF(Use After Free)発生
- NaN値がJSオブジェクトポインタに偽装されサンドボックス脱出
- イベントループやGCを組み合わせた<object>属性セッターのUAF
- WebTransportの証明書ハッシュ大量送信による競合とUAF
- glibc DNS呼び出しの再現によるバッファオーバーリード等
- 20年越しのXSLTハッシュテーブル再ハッシュ問題
- カラーピッカー操作でのコールバックUAF
- RLBoxサンドボックスの検証ロジック抜け穴
- rowspan=0のHTMLテーブルでの16ビットビットフィールドオーバーフロー
- これらの多くはサンドボックス脱出であり、完全なFirefox侵害には他のバグとの連携が必要
- サンドボックス内で攻撃者制御のコード実行を前提
- AIモデルによるバグ発見はファジングでは困難な領域にも有効
- モデルが発見できなかった脆弱性も重要
- 例:プロトタイプ汚染によるサンドボックス脱出を設計変更で根本対策
モデル活用のハードニングパイプライン構築
- 過去数年にわたり、LLMによるコード監査を内部実験
- GPT 4やSonnet 3.5等を活用
- 誤検知率が高く大規模運用は困難だった
- エージェント型ハーネスの導入で状況が一変
- 実際にテストケースを生成・実行し、バグ仮説を動的検証
- Anthropicからの初期報告修正後、自社ファジング基盤上にハーネスを構築
- Claude Opus 4.6を用いたサンドボックス脱出探索
- 複雑なマルチプロセスコードでも未知の脆弱性を多数発見
- プロセス監督から始め、徐々にVM並列化・自動化
- 各ファイル単位でバグ探索・報告を自動実行
- 発見だけでなく、バグ管理・重複排除・トリアージ・修正まで一貫対応
- パイプラインはプロジェクトごとに最適化が必要
- エンジニアとの密なフィードバックループで改善
- パイプライン構築後はモデルの入れ替えも容易
- Claude Mythos Preview等の新モデル導入で効果向上
- 150リリースで271件、他バージョンでも追加修正
- チーム全体で100人以上が貢献
- パッチ作成・レビュー、パイプライン構築・運用、リリース管理
ソフトウェア開発者への提言
- どのプロジェクトでも、現代的なモデルとハーネスを活用すれば即座にバグ発見・堅牢化が可能
- シンプルなプロンプトから開始し、観察・反復で最適化
- 本質は「このコードにバグがあるか、テストケースを作って発見して」というサイクル
- 現状は人判断+自動信号で重点領域を選定してスキャン
- 近い将来、CIシステムに分析統合し、パッチ単位での自動スキャンも計画
- モデルは柔軟で、パッチスキャンも十分有効と期待
- 今こそ協力してインターネット全体のセキュリティ強化を推進
FAQ:よくある質問
- 「271件」との発表と、実際のCVE数が異なる理由
- 内部報告バグは「ロールアップ」CVEとしてまとめて登録
- 公式リポジトリのyamlがCVEの正規記録
- 外部報告や他手法による発見分も含め、4月は合計423件を修正
- Anthropic Frontier Red teamからの個別CVEも3件
- セキュリティ評価(critical, high, moderate, low)の意味
- sec-critical/sec-high:通常の利用で引き起こせる深刻な脆弱性
- sec-moderate:複雑な手順が必要な場合
- sec-low:ユーザー被害の少ないバグ
- Firefox 150の271件は、180件がsec-high、80件がsec-moderate、11件がsec-low
- sec-high/criticalと実際の攻撃可能性の違い
- 多くの場合、単一バグではFirefox完全侵害は不可
- 多層サンドボックス・OS保護(ASLR等)で防御
- sec-highはクラッシュ症状等で判定し、実際のエクスプロイト構築は行わない
- 誤判定リスクを下げ、脆弱性発見・修正にリソース集中
著者紹介
- Brian Grinstead:Firefox Distinguished Engineer
- Christian Holler:Firefox Tech Lead & Principal Engineer(@mozdeco)
- Frederik Braun:Firefox Application Securityチームマネージャー、Sanitizer API等の標準化にも貢献
参考URL