BLOG

2つの脆弱性でOpenAIの内部リポジトリへ侵入:画像デコードライブラリ+SSO設定ミス、報奨金6500ドル

Kael Zhang
AI安全漏洞披露供应链安全
广告 · Advertisement

ホット追跡:ホットリリース × 技術的判断 × 実用的なアドバイス。 著者:永亮


まず2つの日付を分けておく。9月13日、セキュリティチームHacktronが長文のブログを公開した。著者はHarsh Jaiswal、Mohan Pedhapati、Rahul Maini。内容は7月25日に彼らが完了した完全な侵入デモについて:2つの脆弱性を組み合わせ、OpenAIコミュニティフォーラムの画像から出発し、OpenAIの内部コードリポジトリへ到達したというもの。記事公開当日の反響は薄かったが、本当の盛り上がりは9月18日だった——投稿がHacker Newsの人気記事となり、468ポイント、197件のコメント(9月19日午前のデータ)を記録した。攻撃技術自体はコメント欄で大きな波紋を呼ばなかったが、皆が激しく議論したのは締めくくりの数字だった:6500ドルの報奨金だ。今回はタイムラインに沿って事実を提示し、3つの層に分けて見ていく。

何が起きたのか

タイムラインに沿って事実を並べる。すべてHacktronの記事の情報に基づく。

7月23日、HacktronはOpenAIの攻撃対象の監査を開始した。7月25日、2つの脆弱性の組み合わせが整い、侵入デモを完了、当日中に報告を提出。約14時間後、OpenAIは修正を確認した。7月26日、チームはHackerOne経由でフォーラム側の問題をDiscourse公式へ同期報告し、日曜日に返信を得た。7月27日、Discourseは修正を完了し、画像処理プロセスにサンドボックスを追加して防御の深さを増した。7月28日、Discourseはセキュリティ公告GHSA-vhm9-85gw-x335を公開し、パッチと再構築ガイドを添付した。9月1日、OpenAIは6500ドルの報奨金を支払い、報告を解決済みとマークした——同時に一点を明確にした:Discourseがホストするcommunity.openai.comに対するテストは報奨金プログラムの範囲外であり、報奨金はOpenAI側の発見のみ対象とする。

7月の発覚から9月13日の公開開示まで、約2ヶ月の間隔が空いた。この間隔自体、後で別途計算することにする。

2つの脆弱性はどのように組み合わされたか

最初のルート、サプライチェーンだ。libheifはHEIF/HEIC画像を処理するオープンソースのデコードライブラリである。研究者によると、Debianはこのライブラリのセキュリティパッチを使用中の旧バージョンにバックポートしておらず、そのため脆弱性が長期間システム内に残っていたという。OpenAIコミュニティフォーラムcommunity.openai.comはDiscourse上で動作しており、ユーザーがアップロードした画像はImageMagickで処理され、ImageMagickがlibheifを呼び出してデコードする——ヒープオーバーフローはこのステップに隠れていた。細工された画像を1枚アップロードすれば、フォーラムサーバーでのリモートコード実行が手に入る。

2番目のルート、アイデンティティだ。OpenAI独自のアイデンティティインフラに一箇所の設定ミスがあり、場所はauth.openai.comの「Sign in with OpenAI」ログインフローだ。研究者はこのミスを利用して複数の従業員のChatGPTアカウントを乗っ取り、従業員の権限を頼りに内部monorepo(openai/openai)へのアクセス権を探り当てた。2つのルートが組み合わさる:フォーラムの画像アップロード口からサーバーへ侵入し、従業員のアイデンティティを経由して内部リポジトリへ踏み込む、完全な縦深突破だ。

