AI エージェント用サンドボックス: 隔離の 4 概念(プロセス / gVisor / microVM / WASM)
エージェントの「動的なツール実行」を安全に閉じるには、隔離境界の種類を先に選ぶ。プロセス分離・gVisor・VM(microVM)・WASM の 4 つで強度・互換・コストが違う。マネージドは Firecracker / Hyper-V / gVisor 系が多く、自前は用途で使い分ける。
どんなときに使う?
- コーディングエージェントや Code Interpreter を自前インフラで動かしたい
- Docker だけ/microVM/WASM のどれにするか比較したい
- 既存の Docker Sandboxes(sbx): コーディングエージェントを microVM で隔離する や nono: Seatbelt / Landlock でコマンドを OS サンドボックス実行する を、より広い地図の中に置きたい
やり方(選定の軸)
| 概念 | 主な境界 | 代表 | 向き |
|---|---|---|---|
| プロセス分離 | namespace / cgroup / seccomp | runc, crun | 信頼度が高い通常ワークロード |
| gVisor | ユーザー空間カーネル(Sentry) | runsc, GKE Sandbox | 未信頼コード、マルチテナント |
| VM / microVM | ハイパーバイザー + ゲストカーネル | Firecracker, Kata, Docker Sandboxes | 強いテナント分離 |
| WASM | ランタイム + WASI capabilities | Wasmtime, WasmEdge | プラグイン・軽量ツール。Linux 全面互換ではない |
各社の寄せ方(公開情報ベース):
- AWS: Firecracker(Lambda/Fargate)。AgentCore は内部非公開
- Azure: Container Apps Dynamic Sessions(Hyper-V)
- GCP: GKE Sandbox(gVisor)
- OpenAI: Code Interpreter は「fully sandboxed VM」と説明(内部非公開)。Codex ローカルは Seatbelt / bubblewrap / Windows Sandbox
- Docker Sandboxes: microVM 系の実験機能
- Cloudflare Agents: V8 isolates(+ プロセスサンドボックス)。JS/WASM のみ
- E2B 等: マネージド Linux サンドボックス(内部実装は非公開が多い)
設計では隔離に加え、最小権限・入出力検査・監査ログをセットにする。
注意点
- 「コンテナ=十分」ではない。ホストカーネル共有のままではカーネル脆弱性の影響を受けうる
- gVisor / WASM は syscall・互換の制約がある。既存 Linux アプリをそのまま、は VM 寄りが無難
- 記事は 2026-04 時点の調査。各社の実装は変わりうるので一次情報を再確認する