研究者がOpenAI Codexのサンドボックスを回避、ホスト上でコマンドを実行
研究者がOpenAI Codexのサンドボックスを回避し、ホスト上でコマンドを実行したとBleepingComputerが報じる
BleepingComputer
Publisher
Sep 21, 2026 at 9:29 AM UTC · 4 分で読める

Key Signal
26.818.21641 Fixed Desktop build
Last Updated
2ヶ月前
セキュリティ研究者は、OpenAI Codexのサンドボックスを脱出する2つの方法を発見しました。そのうちの1つは、Codexの最も厳密なモードから、承認プロンプトや画面表示なしに、開発者のマシン上でコマンドを実行できるものでした。
Accomplish AIのOren Yomtov氏によると、両方の欠陥は8月12日にOpenAIに報告され、8日以内に修正されました。
研究者がHeapjackと呼ぶ2つのうちより深刻な方は、日常的なアクションをリモートコード実行に変えてしまいます。Codexで他人のリポジトリを開き、そのコードについて質問すると、そのリポジトリの作成者があなたのコンピュータ上でサンドボックス化されていないコマンド実行権限を取得します。
CodexはOpenAIのコーディングエージェントで、コマンドラインツールおよびデスクトップアプリとして利用可能です。競合するエージェントと同様に、信頼できないコードがより広いシステムに触れないよう、モデルのアクションをサンドボックス内で実行します。どちらの脱出も、その境界を内部から破ることで機能します。
Heapjack
Yomtov氏のレポートで説明されているHeapjackの手法は、Codex Desktopがインストール時にグローバルな「~/.codex/config.toml」ファイルに書き込むnode_replというコンポーネントを標的にしています。
オプトインはなく、オフにする設定もありません。また、エントリが共有設定内にあるため、通常のCodex CLIユーザーは、尋ねられることなく同じツールを継承します。
node_replは、2つの個別のJavaScript実行コンテキストを保持する単一のNode.jsプロセスを実行します。1つは信頼されており、OpenAI独自のコードが含まれています。もう1つは信頼されておらず、エージェントのコードを実行します。信頼されたコンテキストは、実行のたびに新しく生成されるランダムなトークンを提示することで、自身が信頼されていることを証明します。
問題は、両方のコンテキストが1つのNodeプロセス内に存在し、1つのメモリヒープを共有していることです。そのため、トークンは信頼されていない側が読み取れるメモリ内に置かれた単なる文字列にすぎません。

信頼されていないコードは「v8.getHeapSnapshot()」でヒープのスナップショットを取得し、UUIDのような形式のすべての文字列を試します。推測が間違っている場合は「not authorized(権限がありません)」が返されます。引数が不正な正しいトークンの場合は、実際の検証エラーが返され、攻撃者はトークンが正しいことを知ることができます。
トークンを入手すると、信頼されていないコードは、信頼されたコンテキストがネイティブでサンドボックス化されていない親プロセスと通信するために使用するのと同じパイプに、独自のリクエストを書き込みます。
Article Intelligence
Sponsored
AdNewsLayer Premium
Unlock deeper intelligence.
Ad-free reading, exclusive research, and real-time onchain insights.
Go Premium
