暗いネイビーの背景に抽象的なイラスト:左側に小さな画像ファイルアイコンが1つあり、細い光の軌跡で半透明のサーバーパネルの束につながり、そこから2本目の軌跡が光るリングを通って淡いアカウントタイルの集まりへと続く。テキスト、人物、組織のロゴは一切表示されていない。OrcaRouterのロゴが右下隅に合成されている。
AI Safety Incidents

研究者らはバグバウンティの連鎖の中でClaudeを使い、OpenAIの内部システムをハッキングした

著者

Magnus Corvin

公開日

最新モデル · 20すべてのモデルを見る →
ベンチマーク:Artificial Analysis · 毎日更新
すべての記事に戻る

2026年7月25日、セキュリティ企業Hacktron AIの3人チームはAnthropicのClaude Opus 5を使い、2つの欠陥を連鎖させてOpenAI従業員が所有するChatGPTおよびCodexアカウントを乗っ取り、その後、そのうち1つのアカウントを使ってOpenAIの内部ソースリポジトリ内でプルリクエストを開いた。侵入経路はログインページでもAPIキーでもなく、オープンソースのフォーラムソフトウェアDiscourse上で稼働するOpenAIの公開ヘルプフォーラムcommunity.openai.comにおける画像アップロードだった。2つ目の欠陥はフォーラムではなくOpenAI自身の共有サインオンにあった。ソースコードは一切読まれず、何もマージされず、顧客データにも触れておらず、アーカイブには実世界での被害は記録されていない。これはベンダーに報告されたセキュリティ研究であり、ベンダーへの攻撃ではない。記録の日付は2026年9月18日で、TechCrunchがこの発見を報じた日である。このインシデントは、Orca AI Incident Archive内の他の記録済み項目と並んでおり、各記録には独自の情報源、重大度、信頼度グレード、異議ありフラグが付されている。

この件を単なる華やかなバグバウンティの物語以上のものにしている点が2つある。1つは速さだ。Hacktronによれば、フォーラムを最初に調べ始めてから内部リポジトリへのアクセスを握るまでの全経路は72時間未満で、最初に使ったモデルではその仕事をこなせなかったという。もう1つは、見出しの数字が隠している食い違いだ。報道が名指しするCVE、CVE-2026-32882は、範囲外の読み取り(ソフトウェアをクラッシュさせたりメモリを漏らしたりするもの)として記録されており、コード実行のバグとしてではない。Discourse自身のアドバイザリは、結果をリモートコード実行と評価している。どちらも事実であり、その間の隔たりこそが、AIの貢献が実際に位置する場所だ。

Hacktronが見つけたと述べている内容と、その時期

ハックトロンは2026年9月13日に、自社サイトで記事「Hacking OpenAI」を公開した。TechCrunchによると、The Wall Street Journalは9月17日木曜日の夜にこの件を報じ、TechCrunchは9月18日金曜日に続いた。記述された出来事はおよそ8週間前に起きたもので、ハックトロン自身の年表はそれらについて正確に示している:

• 2026年7月23日 — チームはDiscourseのHEIFアップロード経路をImageMagick経由でlibheifまでたどり、ヒープオーバーフローを突き止めた。

• 2026年7月24日 — Claude Opus 4.8が、標準的なアドレスランダム化防御機構であるASLRを無効にした状態で、実際に動作するコード実行エクスプロイトを作成する。

• 2026年7月25日 06:00 UTC — より新しいモデルを使用することで、チームはASLRを有効にした状態で、画像アップロードを介した信頼性の高いローカルコード実行を確認した。

• 2026年7月25日 08:00–10:00 UTC — チームは、Bugcrowd上のOpenAIのバグバウンティプログラムを通じてレポートを提出します。

• {{1}}2026年7月25日 10:00 UTC{{/1}} — このエクスプロイトは、チーム自身のDiscourse Cloudインスタンスに対して、続いてOpenAIのフォーラムに対して機能します。

• 2026年7月25日 13:30–15:30 UTC — チームはOpenAI従業員のCodexアカウントを使用して、OpenAIの内部モノレポで無害なプルリクエストを作成し、その後テストを停止する。

• 2026年7月25日 22:49:45 UTC — 最初の報告からおよそ14時間後、OpenAIが問題は修正されたと確認する返信を寄せる。

• 2026年7月28日 — Discourse は、パッチと再構築のガイダンスを含むアドバイザリ GHSA-vhm9-85gw-x335 を公開しました。

• 2026年9月1日 — OpenAIは6,500ドルの報奨金を支払い、その報告を解決済みとしました。

