エンジニアの思い立ったが吉日

このブログでは、「あ、これ面白い!」「明日から仕事で使えそう!」と感じたIT関連のニュースやサービスを、難しい言葉を使わずに分かりやすく紹介しています。ITに詳しくない方にも楽しんでもらえるような情報を発信していくので、ぜひ「継続的な情報収集」の場としてご活用ください。

AIがセキュリティを革新:Claude×Mozillaで判明したAI脆弱性発見の現在地

「自社のコードに潜む脆弱性(セキュリティ上の欠陥)を、どうやって効率よく発見すれば良いのか?」——セキュリティを担当するエンジニアなら、一度は頭を悩ませたことがある問いではないでしょうか。

2026年3月、AnthropicとMozillaの間で行われたセキュリティ研究が、その問いに対する答えの一端を鮮烈に示しました。AnthropicのAIモデル「Claude Opus 4.6」が、わずか2週間でFirefoxに22件のセキュリティ脆弱性(うち14件は重大度「高」)を発見したのです。この成果は、2025年1年間にFirefoxが修正した「高リスク」脆弱性の総数の約5分の1に相当します。

本記事では、この画期的な事例の詳細を解説しながら、AIによるセキュリティ検査が従来手法とどう違うのか、そして私たちエンジニアがどう向き合うべきかを、実践的な観点から掘り下げていきます。

AnthropicとMozillaの共同研究:何が起きたのか

Claudeが最初のバグを発見するまで20分

AnthropicのフロンティアレッドチームがClaude Opus 4.6を用いてFirefoxの脆弱性調査を開始したところ、調査開始からわずか20分で最初のバグが報告されました。それは「Use After Free(UAF)」と呼ばれるメモリ脆弱性で、ざっくり言うと「すでに解放済みのメモリ領域に攻撃者が任意のデータを書き込める」という深刻なものです。

Anthropicの研究者がFirefoxのJavaScriptエンジンから調査を始め、その後ブラウザ全体のコードベースへと範囲を拡大。最終的に約6,000ファイルものC++コードをスキャンし、112件のレポートを提出しました。

注目すべきは、Anthropicが最初のバグを検証・報告している間に、Claudeがすでに50件以上の新たなクラッシュを発見していたという事実です。Claudeの「並列処理的な探索能力」がいかに人間の作業速度を圧倒しているかがわかります。

Mozillaのエンジニアも驚いた「インシデント対応」レベルの規模

Mozillaのシニアプリンシパルエンジニア、Brian Grinstead氏は「これは大量の流入だ。私たちは100件以上のバグがファイルされ、それをトリアージし、ほとんどを修正するため、インシデント対応のように動員した」と述べています。

Mozillaにとって従来のAI支援バグ検出システムとは結果が大きく異なり、Anthropicのチームが最初の検証済みバグを持ち込んできた数時間以内に、プラットフォームエンジニアが修正作業を開始したほどです。

これらの修正は数億人のユーザーが利用するFirefox 148.0に反映され、残りの修正は今後のリリースで対応される予定です。

発見した脆弱性の内訳と意義

Mozilla が22件に対してCVE(共通脆弱性識別子)を付与しましたが、そのうち14件が高リスクと評価され、これは前年2025年に修正された高リスクFirefox脆弱性の約20%に相当します。

区分 件数
提出レポート総数 112件
セキュリティ関連バグ(CVE発行) 22件
うち高リスク(High Severity) 14件
その他のバグ(UX等) 90件

セキュリティ関連以外の90件も、そのほとんどが修正済みです。一部の低リスク発見は「アサーションエラー(プログラムが自己検証に失敗した状態)」で、従来のファジングで検出されてきた問題と重複するものでした。


なぜFirefoxを選んだのか:「最難関」を選んだ理由

世界で最も厳しくテストされたソフトウェアへの挑戦

Anthropicのフロンティアレッドチーム責任者のLogan Graham氏は「Firefoxは世界で最もテストされ、最も安全なオープンソースプロジェクトのひとつ。数十年にわたってセキュリティ研究者たちの精査を受け、継続的にファジングが行われ、本当に優秀なエンジニアたちによって保守されている」と説明しています。

つまり、あえて「最も発見が難しい対象」を選ぶことで、Claudeの能力を客観的に評価しようとしたわけです。簡単なターゲットで成功しても、それはAIの真の実力の証明にはなりません。

JavaScriptエンジンから始まった理由

調査はまずFirefoxのJavaScriptエンジンから着手されました。これはコードベースの独立したスライスとして分析しやすく、なおかつユーザーがウェブを閲覧するとき信頼できないコードを処理するため、攻撃対象面(アタックサーフェス)が広く、特に安全性が重要な部分です。

JavaScriptエンジンは、外部のウェブサイトから受け取ったコードをそのまま実行するため、悪意のあるサイトを訪問しただけで攻撃が成立しうる「最前線」です。ここに脆弱性があれば、攻撃者にとって格好の侵入口になります。

発見された脆弱性の代表例:JITミスコンパイル

