OpenAI Codex Vulnerability Allows Attackers to Steal GitHub Access Tokens
2026/04/07 CyberSecurityNews — AI コーディング・エージェントの導入により、開発チームにとって影響の大きい新たな攻撃対象領域が生じていた。OpenAI Codex において深刻なコマンド・インジェクション脆弱性が発見されたと、BeyondTrust 傘下の Phantom Labs が報告している。この欠陥により、攻撃者は機密性の高い GitHub ユーザー・アクセス・トークンを窃取可能になる。Codex におけるタスク作成リクエストの処理を悪用する攻撃者は、AI エージェントに付与された権限を悪用し、ユーザー組織の GitHub 環境への攻撃の横展開が可能な状況にあった。

コマンド・インジェクションの悪用
OpenAI Codex は、開発者の GitHub リポジトリに直接接続する、クラウド・ベースのコーディング支援ツールである。ユーザーがプロンプトを送信すると、Codex は管理されたコンテナを起動し、コード生成/リポジトリ解析などのタスクを実行する。
BeyondTrust の研究者が確認したのは、このコンテナ初期化段階に存在する不適切な入力サニタイズである。具体的には、HTTP POST リクエスト内の GitHub ブランチ名パラメータが、環境セットアップ・スクリプトに直接渡されるという問題が生じていた。この弱点を突く攻撃者は、ブランチ名にシェル・コマンドの注入を可能にする。たとえば、悪意のペイロードによりシステム内に隠された GitHub OAuth トークンを、可読性のあるテキスト・ファイルへ出力させることが可能になる。
その後に攻撃者は、Codex エージェントに当該ファイルの読み取りを指示することで、Web インターフェイス上で平文トークンを取得できる。
このリスクは、Web ポータルに留まるものではなく、ローカル開発環境にも及んでいく。研究者たちが確認したのは、デスクトップ版 Codex アプリケーションが、認証情報をローカルの認証ファイルに保存していたことである。したがって攻撃者は、Windows/macOS/Linux 上の開発者のマシンへアクセスする際に、これらのローカル・セッション・トークンを窃取できる。
窃取したローカル・トークンを悪用する攻撃者は、バックエンド API に認証し、ユーザーの全タスク履歴を取得可能となる。このバックエンド・アクセスにより、コンテナ・タスク・ログ内に含まれる GitHub アクセス・トークンを抽出できる。この攻撃は自動化が可能であり、Codex インターフェイスを介さず複数ユーザーに対して実行できる。
共有 GitHub リポジトリ内に悪意のブランチを作成することで、そのコードベース内で Codex を使用する、すべてのユーザーに対してエクスプロイトを発動できる。GitHub のブランチ命名制限 (空白禁止) を回避する攻撃者は、”内部フィールド・セパレータ” を含むペイロードを使用し、さらに Unicode 表意空白を組み合わせることで、UI 上では通常の main ブランチと同一に見えるよう隠蔽した。
このブランチに対して、ユーザーや自動処理がインタラクトすると、バックグラウンドでペイロードが実行され、最終的に GitHub トークンが攻撃者の外部サーバへ送信される仕組みが機能する。
インストール・トークンの窃取
この自動ブランチ攻撃は、開発者がコード・レビューのために Codex ボットを利用する際に、システムが起動するレビュー用コンテナが起点となるため、プル・リクエストに対しても適用可能となる。
リポジトリに悪意のブランチが含まれている場合に、このコンテナ内で隠されたペイロードが実行され、結果として広範な GitHub インストール・アクセス・トークンの窃取を許すことになる。
この Critical と評価される脆弱性は、ChatGPT Web サイト/Codex CLI/Codex SDK/Codex IDE エクステンションに影響を及ぼす。2025年12月に責任ある開示を受けた OpenAI は、2026年1月下旬に完全な修正を実施している。
AI コーディング支援ツールが開発ワークフローへ深く統合される中、ユーザー組織にとって必要なことは、エージェント・コンテナを厳格なセキュリティ境界として扱うことである。開発チームおよびセキュリティ・チームは、以下の対策を採用すべきである。
- ユーザー制御が可能な入力は、シェル・コマンドへ渡す前に必ずサニタイズする。
- 外部プロバイダーのデータ形式を安全と仮定しない。
- AI アプリケーションに付与する権限を監査し、最小権限原則を徹底する。
- シェル・メタ文字や Unicode 空白を含む不審なブランチ名を監視する。
- GitHub トークンを定期的にローテーションし、異常な API アクティビティを監査する。
訳者後書:この問題の原因は、OpenAI Codex のコンテナ初期化プロセスにおいて、入力値のサニタイズが不十分だったことにあります。具体的には、HTTP POST リクエストに含まれるブランチ名が、環境セットアップ用のスクリプトに直接渡される仕組みになっていました。そのため、攻撃者によるコマンド・インジェクションが可能となり、ブランチ名に悪意のシェル・コマンドを混入させることで、機密性の高い GitHub アクセス・トークンが窃取されるという可能性が生じていました。この欠陥は、デスクトップ版のローカル・セッション・トークン奪取にもつながる深刻なものでしたが、現在は修正が完了しています。 AI ツールを便利に使うためにも、外部からの入力値を正しく扱う重要性が改めて確認された事例と言えます。ご利用のチームは、ご注意ください。よろしければ、OpenAI での検索結果も、ご参照ください。




You must be logged in to post a comment.