OpenAI社員のChatGPT・Codexアカウントが乗っ取られ、連携先の社内リポジトリまで到達――Hacktronが攻撃チェーンを公開
※本記事は2026/09/18時点での情報を基にしており、閲覧時点では内容や状況が変わっている可能性があります。
セキュリティ企業Hacktronが9月18日、公式Xで自社ブログ「Hacking OpenAI」を紹介した。OpenAIのユーザーフォーラムへ細工した画像をアップロードする地点から、OpenAI社員のChatGPTアカウントの乗っ取りまでが1本につながったとする報告だ。
乗っ取られた社員のCodexはGitHubに連携済みで、Hacktronはそのアカウント経由で社内モノレポにPRを作成させた。ブログ本体の掲載日付は9月13日と表示されている。
初期の発見から社内リポジトリへの到達までは72時間未満だったという。OpenAIは初回報告の約14時間後に修正済みと回答し、9月1日に6,500ドルの報奨金を確定させた。
乗っ取られた対象は、フォーラムのアカウントではなく外部サービスと連携済みのAIアカウントだった。
本記事ではHacktronの原文・Discourseとlibheifのアドバイザリ・OpenAIのヘルプセンターを突き合わせる。攻撃経路、実証された範囲と理論上の範囲の境目、ChatGPTのアプリ権限を確認できる項目を整理した。
72時間で画像アップロードから社内リポジトリへ到達した
Hacktronが公開したのは、画像デコーダの脆弱性からOpenAIの社内コード管理までが1本につながった経路だ。
原文の図は経路を9段で示す。libheif → Debian → ImageMagick → Discourse → OpenAIフォーラム → OpenAI SSO → ChatGPT・Codex → 連携済みGitHub → OpenAIの社内リポジトリという並びである。
起点はOpenAIのユーザーフォーラム、community.openai.comだ。ここで使われているフォーラムソフトウェアDiscourseの画像アップロード経路を調べ、リモートコード実行と管理者権限の取得に至ったという。
発見から報告、修正確認までの流れ
原文のタイムラインはUTCで記録されている。7月23日にDiscourseの画像アップロード経路のレビューを開始し、7月25日05:00~06:00にcommunity.openai.comのDiscourse環境でRCEと管理者権限を取得した。
同日08:00~10:00にOpenAIのバグバウンティプログラム(Bugcrowd)へ報告。13:30~15:30には社内モノレポへ無害なPoCのPRを作成し、報告を更新した。PRへのリンクはOpenAIの要請で伏せられている。同社は15:30ごろに追加のテストを一切停止したと記した。
22:49:45にOpenAI側から修正済みの回答があり、初回提出から約14時間後の対応となる。Discourse側へはHackerOne経由で7月25日に報告し、7月28日にアドバイザリGHSA-vhm9-85gw-x335がパッチと再ビルド手順とともに公開された。
攻撃の経路を段ごとに分解する
攻撃チェーンの前半は画像処理の脆弱性だが、後半で性質が変わる。攻撃面はアプリケーション層ではなく、その下のネイティブなC/C++デコーダにあった。
ImageMagick・libvips・Sharpといった上位のラッパー、標準的なディストリビューションのパッケージ、ビルド済みのコンテナベースイメージを通じて、脆弱なデコーダは間接的に本番環境へ入り込む。自社が直接インストールした覚えのない依存関係だという点が厄介だ。
画像処理の検査をすり抜けたHEIFファイル
Discourseは通常、FastImageで画像を検査する。ところが、FastImageはHEIFに対応していないため、HEIC・HEIF形式のファイルはImageMagickのmagickコマンドへ渡されて変換される。
この迂回によって、攻撃者が中身を制御したファイルがlibheifのパーサへ直接届いた。Hacktronは、libheifのヒープバッファオーバーフローにより、HEICのデコード中に領域外の読み書きが可能になったと説明している。
Hacktronによると、Discourseの公式DockerイメージはDebian 12ベースで、脆弱なlibheif 1.19.7を含んでいた。
当時のDebian 13も1.19.8を出荷しており、該当のセキュリティ修正はバックポートされていなかったという。
ただし、脆弱性番号の対応関係には一次資料間の不一致がある。Hacktronは、悪用した不具合が上流コミットで修正されたものの、セキュリティ修正と明記されずCVEも付かなかったと説明した。
一方、Discourseのアドバイザリは上流の脆弱性としてCVE-2026-32882を挙げる。libheif側のアドバイザリは同CVEを、アルファチャンネルのstrideを誤って扱うことによる領域外読み取りとして説明しており、Hacktronが示す不具合と同一だとは一次資料から確定できない。
対処としてHacktronが挙げるのは、libheifを最新版へ更新することだ。Discourseのアドバイザリは、最新のDockerイメージへの更新と再ビルドを案内している。
フォーラムの侵害をChatGPT・Codexへ広げたのはSSO側の不備
原文がとくに強調するのは後半の段だ。OpenAIはフォーラムにDiscourseを使い、auth.openai.com経由の「Sign in with OpenAI」を許可していた。ここでエスカレーションに使った脆弱性はDiscourse固有ではなく、OpenAIのSSOの問題だとHacktronは説明する。
Hacktronによると、OpenAI SSOを使う第一者・第三者のサービスのいずれが侵害されても同じアクセスに至る。Discourseは実証に使った一つの経路という位置付けだ。
同社は、フォーラムのアクティブメンバーに対し、本人の操作を必要としないChatGPT・Codexアカウントの乗っ取りが成立すると確認した。ただし、SSO側の設定項目やトークン権限といった技術的な詳細はHacktron原文に書かれていない。
どこまでが実際で、どこからが理論上か
この事案は、実証された範囲と可能性として述べられた範囲を混ぜると内容が変わってしまう。原文はその境目を意識して書き分けている。
確認したOpenAIの公式Webサイト・ヘルプセンターでは、本件を独立して掲載した声明を確認できなかった。一方、SecurityWeekはOpenAIからの回答を掲載している。OpenAIは、画像処理の問題は第三者サービスのDiscourse側にあり、アカウント乗っ取りの経路は別のOpenAI側の問題だったと説明した。
OpenAIはSecurityWeekに対し、Communityのサインイントークンの権限を絞り、影響を受けたトークンとセッションを失効させたと回答した。また、同社の調査では、非公開リポジトリのメタデータとコミットの限定的な読み取りに続き、READMEファイルへのPRが行われたという。
Hacktronが掲載したOpenAIのコメントには、Discourseがホストするcommunity.openai.comへのテストがバグバウンティの対象から明示的に除外されていたことも記されている。報奨はOpenAI側の発見に対するもので、Discourseへの行為に対するものではないという説明だ。
Hacktronが実際に行ったと明記した行為
Hacktronが実際に行ったと書いているのは3つだ。community.openai.comのDiscourse環境でのRCEと管理者権限の取得、複数のOpenAI社員のChatGPTアカウントの侵害の2つが並ぶ。
3つ目は、1名の社員のアカウントを乗っ取り、その社員のCodexへプロンプトを送って社内モノレポにPRを作成させたことである。
エクスプロイトは、まず自社のDiscourse Cloudインスタンスで検証された。同社はそこで/etc/hostsの読み取りによりRCEを確認し、その後に生成済みのスクリプトを使ってOpenAIの環境でもRCEを得たと説明している。
理論上にとどまるのは他のコネクタへの広がり
社内リポジトリでのPR作成は実証済みだが、それ以外のコネクタへの広がりは条件付きの表現になっている。原文は、利用者が各種サービスをCodexやChatGPTに接続できるため、理論上アクセスし得た範囲はGitHub・Slack・メールを含めて非常に広かったと述べた。
SlackやメールにHacktronが実際にアクセスしたとは書かれていない。OpenAIもSecurityWeekに対し、社員のSlackメッセージへの実アクセスをHacktronは確認していないと説明した。
Hacktronは、機微情報を知ることなくアクセスを証明し、社内コードに実際には触れずに影響を示す目的でPRを選んだとしている。ただし、OpenAIは限定的なメタデータとコミットの読み取りを確認しており、到達範囲について両者の説明には差がある。
研究プロジェクト全体の公開ページでも、各社に関する記述は可能性を示す条件付きの形で並ぶ。OpenAIで実証された範囲を、そのまま他社でも起きた既成事実として扱うことはできない。
AIアカウントの侵害が接続先に波及する構図
この事案が示したのは、AIアカウント1つの乗っ取りが、そのアカウントにつながれた業務システムへ波及する構図だ。
乗っ取られた社員のCodexはOpenAIのGitHub organizationに接続済みで、社内モノレポでのPR作成が成立した。影響対象はチャット履歴にとどまらず、コネクタの先にある業務データにも及び得る。
9月16日・17日の発表と同じ論点が実例になった
当メディアが直前に取り上げた2本も、同じ場所を指していた。9月16日のSalesforce連携では、CRMへの書き込みを既定で都度承認とする設計が確認できる条件として示された。9月17日のCowork統合では、入力欄の権限設定の既定がManualであり、Autoを選ぶとその会話の操作は都度確認なしで進むと整理した。
権限の既定値と、その既定を誰が変更できるかは別の論点だという整理を、今回の事案は実例の側から裏付けた。書き込み権限を持つコネクタは、アカウントを取られたときに業務システムへの経路となり得る。
ChatGPTのアプリ権限と法人プラン別の既定値
OpenAIのヘルプセンターには、ChatGPTの個人向けアプリ権限と、法人ワークスペースの管理者向け制御が記載されている。選択肢はアプリ・アカウント・ワークスペースによって異なるが、自社の設定を確認する入口となる2ページだ。
OpenAIは2026年7月9日にアプリディレクトリをプラグインディレクトリへ移行した。プラグインはskills・apps・app templatesを含み、このうちappsがChatGPTとCodexを外部のデータやアクションへつなぐ統合に当たる。
appsの能力には、対話型アプリ・検索・ディープリサーチ・事前インデックスの同期に加え、接続先サービスでの作成や更新を行う書き込みアクションが含まれる。
ChatGPTの個人設定は「Important actions」が既定
ChatGPTの個人向けアプリ権限は「Important actions」が既定だ。アプリからの読み取りは自動で許可し、ChatGPTの外部に意味のある影響を与える操作、機微情報を露出する操作、取り消しが難しい操作の前に確認を求める。
利用可能な選択肢には「Always ask」「Allow read actions」「Allow low-risk actions」「Allow all actions」がある。
最後の選択肢は、対象となるアプリやアカウントでのみ利用可能だ。高いリスクを伴うため、アカウント全体・ワークスペース全体の標準セレクタには表示されない。
重要なアクションの例として、公式ヘルプは6項目を挙げる。メール・メッセージ・コメント・投稿・招待・予定といった連絡の送信や編集。コンテンツの削除・予定のキャンセル・予約の取り消し。購入・返金・金融取引・サブスクリプションの管理。
残る3項目は、ファイルのアップロードやクラウドストレージ上での移動・リネーム。共有権限・アカウントアクセス・セキュリティ設定の変更、またはアクセス資格情報の作成。機微な個人・金融・健康・本人確認・認証情報のアプリとの共有である。
全ての変更を承認制にしたいときは「Any changes」を選ぶ。個人設定はプロフィールメニューのSettings > Apps > App Preferences > Ask permissionから変更でき、アプリ個別の設定が既定を上書きする。
管理者側の既定はプランで異なる
法人利用では既定値がプランで分かれる。Enterprise・Eduでは、新しいプラグインとアプリが一般に既定で無効だ。ただし、新規ワークスペースは選定済みのアプリ群が有効な状態から始まり、既存の設定は変更されない。
Businessではアプリが既定で有効であり、ワークスペース全体の可用性を管理者が変更する。自社がどちらに当たるかで、初期状態の前提が逆になる。
管理画面はAdmin > Pluginsであり、環境によってはAppsの管理画面も併存する構成だ。プラグインの導入と、配下のappアクセスは別々の制御だ。ロールベースのアクセス制御も双方に別個に適用できる。
ヘルプセンターは、配下のappを無効化するとapp由来の機能はブロックされるが、プラグイン自体のアンインストールや、そのappに依存しないskillsの削除には必ずしもならないと説明している。
今回の経路で最後の段を成立させたのは、連携済みのGitHubだった。自社のワークスペースで有効なアプリと、確認なしで通る書き込みの範囲は、上記の設定画面から確認できる。フォーラムへの画像アップロードという入口と社内リポジトリという出口の間には、認証と連携の設定があった。
※出典:Hacking OpenAI(Hacktron AI) / Hacktron AI 公式Xの投稿(X) / HEIF Heist(Hacktron AI) / simplify overlay overlap area computation(GitHub) / Heap Buffer OOB Read in overlay compositing due to wrong alpha stride(GitHub Security Advisories) / RCE via malformed HEIF file: GHSA-vhm9-85gw-x335(GitHub Security Advisories) / CVE-2026-32882(MITRE CVE Services) / Apps in ChatGPT(OpenAI Help Center) / Admin controls, security, and compliance for plugins and apps(OpenAI Help Center) / AI-Built Exploit and Sign-In Flaw Opened Path to Internal OpenAI Code(SecurityWeek)