まだ別に記録に値する詳細がある。本当に内部リポジトリに到達したことを証明しつつ、機密データを見てしまわないようにするため、研究者は従業員の一人のCodexを使い、内部リポジトリでPR(#1186742)を開いた。侵入された側のAIプログラミングツールを使い、侵入された側の内部リポジトリにメモを残す——この自己証明の方法自体が、この事件の中で最も視覚的なシーンであり、「AIツールはデフォルトで所有者の権限を帯びている」という問題を具体的にしたものでもある。

冷静なもう半分:3層の監査

まず立場を一言で言うと:今回の事件における修正速度は文句なし——報告後約14時間で修正確認、Discourse側は報告から公告まで前後2日、両社の対応は速い方だった。真に問うべき点は別のところにあり、3つの層に分けられる。

第1の層、サプライチェーン。 ある画像デコードライブラリのバックポート漏れが、frontier AI企業の従業員アカウントへとつながっていった。サプライチェーンセキュリティは何年も語られてきたが、実際に問題が起きる場所は往々にして重点的に警戒している場所ではなく、一枚の画像のデコードパス上にある。コミュニティフォーラムのような「エッジシステム」は、セキュリティ予算がコアシステムとは桁違いだが、従業員のアイデンティティにつながっているため、正門の横の通用門となる。通用門に鍵がかかっていなければ、正門がどれだけ厚くても無駄だ。

第2の層、アイデンティティ層。 一箇所のSSO設定ミスが、フォーラムレベルのコード実行を内部リポジトリアクセスへと拡大した。シングルサインオンの設定値はいくらだ? 普段は見えないが、一度事故が起きればすべて明らかになる。ここ数年、セキュリティ投資が最も伸びている分野の一つがアイデンティティ管理だが、設定ミスというカテゴリは、まさに購入よりもプロセスの規律を最も必要とする類だ——ツールをどれだけ揃えても、プロセスを一つ間違えれば、それまでのすべてがゼロになる。

第3の層、報奨金と開示。 ここには2つの計算がある。一つ目は公開の時計だ:7月の発覚、9月の公開、約2ヶ月の間隔の間、ユーザーは何も知らされず、公開の時計はベンダーが握っている。研究者は報奨金プロセスが終わるのを待つ一方で、ユーザーに代わって知る権利を主張するルートも持たない。二つ目は価格そのものだ。HNのコメント欄では、ある投稿者が6500ドルはこの脆弱性の組み合わせの深刻さと明らかに釣り合っていないと考え、別の投稿者は闇市場の価格を数百万ドル規模に例えた——これはあくまで推測であり、市場データによる裏付けはないと断言しておく必要がある。ある投稿者の解釈はもっと冷徹だ:この金額の真の意味は、OpenAIがあなたのアカウントおよび接続されたすべての統合をカバーできる脆弱性に対して提示した価格だ、というものだ。また、バウンティハンターはセキュリティを理解し、支払い能力のある顧客に精力を費やすべきだと直言する投稿者もいた。反対の声も同様にある:この種の脆弱性に闇市場はおそらく存在せず、「ミスマッチ」は偽の命題だと考えるネットユーザーもいる。そして最も痛い言葉はmuglugからだった:モデルの重みの防御がこれより強いことを願うよ。

まだ別に記録に値する見解がある。OpenAIは報奨金支払い時に、Discourseがホストするcommunity.openai.comに対するテストは報奨金プログラムの範囲外であり、報奨金はOpenAI側の発見のみ対象と明確にした。フォーラムでのコード実行はサードパーティ製ソフトウェア上で動くためカウントされない——この「除外」の境界線がどこで引かれ、誰によって引かれ、引かれた後のコミュニティユーザーの損失は誰のものかという点は、6500という数字そのものよりも議論に値する。

注目すべき点

その1、HEIF Heistの影響範囲。 Hacktronはこの調査を1ヶ月以上にわたるプロジェクト「HEIF Heist」として拡大した。研究者によると、libheifの影響範囲はOpenAIにとどまらない:Slack、Meta、GitHub Enterprise、Ruby on Rails、そしてNext.js、Astro、GatsbyなどのNodeフレームワークもリストに含まれている。これらは現時点ですべて研究者の自述であり、独立した検証はなく、関係各社もまだ個別に確認していない。

その2、OpenAIの公式スタンス。 原稿執筆時点で、OpenAIはこの件について公開セキュリティ公告を発表していない。現在見られるすべての情報は、Hacktronの一方的な開示と、報奨金の入金記録から来ているものだ。従業員アカウントが具体的にいくら関与し、リポジトリのどの範囲に到達したかは、すべて研究者の自述が基準であり、二次情報を読む際はまずこの点を前に置く必要がある。

その3、Discourseの「再構築」ガイダンス。 公告GHSA-vhm9-85gw-x335が影響を受けるサイトに提示したソリューションはパッチと再構築ガイダンスであり、「再構築」という言葉が使われている。Discourseをセルフホストしているチームは注意が必要だ:アップグレード画面は修正を意味しない。この点は直接自分たちの運用チェックリストに書き写す価値がある。

結び

今回の事件の真の教訓は二つに分かれる。プラットフォーム側にとって:画像アップロードパスは高リスク面の中で最も目立たない入り口の一つであり、アイデンティティ設定は最も高価なネジだ——通用門に鍵がかかっていなければ、正門がどれだけ厚くても無駄だ。一般のチームにとって:セルフホストのDiscourseは画面アップグレードではなく再構築が必要であり、画像デコードの依存関係はバックポートを監視し、公告が追いかけてくるのを待ってはいけない。6500ドルの価格設定ロジックについて、OpenAIは誰にも説明する必要はない。しかし、次回また研究者が2つの脆弱性を組み合わせてfrontier企業の内部リポジトリへ侵入した場合、見積書はおそらく交渉のテーブルに先に置かれることになるだろう。

参考ソース

  • Hacktronセキュリティチームブログ長文(2026-09-13、著者Harsh Jaiswal、Mohan Pedhapati、Rahul Maini):攻撃チェーン、対応タイムライン、報奨金と範囲の見解、HEIF Heistプロジェクト声明——すべて研究者の自述による見解
  • Hacker News議論スレッド(2026-09-18に人気記事に、468ポイント、197件のコメント、2026-09-19午前のデータ):コメント欄の見解はすべてコメント投稿者の個人的な見解であり、本文はすべて転述して帰属済み、闇市場価格の類推は推測であると明記済み
  • Discourseセキュリティ公告GHSA-vhm9-85gw-x335(2026-07-28):パッチと再構築ガイダンス
广告 · Advertisement

よくある質問

研究者はどのようにOpenAIの内部リポジトリへ侵入したのか?

二つのルートの組み合わせ:サプライチェーン面では、community.openai.comはDiscourse上で動作しており、ユーザー画像はImageMagickを経由してlibheifでデコードされる。研究者によると、Debianはこのライブラリのセキュリティパッチをバックポートしておらず、ヒープオーバーフローがシステム内に残っていたため、細工された画像1枚でリモートコード実行が可能だった。アイデンティティ面では、auth.openai.comの「Sign in with OpenAI」フローに設定ミスがあり、研究者はこれを利用して複数の従業員のChatGPTアカウントを乗っ取り、従業員の権限を利用して内部monorepoへのアクセス権を取得した。

イベントのタイムラインはどうなっているか?

7月23日、Hacktronが攻撃対象の監査を開始。7月25日、侵入デモを完了し当日中に報告を提出、約14時間後にOpenAIが修正を確認。7月26日、HackerOne経由でDiscourseへ報告。7月28日、Discourseが公告GHSA-vhm9-85gw-x335(パッチと再構築ガイド)を公開。9月1日、OpenAIが6500ドルの報奨金を支払いresolvedとマーク、同時にフォーラム側のテストは報奨金対象外であることを明確化。9月13日にブログ公開、9月18日にHNで話題に(468ポイント、197件のコメント)。

なぜ6500ドルの報奨金が論争を呼んだのか?

HNのコメント投稿者rvzは、金額と脆弱性の組み合わせの深刻さが明らかに釣り合っていないと考え、kerenskiyは闇市場の価格を数百万ドル規模に例えた(あくまで推測であり市場データはない)。samtheprogramは、この金額の真の意味はアカウントおよび接続されたすべての統合をカバーする脆弱性の価格であると解釈し、tptacekなどはこの種の脆弱性に闇市場はおそらく存在せず、「ミスマッチ」は偽の命題だとした。もう一つの問題は開示のタイミング:約2ヶ月の間、ユーザーは何も知らされず、公開のタイミングはベンダーが握っていた。