HTML timeline card titled 'From first look at the forum to a $6,500 bounty', subtitled 'All times UTC - dates and times as Hacktron's own write-up records them'. Ten rows read: 23 July 2026, Discourse HEIF upload path traced through ImageMagick to libheif; 24 July 2026, Claude Opus 4.8 working exploit with ASLR disabled; 24 July evening, Anthropic releases Claude Opus 5; 25 July 06:00 UTC, reliable local code execution with ASLR enabled; 25 July 08:00-10:00 UTC, report filed via Bugcrowd, then HackerOne for Discourse; 25 July 10:00 UTC, code execution on community.openai.com; 25 July 13:30-15:30 UTC, proof-of-access pull request opened and testing stops; 25 July 22:49 UTC, OpenAI confirms the issue is fixed, about 14 hours later; 28 July 2026, Discourse advisory GHSA-vhm9-85gw-x335 published; 1 September 2026, OpenAI pays $6,500 and marks the report resolved. The footer cites Hacktron AI's write-up and the Discourse advisory, and notes the elapsed time to internal repository access was under 72 hours.

上記の日付は再構成ではなく、Hacktron のものです。9月13日の自社投稿の公開日、9月17日のウォール・ストリート・ジャーナル報道、9月18日のTechCrunch記事は、別個の後発の流れです。作業は7月に行われ、記事は9月中旬に掲載されました。

画像アップロードがどのようにサーバー侵害につながったか

この連鎖はありふれた機能から始まる。Discourse は通常、アップロードされた画像を FastImage というライブラリでチェックするが、FastImage は Apple のデバイスが写真に使うコンテナ形式である HEIF をサポートしていない。そのため、それらのファイルは変換のために ImageMagick のコマンドラインツールへ渡され、さらにそれがデコードのために libheif へ渡していた。これにより、攻撃者が制御するファイルを直接相手にするパーサーが置かれることになった——まさに xkcd の依存関係コミックが念頭に置いているパターンであり、Hacktron もその参考文献で挙げている。

Hacktronは、DiscourseのDockerイメージにインストールされているlibheifパッケージにセキュリティ修正が欠けていることを発見しました。DiscourseのイメージはDebian 12上でビルドされており、そこではlibheif 1.19.7がインストールされていました。当時、Debian 13は依然として1.19.8を出荷していました。バグ自体はHeifPixelImage::overlay()に存在し、この関数はオーバーレイ画像をベース画像に合成します。libheif自身のアドバイザリによると、オーバーレイの子がアルファチャンネルとカラーチャンネルで異なるビット深度を持つ場合、この関数はアルファプレーンのストライドではなくカラーチャンネルのストライドを使ってアルファプレーンをインデックスします。10ビットカラーと8ビットアルファの100×50画像では、アドバイザリは、コードが7,168バイトのバッファの終端を越えて3,123バイトを読み取ると計算しています。

これにより攻撃者はヒープメモリのリークを得られ、これはアドレスランダム化の回避に役立つが、それ自体はシェルではない。リークから実行に至る部分こそがモデルを必要とした部分であり、CVEが記述していない部分だ。その後、この攻撃チェーンは信頼境界を越えたが、Hacktronはそこが本当の核心だと主張している。OpenAIのフォーラムはauth.openai.com経由で「Sign in with OpenAI」を提供しており、これはスタッフが他所でも使っているのと同じシングルサインオンだ。フォーラムサーバーを掌握したことで、研究者らはOpenAIで働くフォーラムメンバーのChatGPTおよびCodexアカウントを、被害者の操作を一切必要とせずに乗っ取ることができた。Hacktronの言い方をすれば、「昇格につながる脆弱性はDiscourse固有のものではない」のであり、そのシングルサインオンを使うOpenAIのファーストパーティまたはサードパーティのサービスであればどれでも同じアクセスが得られていたはずだ。

確立されたもの、および推測されたもの

アーカイブはこの記録を信頼度A、異議なし、重大度「高」、実際の害は記録されていないと評価している。これらの項目は維持されている。しかし、報告は単一の研究チームによる説明であり、独立に再構成されたというより裏付けられたものであるため、文書化されていることと主張されていることを分けて考える価値がある。

一次記録により確認済み。 CVE-2026-32882 は存在し、2026年5月19日に公開され、libheif 1.21.2 以前に影響し、libheif 1.22.0 で修正されました。MITRE の記録ではスコアは 7.1 で、攻撃ベクトルはネットワーク、複雑性は低、必要な特権はなし、ユーザー操作が必要、影響は機密性が低く可用性が高い — クラッシュまたはメモリリークです。Discourse のアドバイザリ GHSA-vhm9-85gw-x335 は、2026年7月28日に公開され、hacktronai-research にクレジットされ、同じ CVE を追跡しており、結果を High の 8.8 と評価しています。必要な特権は低く、ユーザー操作は不要で、機密性、完全性、可用性の3つすべてに高い影響があります。修正済みバージョンとして 2026.7.0、2026.6.1、2026.5.2、2026.1.6 を挙げ、最新の Docker イメージには修正済みの libheif が含まれていると述べています。

