本稿では、2026年3月30日にCheck PointおよびBeyondTrust Phantom Labsがそれぞれ公開したOpenAI製品の脆弱性2件について、攻撃チェーンと実務上の影響を解説する。いずれもOpenAIによる修正済みであり、少なくとも公開された一次ソースでは野生での悪用確認は記載されていない。
概要 ― 2つの独立した脆弱性
今回公開されたのは、性質の異なる2件の脆弱性である。1件目はCheck Point Researchが発見したChatGPTのコード実行ランタイムにおけるDNSサイドチャネルを利用したデータ漏洩で、2026年2月20日に修正された。2件目はBeyondTrust Phantom Labsが発見したCodexのコマンドインジェクション脆弱性で、GitHubブランチ名を経由してOAuthアクセストークンを窃取可能だった。2025年12月16日に報告され、12月23日に初期ホットフィックス、2026年1月22日にGitHubブランチのシェルエスケープ修正、1月30日に追加のシェルエスケープ強化とGitHubトークン権限の制限が段階的に実施された。2月5日にはOpenAIがこの問題をCritical(Priority 1)に分類し、公表許可を出している。
脆弱性1:ChatGPT DNSサイドチャネルによるデータ漏洩(Check Point Research)
攻撃チェーンの仕組み
ChatGPTのコード実行・データ分析機能は、Linux上のサンドボックス環境で動作する。OpenAIはこの環境から外部への直接的なネットワークリクエストをブロックするガードレールを実装しており、ChatGPT自身も「データは外部に送信されていない」と回答する。しかしCheck Point Researchは、このサンドボックス内でDNS名前解決が利用可能なままであることを発見した。
DNSは通常、ドメイン名をIPアドレスに変換するインフラとして扱われ、データ転送手段とは見なされない。攻撃者はこの盲点を突き、漏洩させたいデータをサブドメインのラベルにエンコードしてDNSクエリを発行する。クエリは通常のリゾルバチェーンを通じて攻撃者のDNSサーバーに到達し、そこでデータが再構成される。逆方向にはDNS応答にコマンド断片をエンコードすることで、リモートシェルアクセスの確立も可能だった。
この手法がChatGPT環境で深刻だった理由は、AIモデル自身が「データは外部に送信できない環境」という前提で動作していたためである。DNSトラフィックは外部データ転送として認識されず、ユーザーへの確認ダイアログも表示されなかった。Check Pointはこれを「AIのガードレールを迂回するのではなく、完全にバイパスする」攻撃と位置づけている。
PoCの内容
Check Pointは「パーソナルドクター」を装うカスタムGPTを構築し、実証を行った。ユーザーが検査結果を含むPDFをアップロードし、症状について相談する。GPTは通常どおり医学的な分析を返すが、その裏側で患者の個人情報と診断内容がDNS経由で攻撃者のサーバーに送信されていた。ユーザーの画面には外部送信の警告は一切表示されなかった。
攻撃のトリガーは単一の悪意あるプロンプトで足りる。「ChatGPTのプレミアム機能を無料で解除する方法」などと称して悪意あるプロンプトを貼り付けさせるソーシャルエンジニアリング、またはバックドアを仕込んだカスタムGPTの公開によって、ユーザーの気付かないうちにデータを抜き取ることが可能だった。
修正と影響
OpenAIは責任ある開示を受け、2026年2月20日にこの問題を修正した。少なくとも公開された一次ソースでは、野生での悪用確認は記載されていない。ただし、ChatGPTが業務環境に浸透し、ユーザーが機密文書・財務データ・個人情報を日常的にアップロードしている現状を考えると、規制産業(GDPR、HIPAA、金融コンプライアンス等)でのAIサービス利用に対するリスク評価の見直しを促す事例である。
脆弱性2:Codexコマンドインジェクションによるアクセストークン窃取(BeyondTrust Phantom Labs)
Codexの動作と攻撃面
OpenAI Codexは、ChatGPTから利用できるクラウドベースのコーディングエージェントである。開発者がコードベースを指定してプロンプトでタスクを送ると、Codexはマネージドコンテナ環境を起動し、リポジトリのクローン・コード生成・PR作成・コードレビューなどを自律的に実行する。GitHub連携では、同意したユーザーを代理する短期・スコープ限定のOAuth 2.0アクセストークンが用いられる。
BeyondTrust Phantom Labsは、Codexがタスク作成時にGitHubブランチ名をシェルコマンドに渡す際の入力サニタイズが不十分であることを発見した。攻撃者はブランチ名にシェルメタ文字を埋め込むことで、コンテナ内でコマンドインジェクションを実行し、認証に使用されているGitHub OAuthトークンを窃取できた。
攻撃チェーンの詳細
攻撃の流れは以下のとおりである。攻撃者がリポジトリに悪意あるブランチ名(シェルコマンドを含む)を作成する。被害者(またはCodex自身のPRレビュー機能)がそのブランチに対してCodexタスクを実行すると、コンテナのセットアップ過程でブランチ名がシェルコマンドとして解釈・実行される。これにより、コンテナ内に存在するGitHub OAuthトークンが攻撃者の外部サーバーに送信される。
Phantom Labsはさらに、ペイロードの隠蔽にUnicode U+3000(表意空白文字)を使用する手法も確認した。94個の表意空白文字の後に「or true」を追加することで、Unicode文字によるエラーをバイパスし、悪意あるブランチ名を目視で検知しにくくしていた。
攻撃の影響範囲は個人にとどまらない。Phantom Labsは、PRコメントで@codexをメンションした場合にもコードレビューコンテナが起動し、同じ攻撃が成立することを確認している。共有リポジトリのデフォルトブランチを悪意あるものに変更すれば、そのリポジトリでCodexを利用するすべての開発者のトークンが窃取される可能性があった。
影響範囲とタイムライン
影響を受けたのはChatGPT Webサイト、Codex CLI、Codex SDK、Codex IDE Extensionの全Codexサーフェスである。窃取されたトークンにより、攻撃者は被害者のコードベース全体への読み書きアクセスと横展開(ラテラルムーブメント)が可能だった。
タイムラインは以下のとおり。2025年12月16日にPhantom Labsが報告し、12月23日に初期ホットフィックスが適用された。2026年1月22日にGitHubブランチのシェルエスケープ修正、1月30日に追加のシェルエスケープ強化とGitHubトークン権限の制限が実施された。2月5日にOpenAIがCritical(Priority 1)に分類し、公表許可を出している。修正内容には入力バリデーション、シェルエスケープの強化、トークンのスコープと有効期間の縮小が含まれる。修正はサーバーサイドで適用されており、ユーザー側の操作は不要である。
実務視点 ― AIコーディングエージェントは「実行環境」である
今回の2件は、AIプラットフォームのセキュリティについて共通の教訓を示している。
ChatGPTの脆弱性は、AIベンダーのガードレールだけに依存するリスクを浮き彫りにした。DNSサイドチャネルは古典的な手法だが、AIの実行環境では「モデル自身がデータ転送を認識しない」という新たな盲点が加わる。Check Point Researchの研究責任者Eli Smadja氏は、AIプラットフォームのネイティブセキュリティだけでは不十分であり、組織は独立したセキュリティレイヤーを実装する必要があると指摘している。
Codexの脆弱性は、AIコーディングエージェントが本質的に「特権的な実行環境」であることを改めて示した。ブランチ名・コミットメッセージ・PRボディなど、エージェントが処理する入力はすべて攻撃面になり得る。BeyondTrustは「AIコーディングエージェントは生産性ツールではなく、機密クレデンシャルと組織リソースへのアクセスを持つライブ実行環境である」と結論づけている。
AIツールを業務に導入している組織は、ベンダー提供のセキュリティを信頼しつつも、自社側のセキュリティレイヤー(DLP、ネットワーク監視、APIログ監査、エージェントの権限最小化)を独立して構築する必要がある。
一次ソース
- ChatGPT Data Leakage via a Hidden Outbound Channel in the Code Execution Runtime(Check Point Research)
- OpenAI Codex Command Injection Vulnerability Exposes GitHub Tokens(BeyondTrust Phantom Labs)

コメント