今回の中心となった脆弱性の一つ「CVE-2026-2796」は、JavaScriptのWebAssembly(ブラウザ内でコンパイル済みコードを実行する技術)コンポーネントにおけるJITミスコンパイル(JIT:実行直前にコードを最適化する技術)に分類されます。

具体的には、2つのWasmモジュール間での関数インポートの際に、関数の型シグネチャ(データの型や引数の構造)が一致しているかチェックされないまま、最適化パスに渡されてしまうという欠陥でした。

技術的に難しく聞こえますが、平たく言えば「異なる型のデータを渡しても実行されてしまう」という穴を突いて、メモリを不正操作できる状態になる、ということです。


AIによる脆弱性発見 vs 従来手法:何が決定的に違うのか

従来のセキュリティテスト手法との比較

これまでソフトウェアの脆弱性発見には主に以下の手法が使われてきました。

手法 概要 得意なこと 苦手なこと
ファジング 異常な入力を大量に自動生成してクラッシュを検出 クラッシュの発見・量産 根本原因の特定・意味的脆弱性
SAST(静的解析) ソースコードを実行せず解析 コーディングミスの早期発見 実行時の動的な脆弱性
DAST(動的解析) 実行中のアプリを外部から攻撃シミュレート 実行環境での欠陥発見 コード内部のロジック欠陥
手動ペネトレーションテスト 専門家が人力で脆弱性を探す 高度な論理欠陥・組み合わせ攻撃 スピード・カバレッジの限界
AIエージェント(Claude等) コードを深く理解し文脈的に推論 高度なセマンティック脆弱性 完全な自動化・コスト

Firefoxはファジングや静的解析、定期的なセキュリティレビューを何十年も受け続けてきたにもかかわらず、Claudeはそれらが見逃していた未知のバグを多数発見することができました。Mozillaのエンジニアはこれを「ファジングの黎明期に似た転換点」と表現しています。

AIが従来手法と根本的に異なるのは、コードの「意味」を理解した上で推論できる点です。ファジングはランダムな入力でクラッシュを探しますが、AIは「なぜこのコードが脆弱なのか」を論理的に分析し、的を射た攻撃ケースを構成できます。

AIならではの強み:「タスクベリファイア」という革新

Anthropicが強調するのが「タスクベリファイア」の活用です。これは、AIエージェントが自分の出力を別ツールで検証できる仕組みのことで、AIが探索しながらリアルタイムに深く掘り下げられるようになります。今回の調査では、提案したパッチで元のバグが再現しなくなること、かつテストスイートでリグレッション(修正によって別のバグが生まれること)が発生しないことを自動検証しました。

これはいわば「自己点検しながら進む探索者」です。人間のエンジニアが「これは本当に脆弱性か?」と都度確認する手間を、AIが自律的に行えるようになっています。

レポートの質が「採用率」を左右する

Firefoxチームがレポートを信頼するために特に重要だと指摘した3つの要素は、①最小限の再現手順(テストケース)、②詳細なProof of Concept(実証コード)、③修正候補パッチの提示、です。

Claudeはこれらをセットで提出したことで、Mozillaのトリアージ(優先順位付け)作業が劇的に効率化されました。報告書の質が高ければ、それだけ修正サイクルが早くなるという教訓は、AIを使う際だけでなく、人間のエンジニアが脆弱性を報告する際にも通じる普遍的な原則です。


エクスプロイト開発への挑戦:発見と悪用の「コスト差」

Claudeは「攻撃ツール化」がまだ苦手

Claudeは脆弱性を発見するほうがエクスプロイト(脆弱性を悪用した攻撃コード)を書くよりも大幅に得意です。AnthropicのチームはAPIクレジット約4,000ドル分を費やして数百回の試行を行いましたが、実際に動作するエクスプロイトを作れたのはわずか2件でした。

研究者たちは「Claudeはまだブラウザのサンドボックスを脱出するような『フルチェーン』エクスプロイトは書けていない。それが実際の被害につながるものだ」と明言しています。

この「発見はできるが悪用はまだ難しい」という非対称性が、現在AIが防御側に有利に働いている根拠です。

ただし、その差は縮まりつつある

Anthropicは「フロンティアモデルが脆弱性発見能力と悪用能力の差を保っている期間は、おそらく長くは続かない」と明言しており、将来的にこの差が縮まった場合は追加の安全策や措置を検討する必要があると警告しています。

AIサイバーセキュリティ企業Knosticの最高経営責任者Gadi Evron氏は「AIシステムがバグを発見し攻撃コードに転換するスピードは、現在のサイバー防御手法では到底対応できない」と指摘しています。

IPAが発表した「情報セキュリティ10大脅威 2026」では、「AIの利用をめぐるサイバーリスク」が初めて選出されました。これは攻守両面でAIがセキュリティの根本的な前提を変えつつあることを示しています。


エンジニアチームが今すぐ取り組むべきこと

AIセキュリティ検査を自社開発に組み込む

