Artificial Intelligence (AI)
Pwn2Own Berlin 2026:「狩る側」にも「狩られる側」にもなった生成AI
今年ベルリンで開催されたPwn2Ownは、AIスタックの多くがいかに無防備なままであるかを浮き彫りにしました。これらのツールが謳う性能と実際に耐えられる攻撃との間のギャップは、その土台にあるセキュリティ基盤の脆さを物語っています。
- AIは今や「狩る側」であると同時に「狩られる側」でもあります。Pwn2Own Berlin 2026では、出場者が脆弱性の発見にLLMやエージェント型コーディングツールを活用する一方、Claude Code、Codex、CursorといったAIツール自体もターゲットリストに名を連ねました。
- Claude Code、OpenAI Codex、Cursorのいずれにおいても、悪用可能な弱点は同じ根本原因に行き着きました。基盤となる開発者ツールの過剰な権限と、エージェントとユーザの間の見当違いの信頼関係です。
- すべてのチームがワークフローのどこかでLLMを使用していましたが、いずれも発見フェーズでの誤検出率の高さを報告しており、これは従来のセキュリティリサーチと変わりません。重要なのは精度ではなく、スピードの優位性です。
- OllamaやChromaDBのようなツールはインターネット上に広く露出しており、これらやNvidia Container Toolkitへのエクスプロイトが成功すれば、モデルだけでなく基盤となるホストへのアクセスを許す可能性があります。
- バイブコーディングとサプライチェーンリスクにより、来年の競技はさらに規模が大きく、混沌としたものになりそうです。無関係なプロジェクト間に広がる類似コード、悪用可能な開発者ツール、継続するサプライチェーン攻撃を踏まえると、ソフトウェア開発とバグ発見が足並みをそろえて加速するなかで、アタックサーフェスは拡大する一方です。
Pwn2Own Berlinは、2025年の初開催から2年連続となる今年、5月14日から16日にかけてベルリンのOffensiveConで開催されました。世界最大のベンダー非依存型バグバウンティプログラムであるTrendAI™ Zero Day Initiative™(ZDI)が主催するPwn2Ownでは、セキュリティリサーチャーが広く使われているソフトウェアやハードウェアの脆弱性発見を競います。昨年の競技では、新設のAI特化カテゴリで初の成果が生まれました。Redisの重大なuse-after-free脆弱性であるCVE-2025-49844(ZDI-25-933)や、Nvidia Container Toolkitの権限昇格の欠陥であるCVE-2025-23266(ZDI-25-626)などです。
AI関連の全カテゴリで、ターゲット候補は合計13ありました。AIデータベースカテゴリ(通常はベクトルストアを指します)で出場者の攻撃対象となったのは、ChromaとOracle Autonomous AI Databaseのみでした。コーディングエージェントカテゴリでは、Anthropic Claude Code、Cursor、OpenAI Codexというすべてのターゲットに出場者が挑戦しました。ローカル推論カテゴリではLiteLLM、LM Studio、Ollamaのみが対象となり、NvidiaカテゴリではMegatron BridgeとContainer Toolkitだけが試みられました。結局、リサーチャーによる実際の挑戦を受けたのはこの10ターゲットにとどまりました。
本イベントには全カテゴリで記録的な数の応募があり、主催者側は参加者を厳選せざるを得ませんでした。また競技終了までに、予想を上回る数の辞退も発生しました。残念なことですが、その理由についての憶測は控えます。それでも最終的に、出場者全体で130万米ドル弱の賞金を獲得しており、これは依然として大きな金額です。
最高額の報奨金は、影響の大きいオペレーティングシステム、ハイパーバイザ、ブラウザの脆弱性に設定されていました。しかし、重要性の高まりを踏まえ、一部のAIターゲットにも決して少なくない賞金が用意されました。特に高額だったのはNvidiaカテゴリと推論ターゲットです。
AIシステムと聞いてまず思い浮かぶのは推論、つまり入力から予測を得る処理でしょう。典型的なのは、モデルをホストしてアクセスを提供するOllama、LM Studio、Nvidia Container Toolkitのようなシステム、あるいはLiteLLMのような抽象化・プロキシレイヤです。
Ollamaを使えば、ホストに十分なGPUとメモリがある限り、ユーザは多くのモデルをセルフホストできます。たとえば、GoogleのGemma 4やOpenAIのGPT-OSSといった大規模言語モデル(LLM)のほか、Nomicの埋め込みモデルもこの方法でローカル実行できます。また、Ollamaはインターネット上に露出している例が非常に多く、攻撃者にとって魅力的なターゲットとなっています。
Pwn2Ownのような競技では、Ollamaのように更新頻度が非常に高いターゲットは必ずしも狙い目とはいえません。数週間かけて開発したエクスプロイトが、最新バージョンでは通用しないと判明することもあるためです。それでもOut Of Boundsチームは2件のバグを発見しました。うち1件は既知ながら未修正のものでした。インターネット上に露出しているOllamaインスタンスの多くは、すでに改ざんや推論への無断利用が可能な状態ですが、このバグはさらに基盤となるホストへのアクセスまで許すものでした。
NvidiaのContainer Toolkitは、これらとは性格の異なるターゲットです。DockerやKubernetesなどのコンテナからNvidiaのGPUにアクセスできるようにするライブラリ群で、これによりユーザはコンテナ環境内から高性能なタスク、とりわけLLM推論を実行できます。攻撃が成功すれば、コンテナ自体、さらに悪い場合はホストシステムへのアクセスを許す恐れがあります。挑戦は3件あり、Chompie(IBM X-ForceのValentina Palmiotti氏)とPWN2DACAによる2件が成功しました。実際にこうした攻撃を実行するには、攻撃者があらかじめコンテナ環境への何らかのアクセスを持っている必要がありますが、エクスプロイトの連鎖は珍しくありません。
LM StudioはAIモデルや埋め込みモデルをホストする点でOllamaに似ていますが、より直感的なユーザインターフェースを備え、検索拡張生成(RAG)などAI関連の機能も提供しています。RAGは、関連するコンテキストをユーザプロンプトに取り込んでハルシネーションを減らす手法として広く使われています。ただしOllamaと異なり、LM Studioは基本的にローカル利用が前提で、インターネットに露出することはあまりありません。ElectronベースのGUIアプリケーションであるため、Electronが抱える多くの問題をそのまま引き継いでいます。OtterSecとStarlabsがさまざまなバグを発見したのも不思議ではありません。一方、Qrious Secureはエントリーを辞退しました。
エージェント型コーディングシステムもターゲットに含まれていました。OpenAIのCodexは、ChatGPTが世間に知られるよりずっと前から、各種コードエディタのプラグインとして存在していました。現在もプラグインとして使われていますが、スタンドアロン版やクラウドベースのアプリケーションとしても提供されています。Codexには5チームが挑戦し、発見されたバグは互いに似ており、基本的な発想自体は既知のものでしたが、その大半は固有のバグとして認定されました。ただし、失敗が1件、コリジョン(既出バグとの重複)が1件ありました。
AnthropicのClaude Codeはこの分野では比較的新しい製品ですが、絶大な人気を誇ります。ターゲットとしても人気が高く、4チームが挑みました。各チームが発見したバグは似通っており、うち2件は本競技で先に発見されたバグとのコリジョンと判定されました。引き当てる順番という運の要素の大きさを物語っています。
Cursorへの挑戦は、知名度の差もあってかViettelとSTARLabsによる2件にとどまりましたが、いずれも完全勝利となりました。
これら3つのAIコーディングツールはいずれも、エージェントが利用する基盤フレームワークに関連した、似たような原因から問題が生じているように見えます。こうした一般的な開発者ツールの中には、多くの機能を進化させてきた結果、生成AI時代にはそれが負債と化しているものがあります。また、エージェントがユーザにリスクの受け入れを求める場面では、ユーザがそのリスクを正しく評価できるとは限らず、そこには見当違いの信頼が存在します。
LLM単体でも一定の用途はありますが、ハルシネーションを起こしやすいという弱点があります。この問題に対処するため、生成AIを活用した多くのアプリケーションでは、信頼できるデータソースから取得した情報でプロンプトを補強します。そのためによく使われるのがベクトルストアであり、この手法は検索拡張生成(RAG)と呼ばれます。ベクトル埋め込みを使って対象のテキストに最も近いものを探すことで、類似テキストを検索できる仕組みです。
ChromaDBはAIアプリケーション向けに特化して開発されたオープンソースのベクトル検索指向データベースで、インターネット上に露出しているインスタンスが数多く見つかります。全体としては十分に堅牢化されているように見えますが、Out Of Boundsチームはリモートエクスプロイトを発見しました。露出しているChromaインスタンスの多くはすでに認証情報なしでアクセス可能な状態ですが、このようなエクスプロイトを使えば、本来保護されているインスタンスにもアクセスし、さらにホストシステムへ侵入できる恐れがあります。これらのデータベースには機密性の高いデータが格納されている可能性があるため、特に厄介な問題です。
Oracle Autonomous AI Databaseには1チームが挑戦しましたが、失敗に終わりました。
NvidiaのMegatron Bridgeは、Hugging FaceのフォーマットとNvidiaのNemotronフォーマットの間でモデルを相互変換するためのツールです。このターゲットには4チームが挑戦し、最後のチームは先に発見されたバグとのコリジョンとなりました。ソフトウェアが入力を受け付ける以上、攻撃者はその入力を操作して攻撃に利用できます。各チームによれば、勝利に必要なのは最終的に1件だけだったものの、多数のエクスプロイトが見つかったとのことです。
筆者が関わった情報開示の場では、出場者に生成AIの利用状況を尋ねました。全員が、何らかの形でLLMを利用していました。ほぼ全員が使っていたのは、各エクスプロイトに添付が義務付けられているホワイトペーパーの作成です。特に英語を母語としないチームは翻訳にLLMが役立ったと述べています(もっとも、控えめに言っても不自然な語の使い方が見られましたが)。初期のバグ発見に何らかのコーディングエージェントを使ったチームも多かったものの、このフェーズでの誤検出率の高さは全員が報告していました。
これは意外なことではなく、多くの袋小路に行き当たる「通常の」バグ探しと変わりません。一部のチームは、生成AIを主にエクスプロイト開発に、とりわけEDR(Endpoint Detection and Response)システムによる検出を回避するための攻撃の難読化に使ったと報告しています。筆者が参加した情報開示の範囲では、Anthropic Mythosを使用した、あるいはAIセキュリティプログラムに参加しているという報告はありませんでした。Mythosはその後Fable 5として一般公開されましたが、セキュリティリサーチャーにはあまり有用とはいえない制限が課されています。
筆者自身がこうしたエージェント型ハーネスを使った経験では、手作業でははるかに時間のかかる大量のコードの読解に役立ちました。また、筆者はPythonやC++はよく読めるもののRustやGoのニュアンスまでは理解できていませんが、エージェント型コーディングハーネスは何の苦もなくこなします。しかし意外なことに、これらのハーネスの内部の仕組みは想像以上に素朴で、「grep」の多用、必然性のない「find」の乱用、簡単なPythonコードの実行、関連コンテンツのインターネットからのダウンロードなどで成り立っています。SMTソルバーやプログラム依存グラフのような高度な手法は使われていません。
違いは、エージェント型コーディングハーネスが筆者よりはるかに速く分析をこなせる点にあり、それだけで熟練アナリストを模倣するには十分です。コーディングエージェントを追い込んでみたところ、エージェントが会話をポリシー違反の可能性ありとフラグ付けするまでに、エクスプロイトの完成にかなり近いところまで到達できました。これはすべて、謎めいたAnthropic Mythosへのアクセスなしで行ったものですが、大量のトークンを消費しました。結局のところ、生成AIモデルそのものよりも、それを駆動するハーネスの方が重要なのかもしれません。
来年のPwn2Ownでは、出場者が独自のバグ発見ハーネスを開発し、情報漏洩を避けるためにローカルモデルを使うケースも出てくると予想しています。同時に、バイブコーディングによって類似のコードが生成されるという問題もあり、無関係なプロジェクト同士が同様の問題を抱える可能性があります。ソフトウェアサプライチェーン攻撃や、悪用可能な機能を持つコーディングツールへの対応も引き続き課題です。ソフトウェア開発とバグ発見のペースが足並みをそろえて加速するなか、来年は応募も辞退もさらに増えるかもしれません。
参考記事
GenAI Is Both Hunter and Hunted at Pwn2Own Berlin 2026
By: Morton Swimmer
翻訳:与那城 務(Platform Marketing, Trend Micro™ Research)