研究者、ChatGPTのセキュアサンドボックスを制御下に置いたと主張

Black Hat USA 2026 – ラスベガス – ある研究者は今週、ChatGPTの隔離されたサンドボックス内部で完全なコマンド&コントロールを確立したと主張する概念実証(PoC)攻撃を発表しました。

8月5日、パロアルトネットワークスのシニアセキュリティ研究者であるSimcha Kosman氏は、Black Hat USA 2026で「A Billion-User Blast Radius: Owning ChatGPT’s Secure Sandbox」と題した講演を行いました。この講演では、ChatGPTのセキュアサンドボックスに対する概念実証攻撃チェーンが披露され、大規模言語モデル(LLM)の監督機構を回避して永続的なroot権限での実行を達成する様子が示されました。

これはあくまで概念実証であり、現実的な企業防御環境に対する攻撃とは必ずしも言えません。しかし、コンテナサンドボックスが厳格な制御のもとで安全かつ隔離されたランタイム環境として動作するよう特別に設計されている点を踏まえると、この発見は注目に値します。理論上の状況であっても、それを回避しうる手法が存在するのであれば、周知しておく価値があるでしょう。

Kosman氏は講演の冒頭で、基本的な前提として「プライベートなチャットはプライベートなままであるべきだ」と述べました。しかし、隔離されたサンドボックスであっても、プライベートに保たれるべきものが必ずしもそのまま保たれるとは限りません。

Kosman氏は、被害者のChatGPTを騙してサンドボックス内で攻撃者が制御するコードを実行させ、そのコードを使って以降の推論に影響を与え、さらに共有バックエンドを悪用することで、被害者のサンドボックスから攻撃者自身のサンドボックスへデータを受け渡す完全なコマンド&コントロール(C2)を確立する手法を実演しました。

OpenAIの広報担当者はDark Reading の取材に対し、Black Hatでの発表に先立ちこの研究を把握しており、Kosman氏が知見を共有してくれたことに感謝していると述べました。同社によれば、概念実証に関わっていたOpenAIシステムの該当部分は発表前に既に削除済みであり、同社の見解としては、この研究はChatGPTのセキュリティサンドボックスからの脱出や、他の顧客アカウントへの無制限アクセスを意味するものではないとしています。

サンドボックス攻撃の仕組み

「最初の目標は、LLMにブロックされることなく機密情報をサンドボックス内に取り込むことです」とKosman氏は説明しました。「そして2つ目の目標は、その情報をサンドボックスから自分のサーバーへ送り返すことです」

この攻撃の着想は、Kosman氏がURLベースの命令に対するChatGPTの挙動が、URLをクリックしたプラットフォームによって異なることを発見したことに始まります。WindowsおよびAndroidでは、ユーザーがChatGPTのリンクをクリックすると、送信前にプロンプトの内容を確認できます。ところがiPhoneやMacでは、リンクを開いた瞬間にURLベースのコマンドが即座に実行されてしまうのです。

これにより、ワンクリック攻撃が可能になります。攻撃者が(おそらくSMS経由で)悪意あるChatGPTリンクを送信し、ユーザーがそれを開くと、攻撃者のコマンドが自動的に実行されてしまうのです。

次のステップは、攻撃者が管理するクラウド上の場所からChatGPTにスプレッドシートをダウンロードさせることでした。Kosman氏は、AIモデルがスプレッドシートを処理する際、その中に含まれるコードも処理・実行してしまうことを発見しました。スプレッドシートのセルに悪意あるコードを仕込むことで、ChatGPTは処理中にそのコードを実行してしまいます。この悪意あるコードは、バックグラウンドで永続的かつ監視されないプロセスを作成するためにも利用できます。

さらにKosman氏は、ChatGPTが推論、いわゆる「思考」プロセスに使用している隠れたPython実行環境にパッチを当てることで、モデルを騙し、接続されたツール(Google DriveやGmailといった重要なユーティリティが含まれる場合もあります)からデータを抽出させ、それを防御側のサンドボックスに一時的に置いてデータ窃取の準備をさせられることを突き止めました。