2つの独立系メディアによって裏付けられている。研究者がClaudeを使ってそのチェーンを発見し武器化したこと、フォーラムの侵害がスタッフアカウントへのアクセスにつながったこと、OpenAIが約14時間以内に修正し6,500ドルを支払ったこと、アクセスの証拠が単一のプルリクエストだったこと、そしてOpenAIはフォーラム自体のテストはバウンティの対象外だと述べていること——これらすべてが、Hacktronの報告書を直接引用しているThe Hacker NewsとTechCrunchの両方に掲載されている。

Hacktronによる主張であり、独立した検証は行われていない。 フォーラムでのコード実行が、説明された方法——自律エージェントループとプロキシ経由のテストインスタンスを通じて——で実際に達成されたということは、Hacktronの説明に依拠しており、第三者による再現はされていない。The Hacker Newsは、フォーラムのコード実行がどのように達成されたか、およびアカウントアクセスの範囲について質問するためHacktronに連絡したと述べているが、回答を得たとは報告していない。同じ種類の脆弱性がSlack、Meta、GitHub Enterprise、Webフレームワークにまで及んだという主張は、The Hacker News自身の評価では「不均一に裏付けられている」:Next.jsの脆弱性はVercelのアドバイザリで確認されており、libheifのメンテナーはMetaに関連するバグについて動作するエクスプロイトを確認したが、多数のアプリケーションにわたるコード実行というより広い主張は独立に確認されていない。OpenAIはサインオンの脆弱性について技術的説明を一切公開していない。アカウント乗っ取りを文書化するのではなく、修正と支払いを通じて発見を確認した。

まったく確認されていません。従業員アカウントが何件到達可能だったか — The Hacker News は「数件」、TechCrunch は「複数」と述べ、Hacktron は数字を示していません。この脆弱性がこれまでに他の誰かによって悪用されたかどうか:The Hacker News は現実世界での悪用の兆候はないと報じ、2026年9月中旬時点でこの CVE が米国政府の悪用が確認されている脆弱性のリストに含まれていなかったと指摘する一方、このリストはどちらであるかの証明にはならないと注意を促しています。また、すでにパッチを適用した組織が過去のアクセスをなお追跡すべきかどうか — The Hacker News によれば、情報源はこの点について沈黙しています。

モデルが何をしたのか、そして人間が何をしたのか

能力の飛躍はHacktron自身が強調している部分であり、推測ではなく同社自身の言葉で記録されている。チームはまず、サイバーセキュリティ研究者に提供されたビルドのClaude Opus 4.8を使い、インストール済みのlibheifパッケージを調査し、ASLRを無効にした状態でエクスプロイトを構築した。ASLRを有効にすると、数回のセッションにわたって停滞した。Anthropicは2026年7月24日の夜にClaude Opus 5をリリースした。新しいセッションでは、新モデルが約3時間以内にローカルMac向けの動作するARM64エクスプロイトを作成し、翌朝6時までにはDiscourseが使用するx86-64構成に移植されていた。

Claude Opus 5も、実在する標的向けのエクスプロイトコードを書くことに対する保護機構を備えて出荷された。Hacktronによれば、標的をキャプチャー・ザ・フラッグ演習のように見せるため、モデルを同社自身のDiscourse Cloudインスタンスに向け、rce.ee/ctf-forumというホスト経由でプロキシし、さらに自律的なゴールループで実行することで、これを回避したという。チームは、これは無人ハッキングではなかったと明言している。「熟練した人間の指導は依然として重要だった」と記す一方で、小規模チームが実行できる作業量は劇的に増加した。より広範なHEIF Heistキャンペーンでは、Hacktronは標的について事前知識がまったくない事例にOpenAIのGPT-5.6 Solを使用したと述べている。

経済性こそが、Hacktron が読者に持ち帰ってほしい主張だ。より広範なキャンペーン全体では、Slack、Meta、GitHub Enterprise、Ruby on Rails、そして Next.js、Astro、Gatsby の各フレームワークを通じて同じ種類の欠陥を追跡したところ、3人の研究者による2か月の作業はトークン費用で3,000ドル未満だったと述べている。新しい標的ごとの適応には1日か2日かかったという。また、数千枚のテスト画像が送信され、画像プロセッサが繰り返しクラッシュしたにもかかわらず、Shopifyを除いてこの活動を検知した企業を把握していないとも述べている。

その後、何が変わりましたか?

