報告1,285件で最も重いのはLinuxの欠陥 Vercelのサンドボックス脱出の懸賞
Vercelが公表したサンドボックスの懸賞の結果を、数字の内訳と測り方、資料に書いていない事と並べて示す。エージェントが書いたコードを隔離して動かす仕組みを点検する時の材料にする。
米Vercelは10月14日、AIエージェント向けの実行環境「Vercel Sandbox」から抜け出す方法を最大100万ドルで募った懸賞の結果を公表した。2週間で1,285件の報告が届き、24万2,000ドルを払った。最も重い発見はLinuxカーネルの未知の欠陥で、顧客のデータに届いた報告は無かったという。数字は自社の集計で、修正の詳細は伏せている。
記事の内容を自社でどう進めるか、内容が固まっていない段階でも相談できます。仕事の相談
毎週 1 回、その週の記事から 5 本と実践の 1 本を選んでメールで届けます。ニュースレターを購読する(無料)

米Vercelは10月14日、AIエージェント向けの実行環境「Vercel Sandbox」の脱出を募った懸賞の結果を公表した。2週間で1,285件の報告が届き、報奨金は24万2,000ドルを払った。最も重い発見はLinuxカーネルの未知の欠陥で、顧客のファイルや秘密情報、アプリのデータを読めたという報告は無かったとする。
書いたのは同社のセキュリティの技術者で、8月の懸賞の告知で約束した事後の報告に当たる。
1,285件の内訳と払った額
懸賞はHackerOneの公開プログラムで、8月18日から9月1日まで開いた。1件の上限は5万ドル、総額の上限は100万ドルとした。重さごとの額は、Criticalが2万5,000〜5万ドル、Highが1万〜2万5,000ドル、Mediumが5,000〜1万ドル、Lowが1,000〜5,000ドルだった。
届いた1,285件は、重複が877件、対象外が319件、有効が57件、参考が32件だった。重さの判定は、Criticalが1件、Highが5件、Mediumが9件、Lowが42件、参考が32件だ。払った24万2,000ドルは、総額の上限の4分の1に満たない。Medium以下は、資料に書いた通りに動かない防火壁の規則や、ゲストを信じすぎた欄といった、方針の境目の小さな穴だったという。
最も重いのは、HackerOneの研究者が3日目に報告したLinuxカーネルのネットワークの処理の欠陥だ。ゲストから送る細工したパケットで、ホストのメモリが外に漏れ、ホストが止まり、ホストで命令を動かせた。メモリの漏れはVercelの本番のサンドボックスで、残りの2つは研究者が同じ構成で用意した機械で示した。Vercelによると、大手のクラウドの多くが同じ層で顧客の処理を隔てており、共有の基盤の危険だという。
外と内の3つの目で測った
測り方は3段だ。対象の仕組みは告知に書いてある。各サンドボックスはベアメタルのEC2の上で専用のマイクロVMとして動き、その中のコンテナが利用者のコードを動かす。外への通信はマイクロVMの外のホストで調べ、許可した宛先だけを通す。懸賞はこの計算とネットワークの2つの境界を破ることを対象にし、コンテナから出てマイクロVMの中に届くだけの物は対象外とした。
公開の懸賞の前に、ソースを読める社内で攻撃を試した。外部のTrail of Bitsは2人の技術者が延べ4人週かけてソースを読み、20件の発見を出した。そのうえで公開の懸賞を開いた。
Trail of Bitsは、サンドボックスごとに専用のゲストのカーネルを持つFirecrackerのマイクロVMという仮想化の境界は健全と結論した。Vercelの社内の実習生も、消したサンドボックスのディスクの領域を別のサンドボックスが読めた穴を見つけた。
懸賞の中で同社が「好例」とするのは、1日目に届いた報告だ。スナップショットの保存先の情報を、ホスト側がゲストから受け取った値のまま信じていた。研究者は自分の2つのアカウントの間で、互いのファイルを読み書きできると示した。ただ、他人を狙うには外に出ない96ビットの識別子が要り、他人の環境に届く道は示されなかった。Trail of Bitsも同じ根の原因を別に指摘しており、修正は1週間以内に出した。
資料に書いていない事
数字はVercelが自社の懸賞を自ら集計した結果で、第三者の検証は示していない。カーネルの欠陥は、資料の公開の時点で修正が非公開の検討中で、CVEの番号も未定とし、詳細を伏せた。Criticalの1件がこの欠陥かも、資料ははっきり書いていない。
払った額の重さごとの内訳、Trail of Bitsの20件の重さ、実習生が見つけたディスクの穴を直した時期も記載がない。同社は報告の多さを、研究者がAIを使って速く探すようになった結果とみるが、AIを使った報告の割合は示していない。
自分の仕事で試すなら
エージェントが書いたコードを自前で隔離して動かすなら、Trail of Bitsの3つの勧めがそのまま点検表になる。1つ目は、ゲストから来る値を一切信じないことだ。境界を越える値は、サーバーの側で作り直すか、ゲストが触れない鍵で署名する。2つ目は、外への通信の方針を解釈する部品を1つにすることだ。Vercelでは複数の部品が同じ方針を別々に読み、判断が食い違っていた。3つ目は、次の未知の欠陥を前提にすることだ。ホストとゲストのカーネルを新しく保ち、入れ子の仮想化を切り、Firecrackerのjailerで各マイクロVMの権限を絞る。
隔離の境目は計算だけでなくネットワークにもある。Vercelは別の記事で、マイクロVMを越えなくても通信の穴から外に出られると書いた。Vercel Sandboxを使うなら、資料で外への通信の許可の設定を確かめる。
公開の懸賞を自社で開くなら、届いた報告の7割近くが重複だった点も目安になる。報告を仕分ける人手を先に見積もる。
編集部の見方
この資料の一番の中身は、穴が出た場所だと編集部は見る。Trail of Bitsは仮想化の境界の作りを健全と見たが、最も重い穴は多くの事業者が共有するカーネルにあり、研究者の機械ではそこから隔離を破れた。自前の部分の穴は、ホストがゲストの値を信じた所と、通信の方針の食い違いに出た。自前の隔離を点検するなら、ゲストから受け取る値の一覧と、通信の方針を判断する部品の一覧を作る所から始めるのが近道だ。カーネルの穴は自前では防ぎきれないので、更新を早く当てる手順も併せて持つ。
出典
に確認(日本時間)
- AIエージェント向けの実行環境「Vercel Sandbox」の脱出を募った懸賞の結果(vercel.com)
- 懸賞の告知(vercel.com)
- HackerOneの公開プログラム(hackerone.com)
- 別の記事(vercel.com)
- 資料(vercel.com)
この記事は役に立ちましたか
ありがとうございます
ありがとうございます
関連記事
- Cloud Storage Manager
「Cloud Storage Manager」に認証なしの脆弱性 最新の1.2.9へ
- AutomatorWP
「AutomatorWP」のWebhooksに認可回避の脆弱性 管理者を乗っ取られ得る



