概要
AIモデルは、複雑なソフトウェアにおける高重大度の脆弱性を自律的に発見できるようになってきました。以前に記載したように、Claudeはよくテストされたオープンソースソフトウェアで500件以上のゼロデイ脆弱性を発見しました。本記事では、Mozillaの研究者と協力した事例を共有します。Claude Opus 4.6は2週間で22件の脆弱性を発見し、そのうちMozillaが14件を高重大度(high-severity)として分類しました。これは、2025年に修正されたFirefoxの高重大度脆弱性のほぼ5分の1に相当します。言い換えれば、AIによって重大なセキュリティ脆弱性を高速に検出することが可能になっています。
- Claude Opus 4.6は2026年2月に22件の脆弱性を報告し、2025年の任意の単月より多い件数でした。
- Mozillaは我々の報告を受け、大量のレポートに対応し、どの所見をバグ報告として提出すべきかの判断を支援しました。
- 多くの修正はFirefox 148で配布され、残りは今後のリリースで修正予定です。
モデル評価からセキュリティ提携へ
2025年末、Opus 4.5はCyberGym(既知のセキュリティ脆弱性を再現できるかを試すベンチマーク)のタスクをほぼすべて解ける状態にありました。そこで、より難しく現実に即した評価を作るため、過去のFirefoxのCVEのデータセットを構築し、Claudeがそれらを再現できるかを試しました。Firefoxを選んだ理由は、コードベースが複雑かつ世界で最もよくテストされているオープンソースプロジェクトの一つであり、ブラウザの脆弱性はユーザーが未信頼のコンテンツに頻繁に接するため特に危険だからです。
まず、古いFirefoxコードベースで既知CVEを再現できるかを試したところ、Opus 4.6は高い割合で歴史的CVEを再現できました。しかし、それらがClaudeの学習データに含まれていた可能性があるため、次に現行のFirefoxで新規の脆弱性(報告されていないもの)を見つけるようにタスクを与えました。当初はJavaScriptエンジンに注力し、その後ブラウザの他の領域にも拡張しました。JavaScriptエンジンは独立して解析でき、攻撃表面が広いため重要な対象です。
発見から報告の流れ
- Claude Opus 4.6は探索開始から約20分で、JavaScriptエンジンにおけるUse After Free(メモリ脆弱性で、攻撃者が任意の悪意ある内容でデータを書き換えられる可能性がある)を報告しました。
- 当社の研究者の1人が最新のFirefoxリリースを使った独立した仮想マシンでこのバグを検証し、さらに他のAnthropic研究者2名も検証しました。
- 我々はBugzilla(MozillaのIssueトラッカー)に脆弱性の説明と、Claudeが作成し報告チームが検証した候補パッチを添えてバグ報告を提出しました。
この最初の脆弱性を検証して提出する間に、Claudeは既にさらに50件以上のユニークなクラッシュ入力を発見していました。これらのクラッシュをトリアージしている間、Mozillaの研究者が我々に連絡を取り、技術的なプロセスについて議論した後、我々が手動で検証した数件の脆弱性を共有したところ、彼らは未検証のクラッシュケースを含め一括で提出するよう勧めてくれました(すべてが確実にセキュリティ上の意味を持つとは限らない場合でも)。
最終的に我々は約6,000のC++ファイルをスキャンし、合計112件のユニークな報告を提出しました(高・中重大度の脆弱性を含む)。多くの問題はFirefox 148で修正済みで、残りは今後のリリースで修正予定です。
外部ソフトウェアでこの種のバグハンティングを行う際、コードベースについて見落としがあり誤検知(false positive)になる可能性が常にあります。我々は自己検証を行うよう努めますが、誤りの余地は常にあります。Mozillaがトリアージプロセスを透明にしてくれたこと、そして提出すべきテストケースの絞り込みに協力してくれたことに深く感謝しています。Mozillaの研究者は内部でもClaudeをセキュリティ目的に試験し始めています。
脆弱性の特定からプリミティブなエクスプロイト作成へ
Claudeのサイバーセキュリティ能力の上限を測るため、我々はClaudeが我々が発見したバグのいずれかを実際に悪用(エクスプロイト)できるかを評価しました。具体的には、攻撃者が行うようにターゲットシステムのローカルファイルを読み書きできる実証を要求しました。
- このテストは数百回、さまざまなスタートポイントで実行し、APIクレジットに約$4,000を費やしました。
- 結果として、Opus 4.6が実際に脆弱性をエクスプロイトに転換できたのは2件のみでした。
この結果から分かることは二点です。1) Claudeは脆弱性を見つける能力の方が、実際にそれを悪用する能力よりずっと高い。2) 脆弱性を特定するコストは、それをエクスプロイトにするコストより桁違いに安価である、ということです。
とはいえ、Claudeが自動的に粗末なブラウザエクスプロイトを作れる可能性がある点は憂慮すべきです。ただし「粗末」は重要な注意点です。Claudeが作成したエクスプロイトは我々のテスト環境でのみ動作し、意図的に現代ブラウザの一部のセキュリティ機構(最も重要なのはsandbox)を無効化していました。sandboxの目的はこの種の脆弱性による影響を低減することであり、今回のエクスプロイトの多くはFirefoxの『defense in depth』によって緩和されたでしょう。しかし、sandboxを回避する脆弱性は過去に存在しており、Claudeの攻撃はエンドツーエンドのエクスプロイトに必要な一要素になり得ます。ClaudeがどのようにFirefoxのエクスプロイトを開発したかの詳細はFrontier Red Team blogで読むことができます。
今後のAI対応サイバーセキュリティ
これらの初期の兆候は、ディフェンダー側のfind-and-fixプロセスを加速する重要性を強調しています。本節では、我々がこの分析中に得た技術的・手続き的ベストプラクティスを共有します。
パッチ作成エージェント(LLMを使ってバグ修正を開発・検証する)の研究に関して、メンテナがClaudeのようなLLMを使って報告のトリアージと対処を早めるのに役立ついくつかの手法を開発しました。
- タスク検証器(task verifier)を使うとClaudeは最もよく機能します。タスク検証器とは、AIエージェントの出力が目標を達成しているかを信頼できる方法で確認するツールです。検証器はエージェントに対してリアルタイムのフィードバックを与え、成功するまで深く反復させることを可能にします。タスク検証器は今回のFirefox脆弱性の発見で役立ちましたし、別の研究ではバグ修正にも有効であることが分かっています。
良いパッチングエージェントは少なくとも二つのことを検証する必要があります。
- 脆弱性が実際に除去されたこと
- プログラムの意図された機能が維持されていること(回帰が発生していないこと)
我々は、提案された修正後に元のバグが依然として再現されるかを自動的にテストするツールを構築し、別途テストスイートで回帰を検出する仕組みを用いました。メンテナは自分のコードベース向けにこれらの検証器を作る方法を最もよく知っているはずです。重要なのは、エージェントにこの二つの性質を確実にチェックする手段を与えることで、出力品質が飛躍的に向上するという点です。
- すべてのエージェント生成パッチがこれらのテストを通過したからといって直ちにマージに値するとは保証できません。とはいえ、タスク検証器は生成されたパッチが特定の脆弱性を修正しつつプログラム機能を維持する可能性を高め、いわゆる「もっともらしいパッチ(plausible patch)」の最小要件を満たす確信を高めます。
- AIが作成したパッチをレビューする際は、外部の著者が作成した他のパッチに求められるのと同じ注意深さでの精査を推奨します。
提出プロセス全体を俯瞰すると、我々はメンテナが作業過多であることを理解しています。したがって、我々のアプローチはメンテナがレポートを信頼し検証するために必要な情報を提供することです。Firefoxチームは我々の提出物の中で以下の3点を、信頼性を高めるために重要だと指摘しました。
- 付随する最小限のテストケース(Accompanying minimal test cases)
- 詳細なProofs-of-Concept
- 候補パッチ(Candidate patches)
我々は、LLM出力に基づく報告を提出する研究者に対し、検証と再現性の証拠を同様に添付することを強く推奨します。また、我々はCoordinated Vulnerability Disclosure operating principlesを公開しており、メンテナと協力する際に用いる手順を記述しています。現時点ではこれらのプロセスは業界の標準に従っていますが、モデルの性能が向上すればプロセスを調整する必要が出てくるかもしれません。
緊急性
Frontier言語モデルは現在、世界水準の脆弱性研究者になりつつあります。Firefoxで特定した22件のCVEに加え、我々はClaude Opus 4.6を使ってLinuxカーネルなど他の重要なソフトウェアプロジェクトでも脆弱性を発見しています。今後数週間〜数ヶ月にわたり、我々はモデルをどのように利用しオープンソースコミュニティと協力してセキュリティを改善しているかを引き続き報告します。
現時点ではOpus 4.6は脆弱性の発見や修正においてエクスプロイト作成よりかなり優位です。これはディフェンダーにとって有利な点です。また、最近限定的な研究プレビューでリリースしたClaude Code Securityにより、脆弱性発見(およびパッチ作成)機能を顧客やオープンソースのメンテナに直接提供し始めています。
しかし、進歩の速度を見ると、フロンティアモデルの脆弱性発見能力とエクスプロイト能力の差が長続きするとは考えにくいです。将来的にモデルがこのエクスプロイトの壁を突破した場合、モデルの悪用を防ぐために追加の安全策や他の対応を検討する必要があるでしょう。我々は開発者に対して、この猶予期間を活かしてソフトウェアの安全性向上に注力するよう強く促します。
当社の今後の計画
我々はサイバーセキュリティ活動を大幅に拡大する予定です。具体的には、開発者と協力して脆弱性を探索する(上記のCVDプロセスに従う)、パッチ作成の支援や検証を行うツールを開発するなどの取り組みを進めていきます。