Discourseは土曜日に報告を受け、日曜日に返信し、月曜日までに修正を用意して、7月28日にアドバイザリを公開し、多層防御として画像処理のサンドボックス化を追加した。そのアドバイザリはセルフホスト運用者に対し、Webインターフェースの更新だけでは基盤ライブラリが置き換わらない場合があり、/var/discourseからの完全な再ビルドが必要だと警告している。Debianは2026年8月8日にDebian 13のlibheif向けのセキュリティ更新を公開し、これはDSA-6417-1として追跡されている。アップストリームでは、Hacktronは2026年9月14日時点の最新のセキュリティリリースとしてlibheif 1.23.4を読者に示し、ディストリビューションのパッケージではより古いバージョン番号のままバックポートされた修正が含まれている場合があるため、アップストリームのバージョンだけでなくパッケージのアドバイザリも確認する必要があると指摘している。

OpenAIの場合、修正は7月25日の報告から約14時間以内に適用され、報奨金は9月1日に支払われた。同社は支払いに際して対象範囲の明確化を添えた。Discourseがホストするcommunity.openai.comに対するテストは、同社のバグバウンティ・プログラムから明示的に除外されており、今回の報奨はDiscourseに対する行為ではなくOpenAI側の指摘を評価したものだ。これは注意深く読む価値がある。$6,500はサインオンに関する指摘に対する支払いであり、フォーラム経由の連鎖に対するものではない。そして、その連鎖を可能にしたフォーラムでの作業は、OpenAI自身の説明によれば対象範囲外だった。

CVEが見出しと一致しない理由

HTML comparison card titled 'Two advisories, two different severity scores', subtitled 'The library bug is an out-of-bounds read; the forum advisory scores the outcome as code execution'. Two columns compare CVE-2026-32882 and GHSA-vhm9-85gw-x335: published 19 May 2026 versus 28 July 2026; stated impact heap buffer out-of-bounds read versus remote code execution; CVSS base score 7.1 High versus 8.8 High; attack complexity low in both; privileges required none versus low; user interaction required versus none; confidentiality low versus high; integrity none versus high; availability high in both; fixed in libheif 1.22.0 versus Discourse 2026.7.0, 2026.6.1, 2026.5.2 and 2026.1.6. A footer cites the MITRE CVE record and the Discourse advisory.

この件の報道は、2つの異なる深刻度評価を1つに圧縮しがちだ。libheifのアドバイザリとCVEは、機密性への影響が低、可用性への影響が高と評価された範囲外読み取りを記述している。クラッシュ、またはメモリ漏えいだ。Discourseのアドバイザリは、その読み取りが悪用の取り組みおよび2つ目の欠陥と組み合わされたときに何が起きたかを記述し、全3カテゴリで完全な影響があるとして8.8と評価している。どちらも間違いではない。両者は異なる問いに答えている。CVEは「ライブラリのバグはどれほど深刻か」に答え、フォーラムのアドバイザリは「フォーラムの問題はどれほど深刻か」に答えている。

実務上の帰結として、libheifにおける重大なリモートコード実行の脆弱性を求めてCVEフィードを走査している読者は、ここではそれを見つけられず、影響を受けていないと合理的に結論づけるかもしれない。Hacktron自身の指針は逆である。ユーザー提供のHEIC、HEIF、AVIF画像を受け入れ、未パッチのlibheifを通じてデコードするあらゆるサービスは、露出しているものとして扱うべきであり、バックポートは古いバージョン文字列の下で移動するため、バージョン番号だけでは十分な確認にならない。推奨する3つの緩和策は、ディストリビューションのセキュリティチャネルまたは最新のアップストリームリリースを通じてlibheifとlibde265を更新すること、不要な場所では信頼できないHEIFおよびAVIFのデコードを無効にするか、画像処理をエフェメラルサンドボックスに隔離すること、そして——画像ライブラリを超えて一般化できるもの——シングルサインオンが信頼するサービスを制限し、敏感な操作の前に既存のセッションを信頼するのではなく新たな本人確認を要求することである。

Abstract illustration on a deep navy field: a single softly glowing archway stands in the centre, with pale rounded application tiles floating behind it and connected to it by very thin light threads, while smaller dim blue hexagonal glyphs sit in front of it, separated by empty dark space. No text, no people and no organisation logos appear. The OrcaRouter logo is composited in the bottom-right corner.

最後の点は、転用可能な知見だ。フォーラムは脆弱性ではなく、入口だった。公開され信頼度の低いサービスが内部ツールとIDプロバイダーを共有していたということは、環境内で最も弱い部分を突破すれば、最も強い部分へのアクセスが得られることを意味していた。Hacktronの説明のどこにも、OpenAIがフォーラム自体に不注意だったことを示すものはない。チーム自身の評価によれば、Discourseは「実際のところ、簡単な標的ではない」。そしてまさにそれゆえに、この事例は引用されている。失敗したのはバグではなく、信頼境界なのだ。

この記事で比較したモデル2

この記事から検出 · ベンチマーク:Artificial Analysis · 毎日更新