達成されたChatGPTのC2

最も複雑で最後のステップは、防御側のサンドボックスから攻撃者が制御する環境へデータを移動させることでした。Kosman氏は当初、サンドボックスにインターネットアクセスがあり、単純に外部サーバーへデータを送信できると考えていましたが、実際にはそうではありませんでした。突破口となったのは、ChatGPTのサンドボックスがソフトウェアバイナリの管理に使用しているJFrogのArtifactoryリポジトリマネージャーでした。

この研究者は、複数のサンドボックスが同一のArtifactoryバックエンドとやり取りしているだけでなく、アカウントのロックアウト挙動がアカウントをまたいで観測できることを発見しました。さらに、こうしたサービス拒否(DoS)状態は、ログイン試行という形で本来隔離されているはずのサンドボックスにまで実際に波及することがわかりました。Kosman氏は、サンドボックスにログイン状態をバイナリコードとして解釈させることで、攻撃者側と防御側のサンドボックスを互いに通信させられることを突き止めました。「too many requests(試行回数過多)」がバイナリの1を、「login failed(ログイン失敗)」が0を表す仕組みです。

悪意あるスプレッドシートのペイロードを通じて確立された攻撃者側エージェントと被害者側エージェントは、あらかじめ合意した幅広いユーザー名の組み合わせで繰り返しログイン試行を行い、互いにバイナリメッセージを送り合います。一方のサンドボックスが特定のユーザー名に対して意図的にロックアウトを発生させ、もう一方がそのユーザー名に対してクエリを行い、応答をビットとして解釈するという流れです。

低速かつ単純な仕組みではあるものの、双方向の通信が可能でした。この原始的なC2により、研究者は別のChatGPTセッションに属するファイルの一覧にアクセスし、ファイルの内容を読み取り、さらにその内容を遠隔から改変することができました。

これらを総合すると、攻撃の流れは次のようになります。攻撃者はiPhoneまたはMacを使用するChatGPTユーザーに対し、URL経由で悪意あるコマンドを送信します。この命令により、攻撃者が管理する場所からスプレッドシートがダウンロードされます。このスプレッドシートには、永続性を確立し、被害者のChatGPTに推論を注入して機密データを被害者のサンドボックスへ移動させ、さらに共有されたArtifactoryの認証状態を秘匿通信チャネルとして利用する悪意あるコードが含まれています。アカウントのロックアウトを通じてビットをエンコードし、それを別のサンドボックスから観測できるという仕組みです。

講演の終盤、Kosman氏は、研究チームが「ChatGPTのサンドボックス内部だけで完結する完全なC2通信」を達成したと述べました。

パロアルトネットワークスの広報担当者がDark Readingに語ったところによると、Kosman氏はこの研究に関連する5件の発見事項を3月23日にOpenAIへ報告しました。macOSおよびiPhoneにおけるURLパラメータ経由のプロンプト実行、推論への注入、Artifactoryに関わるサービス拒否(DoS)問題、ユーザー名ロックアウト挙動を介したArtifactory経由のテナント間通信、そしてスケジュールされたタスクを介したURLロンダリングの5件です。OpenAI側の対応は「発見事項ごとに異なった」ということです。

「1つ目の挙動については、互換性維持のために残されている既知の問題であるとの回答でした。また、推論注入に関する報告は対象範囲外とされました。Artifactoryに関する問題については、パッケージのダウンロード時にユーザー名とパスワードの入力を求める要件を撤廃した一方、互換性維持のために低権限のリーダーユーザーは残されました。さらに、テナント間通信を可能にしていたユーザーロックアウトの挙動も撤廃されました」と広報担当者は述べています。「スケジュールされたタスクの問題については、直近の大規模なスケジュールタスク関連アップデートの一環として、URLロンダリングを防止するようアーキテクチャが変更されました」

これらの対応・変更はすべて、90日間の開示猶予期間内に行われたと、この広報担当者は付け加えています。

翻訳元: https://www.darkreading.com/cloud-security/researcher-claims-control-chatgpt-secure-sandbox

ソース: darkreading.com