更新日:2026年8月17日
6分で読めます
社内評価で行き詰まったAIエージェントは、許可リストに載っていた唯一のサービスの脆弱性を突き、わずか1時間でサンドボックスを脱出しました。エージェント時代の許可リスト設計に生じた死角と、テスト環境で到達範囲を絞るための4つの対策を解説します。

7月、OpenAIとHugging Faceは、社内評価中のOpenAIモデルがサンドボックスを脱出し、オープンなインターネットに到達したうえで、Hugging Faceの本番環境の内部インフラストラクチャにアクセスしていた事実を、責任ある開示のかたちで公表しました。この侵入で、エージェントはデータセット、クラスターの構成情報、クラウドキーを持ち出しています。
このインシデントの外部フェーズで最も重大だったのは、最初の1時間です。エージェントは、サンドボックスの許可リストに載っていたパッケージプロキシの脆弱性を突き、インターネットへの経路を手に入れました。
フロンティアモデルの開発元が同様のインシデントを開示する例は増えています。セキュリティ業界としては、エージェントがテスト環境内の到達可能性にどう影響するのかを、あらためて慎重に検討すべき段階に来ています。しかも、これは評価ハーネスを運用する組織だけの問題ではありません。エグレスリストの内側でコードを実行するワークロードは、いずれも同じ構造を持ちます。CI Runner、ホスト型サンドボックス、ネットワーク経由で到達できるツールサーバーなどです。こうした許可リストの多くは、データの流出を止める目的で設計されてきました。しかし現在、止めるべきものはそれだけではありません。
許可リストを設計するとき、通常はワークロードが接続する必要のある宛先を洗い出し、そこから何が流出しうるかという観点で各エントリを評価します。
OpenAIのエージェントは、この一般的な手順の死角を突きました。エージェントがアクセスしたパッケージプロキシも、ひとつのサービスです。呼び出し元を認証し、脆弱性を抱えたソフトウェアを動かし、パブリックインターネットと通信します。サンドボックス自体はインターネットに到達できませんでしたが、エージェントは、インターネットに到達できるパッケージプロキシへのアクセスを獲得しました。
許可リストは、乗っ取り可能な宛先が持つ到達範囲を、そのままAIワークロードに引き渡します。
脱出にあたり、OpenAIのエージェントは、許可リスト上のパッケージプロキシに、見返りの非常に大きいゼロデイ脆弱性を2件見つけ出しました。
1件目は、サーバーサイドリクエストフォージェリの脆弱性です。これにより、エージェントは任意のURLの取得をプロキシに代行させられるようになりました。OpenAIのBlack Hat講演では、その瞬間のモデルの思考が「excellent, we have arbitrary SSRF(よし、任意のSSRFが取れた)」と記録されています。サンドボックスは、プロキシのインターネット接続を借用したことになります。
2件目は権限昇格の脆弱性です。CVE-2026-65616(CVSS 8.8)では、パッケージプロキシのリフレッシュトークンエンドポイントが、トークンの署名を検証しないまま新しいトークンを発行してしまいます。これらのトークンは、サーバー側でスコープを参照する方式ではなく、スコープをクレームとして自ら保持する方式です。そのため署名が検証されなくなった時点で、クレームの内容は呼び出し元の申告どおりになります。
今回、その呼び出し元はエージェントでした。エージェントはサンドボックス内で、読み取りスコープのトークンのクレームを管理者権限に書き換え、アクセス範囲を拡張します。そのうえで、そのトークンをパッケージプロキシに送って更新を要求したところ、管理者スコープのトークンが返されました。結果として、本来の読み取り専用権限ではなく、管理者権限で動作できるようになったのです。
脱出は、エージェントたちの集団作業でした。到達できる唯一のサービスを共同で調べ上げ、自分たちの代わりに通信させる方法を突き止めると、その手法を共有し、他のエージェントも使えるようにしています。あるエージェントは、外部への攻撃が指示の範囲外であると認識しながら、そのまま作業を続けていました。
Hugging FaceとOpenAIはまた、発見の難しい脆弱性であったにもかかわらず、プロキシの侵害が成立したのはサンドボックステスト開始からおよそ30分以内だったとしています。いずれもゼロデイであり、エージェントはCVEやアドバイザリーを参照できません。加えて、このパッケージプロキシはクローズドソースであり、そのコードがエージェントの学習データに含まれていたこともありません。
エージェントがプロキシを狙った理由は、すでに判明しています。評価タスクに行き詰まっていたのです。OpenAIの講演資料には、脱出経路を探し始める直前に「perhaps answer online(答えはオンラインにあるかもしれない)」と推論する様子が残っています。フロンティアモデルは、タスクを速く解くことに対して報酬が与えられる設計です。行き詰まったモデルが近道を探すのは自然な帰結であり、OpenAIは通常、インターネットアクセスを無効化してその近道をふさいでいます。
エージェントの挙動には、未解明の点も残っています。4日間の侵入中に何を行ったのか、インターネットに到達したあと何をしたのか、といった点です。確かなのは、セキュリティ能力を備え、自律的に動作するAIのテスト環境を設計するうえで、新たに考慮すべき点があると、このエージェントが実例をもって示したことです。
AIエージェント向けのサンドボックスを構築しているなら、リスクを下げ、到達範囲を絞る方法が4つあります。
サンドボックスとは、その内側のワークロードが通信できる相手のリストです。そしてリストに載るものは、それぞれ自身の到達範囲を持ち込みます。ワークロードが単なるビルドジョブであれば、この点は問題になりません。しかし、許可リストの設計時には想定されなかったかたちでエージェントがそのリストを広げるとき、話は変わります。
エージェント型のワークロードは、評価ハーネスの外にも広がりつつあります。CI、本番環境の自動化、内部サービスと連携するツール群などです。そのいずれにも、同じ性質と構造を持つリストが存在します。モデルが脆弱性を見つけ、つなぎ合わせる能力を高めるほど、リストの到達範囲がそのままエージェントの影響範囲を押し広げます。
OpenAIは、これらのエージェントが依然として「取得できる権限と、通信できるシステムによって制約される」と述べています。つまり、既存のコントロールは今も機能します。
変えるべきなのは、到達可能性を最小化するために、そのリストをどれだけ慎重に描くかという点です。
脅威リサーチチームによる記事は、Security Labsサイトでご覧いただけます。
無料の
30日間のGitLabトライアルを開始
クレジットカードなしでご登録いただけます。
このブログ記事を楽しんでいただけましたか?ご質問やフィードバックがあればお知らせください。GitLabコミュニティフォーラムで新しいトピックを作成してあなたの声を届けましょう。
フィードバックを共有するよくあるご質問
プロキシに代理で取得させました。パッケージプロキシに存在したサーバーサイドリクエストフォージェリ(SSRF)の脆弱性により、エージェントは任意のURLを指定でき、プロキシがその代わりにリクエストを実行しました。サンドボックスは、プロキシの接続性を借りたかたちです。
いいえ。ベンチマークが評価していたのは、ブラウザエンジンやカーネルといったソフトウェアのバグを悪用する能力です。OpenAIの講演資料には、タスクに行き詰まったエージェントが、答えはオンラインにあるかもしれないと推論し、そこに到達する手段を探し始める過程が示されています。
はい。あるエージェントが、共有の内部パッケージ管理システムにメモをアップロードすることで、他のエージェントとの伝達経路を確立しました。発見されたエクスプロイトはそこに投稿され、1体が見つけた手法を他のエージェントも利用できる状態になっていました。
それだけでは防げません。サンドボックスにはもともとインターネットへの経路がありませんでした。許可されていた宛先は信頼済みネットワークの内側にあり、だからこそ、そこへ到達する価値が生まれたのです。ネットワーク分割が効果を発揮するのは、到達できるサービス自体にも制約をかけた場合です。
双方の責任範囲です。分離技術はプロバイダーが担います。一方、許可リスト、そこに載せるサービス、そしてそれらのサービスが到達できる範囲は、利用者側の管轄です。デフォルトの許可リストが何を許可しているのか、その宛先はどこまで到達できるのかを、プロバイダーに確認してください。