今回のAnthropicとMozillaの事例は、大企業だけの話ではありません。Claude CodeのAPIやGitHubのCopilotといったツールを活用すれば、チーム規模のプロジェクトでも同様のアプローチを部分的に導入できます。

特に有効なのは以下のシナリオです。

  • コードレビュー時: プルリクエストにClaude等のAIを組み込み、セキュリティ観点のチェックを自動化する
  • 重要モジュールの定期スキャン: 認証、セッション管理、入力バリデーションなどリスクの高い箇所を定期的にAIにレビューさせる
  • バグバウンティ前の事前スクリーニング: 外部公開前にAIで一次チェックし、発見コストを下げる

AIレポートを受け取る側の準備

Mozilla側のエンジニアが指摘したように、AIによる大量のバグ報告は「大量流入」を引き起こします。受け取る側のチームも、トリアージ(優先順位付けして対応する体制)を整備しておく必要があります。

組織として準備すべきポイントをまとめます。

  • AIバグレポートの評価フロー整備: 人間の担当者がAI発見バグを検証する手順を事前に定義する
  • False Positive(誤検知)への対応方針: AIが自信を持って報告したバグでも、コードベースの文脈を知る人間が最終判断する仕組みを持つ
  • パッチ適用の優先度マトリクス: 高リスク度×実際の攻撃可能性×影響範囲を掛け合わせた優先順位の基準を整備する

脆弱性開示プロセス(CVD)の見直し

Anthropicは「協調的脆弱性開示(CVD:Coordinated Vulnerability Disclosure)」の運用原則を公開しており、AIによるバグ発見を外部ソフトウェアで行う際の手順を業界標準として定めています。AIが能力を向上させるにつれ、このプロセスも適宜見直す必要があるとしています。

チームリーダーとしては、自社の脆弱性発見・報告・修正の一連のサイクルをAI時代に合わせて更新する機会と捉えると良いでしょう。


メリットと注意点:バランスの取れた視点で評価する

AIセキュリティ診断の主なメリット

  • スピード: 数十年かけて蓄積されたFirefoxの脆弱性より多い数を、たった2週間で発見
  • カバレッジ: 6,000ファイル以上のC++コードを全件スキャン(人的リソースでは不可能)
  • コスト効率: 脆弱性の発見コストはエクスプロイト開発コストより桁違いに安く済みます。発見自体のコストが低下することで、防御側が先手を取りやすくなる
  • 再現性の高い報告書: ClaudeはPoC(証明コード)や修正候補パッチを同時に生成でき、人間の検証・修正工程を加速させる

注意点・現時点での限界

  • 誤検知リスク: Curl開発者のDaniel Stenberg氏が指摘したように、「AIチャットボットはセキュリティ問題を簡単に幻覚する(ハルシネーションを起こす)。2025年に報告されたバグの20件に1件も実際に存在していなかった」という例もあります。ノイズ(偽陽性)への対処は不可欠です
  • エクスプロイト開発への転用リスク: 脆弱性発見能力が上がれば、悪意を持つ利用者が攻撃に転用するリスクも高まります
  • 専門家レビューの必要性: AIが生成したパッチは必ず人間の専門家によるレビューが必要です。AIが出した修正候補を盲目的にマージするのは禁物です
  • サンドボックスによる限界: 今回のエクスプロイトはFirefoxの主要なセキュリティ機能(サンドボックス)を無効にした環境でのみ動作したため、実際の攻撃シナリオとは異なります。AI単体では「現実の攻撃」をまだ完全には模倣できていません

まとめ:AI×セキュリティが変える「攻防のバランス」

AnthropicとMozillaの今回の共同研究は、単なるセキュリティニュースではなく、ソフトウェア開発とセキュリティの未来を示す重要な転換点です。

Mozillaは「大規模なAI支援解析が、セキュリティエンジニアの強力な新しい武器になる明確な証拠だ」と評価しており、Firefoxはファジング・静的解析・定期的なセキュリティレビューを何十年も受けてきたにもかかわらず、それらを突破する多数の未知のバグを発見することができたという事実は、AIの能力がいかに本物であるかを示しています。

現時点では、AIは「発見は得意、悪用はまだ苦手」という構造にあります。この非対称性が防御側の有利な窓(チャンス)です。この窓が開いているうちに、私たちエンジニアはAIを活用したセキュリティ強化の仕組みを自社のワークフローに組み込んでおく必要があります。

今日から取れるアクション例: - Claude APIやGitHub Copilotを使ったコードのセキュリティレビューを試験導入する - 自社の脆弱性レポートと修正フローをAI大量報告時代に対応できるよう見直す - チームメンバーにファジングやSAST/DASTとAIの違い・使い分けを共有する

セキュリティは「対策済みだから安心」ではなく、「常に更新し続けるプロセス」です。AIという強力な武器を手に入れた今こそ、そのプロセスをアップデートするチャンスです。

engineer-kichizitsu.net

engineer-kichizitsu.net

engineer-kichizitsu.net

engineer-kichizitsu.net

engineer-kichizitsu.net

当サイトは、アフィリエイト広告を使用しています。