8月29日、Cyber Insiderが「Experiment shows AI agents can escape secure VMs using zero-days」と題した記事を公開した。この記事では、AIエージェントがQEMU/KVM仮想マシンから繰り返し脱出することに成功した実験結果について詳しく紹介されている。
セキュリティ研究機関 Trail of Bits の研究者Artem Dinaburg氏が、AIエージェントを用いて、VM(仮想マシン)のサンドボックスがどこまで安全か検証した実験の詳細が公開された。
AIエージェントのサンドボックス設計に関わるエンジニアにとって、この結果は見過ごせない。「VMに閉じ込めれば安全」という前提が、実験によって正面から否定されたからだ。
実験の概要
Dinaburg氏はTrail of Bitsの「Patch the Planet」イニシアチブの一環としてこの実験を実施した。AIエージェントに課した目標はCTF(Capture the Flag)形式のVM脱出——Debian 12 VMから抜け出し、ホスト側のフラグファイルを読み取ることだ。なお、使用されたAIモデルの名称および実験環境の詳細(ホストアーキテクチャ等)については、元記事の原文表記を参照されたい。
エージェントには次の権限が与えられた:
- VMへのSSHアクセス
- ソフトウェアのダウンロード
- ソースコードの検査
- ツールのビルドとデバッグ
- 調査・リサーチ全般
Dinaburg氏の監督は最小限で、エージェントは約12時間セッションを複数回にわたって自律的に動作した。失敗したアプローチを自ら放棄し、PoC(概念実証)コードやテストオラクルを作成しながら次の手を探し続けた。
脱出の3段階:既知CVEから、ゼロデイの連鎖へ
第1段階:既知の脆弱性でエクスプロイトを自作
最初の脱出試行のターゲットは、公開済みのLinuxカーネル脆弱性(元記事記載のCVE番号を参照)だ。公開エクスプロイトは存在しなかったが、エージェントはおよそ1時間以内に自らエクスプロイトを構築した。ただし脱出は完了せず、ホストをハードロック(ハング)させるにとどまった。
Dinaburg氏がDebianのカーネルを更新すると、エージェントは別の経路を探し始めた。
第2段階:QEMUのネットワークライブラリを経由
次に目をつけたのは、QEMUが使用するネットワークライブラリ**libslirpだ。Debian 12にはlibslirp 4.7.0が同梱されており、元記事に記載の脆弱性の影響を受けていた。エージェントはさらに、CVE未採番の修正済みバグも発見し、この2つを組み合わせてホストメモリへの任意読み書き**を実現した。
Dinaburg氏がQEMUとlibslirpを最新のアップストリームソースから再ビルドして既知の弱点を取り除くと、エージェントは分析を続け、第3の手を探し始めた。
第3段階:ゼロデイ3件+未配布パッチ1件の連鎖
最終的にエージェントが組み上げたのは、3つのゼロデイと1件のアップストリーム修正済み(ディストリビューション未適用)KVM脆弱性を連鎖させたエスケープチェーンだ。単一の脆弱性ではなく、これら計4要素を組み合わせて初めて脱出が成立する点が、この実験の技術的な肝である。
構成要素は次のとおり:
- QEMU VAPICの欠陥:System Management RAM(SMRAM)を露出させる
- KVMのページングに関する2つの問題:ホスト物理メモリへの書き込み可能マッピングを生成
- libslirpのパケット処理バグ:ライブネットワークオブジェクトをハイジャック可能な状態で露出
加えてエージェントは、最終的な脱出チェーンには不要なQEMU・CUPS・libslirpの追加の欠陥も発見している。
何が問題なのか
Dinaburg氏はこの結果を踏まえ、汎用VMを高性能AIエージェントの十分なセキュリティ境界として扱うべきではないと明言した。
特に危険なのはパッチ適用が遅いディストリビューション環境だ。エージェントはアップストリームの修正済みコミットを検査し、CVE未採番のバグであってもエクスプロイトに転用できる可能性がある。つまり「CVEが割り当てられていない=安全」という判断基準が、AIエージェントを相手にした場合には通用しないことを示している。
Trail of Bitsの推奨事項
Trail of Bitsは以下の対策を推奨している:
- Firecrackerなど、分離を設計目的とした仮想化システムを使用してアタックサーフェスを削減する。汎用QEMUはデバイスエミュレーション等の機能が豊富な分、攻撃対象領域も広い。FirecrackerのようなマイクロVMMはその設計思想から機能を絞り込んでおり、同種の連鎖エクスプロイトが成立しにくい
- ネットワークアクセス、認証情報、周辺機器、不要なVM機能を制限する。今回の実験でもlibslirpのネットワークスタックが侵入経路となっており、不要な機能の無効化が有効な緩和策となる
- クリーンな環境・短いエージェント実行時間を維持する。長時間・多セッションにわたる自律動作が今回の成功要因の一つであり、セッションを短く区切ることでエージェントが試行錯誤できる時間を制約できる
- 詳細なロギングとアクティブモニタリングを実施する。エージェントの挙動を可視化することで、異常なシステムコールやメモリアクセスを早期に検知できる
- アップストリームのセキュリティ修正を迅速に適用する。今回の実験では、ディストリビューションへの反映が遅れた修正済みパッチが攻撃要素として転用された
詳細はExperiment shows AI agents can escape secure VMs using zero-daysを参照していただきたい。