Brood Box - AI coding agent を microVM に閉じ込めて差分を review する
AI coding agent の矛盾はだんだん大きくなっています。本当に code を直してもらうには、workspace を読み、command を実行し、dependency を install し、model API にアクセスし、ときには Git credential も使う必要があります。しかし、その permission を host machine に直接渡すと、agent の誤操作もそのまま本物の操作になります。
今日紹介する stacklok/brood-box は、この問題に向き合う tool です。Go 製の CLI で、command name は bbox。Claude Code、Codex、OpenCode、Gemini などの coding agent を hardware-isolated microVM の中で実行します。agent が見るのは current workspace の copy-on-write snapshot です。Session が終わったあと、user が file ごとの diff を確認し、どの変更を real project に戻すかを選びます。
公開時点の GitHub page と search result では、project はおよそ 40 stars、9 forks。主な言語は Go、license は Apache-2.0 です。Project は 2026-02-13 に作成され、現在も活発に更新されています。Releases page の latest version は v0.0.22、公開日は 2026-05-29 です。README は、この project がまだ experimental であり、CLI flags、config format、behavior が変わる可能性を明記しています。
プロジェクト概要
| 項目 | 内容 |
|---|---|
| Repository | stacklok/brood-box |
| 位置づけ | microVM 内で AI coding agent を動かす local CLI |
| Stars | 約 40 |
| Forks | 約 9 |
| 主な言語 | Go |
| License | Apache-2.0 |
| Latest release | v0.0.22 |
agent の local execution boundary を作る
Brood Box の中心 command は短いです。
bbox claude-code
bbox codex
bbox opencode
bbox gemini
ただし、この command の裏では多くの処理が走ります。Agent config を解決し、許可された environment variables を集め、current directory の copy-on-write snapshot を作り、対応する OCI image を pull または利用し、libkrun microVM を起動し、SSH 経由で interactive terminal session に入ります。
これは agent を web service にする tool ではありません。普通の Docker command を薄く包むものでもありません。狙いは、agent を local terminal tool のように使い続けながら、実際の write は disposable workspace の中に閉じ込めることです。Real project directory は agent session 中に直接変更されません。
Snapshot + diff review が重要な動作
Brood Box は default で、agent に workspace snapshot を触らせます。Agent は file を編集し、test を走らせ、code を生成し、場合によっては何かを壊すこともできます。ただし、それは snapshot 内で起こります。Session が終わると VM が先に停止し、tool は snapshot と original directory の差分を比較し、file ごとの review を表示します。
この順序が重要です。Review が始まる前に VM が止まっているため、agent が file を書き続けながら user が古い diff を見ている、という状態を避けられます。Documentation では、write-back 前に hash verification を行い、check と write の間に状態が変わる risk を減らすことにも触れています。
体験としては、「agent に temporary workbench を渡す」ことに近いです。結果が信用できなければ session を閉じて snapshot を捨てればよい。価値がある変更だけを real workspace に戻せます。
microVM は普通の container ではない
Brood Box は libkrun を使います。Linux では KVM、Apple Silicon macOS では Hypervisor.framework に依存します。README は、これは container boundary だけに頼るものではなく、coding agent により硬い execution isolation を与えるための microVM だと説明しています。
普通の container は environment reproduction にはかなり役立ちます。しかし host kernel を共有します。Brood Box の判断は、agent が arbitrary code を実行し、dependency を install し、shell command を動かすなら、「この container config を信じる」だけでは足りず、execution environment を VM boundary に押し込む方がよい、というものです。
もちろん、その分だけ条件もあります。Linux では /dev/kvm にアクセスできる必要があります。macOS は Apple Silicon が前提です。Windows は現在の README で主要 path ではありません。つまり、どの machine でも無意識に使える軽量 wrapper ではなく、agent safety boundary のために環境コストを払える developer 向けです。
複数 agent を支えつつ、環境変数の境界を保つ
User guide に載っている built-in agents は Claude Code、Codex、OpenCode、Gemini です。それぞれ image と command があり、forward される environment variable pattern も異なります。たとえば Claude Code は ANTHROPIC_API_KEY と CLAUDE_*、Codex は OPENAI_API_KEY と CODEX_* が対象です。
これは「host の environment variables を全部 VM にコピーする」より慎重です。Agent には model credential が必要ですが、host 上のすべての config を見る必要はありません。Brood Box には --no-git-token、--no-git-ssh-agent、--no-settings、--seed-credentials などもあり、Git token、SSH agent、host-side agent settings、credential persistence の扱いを選べます。
Company project で試すなら、このあたりの switch は一つずつ確認した方がよいです。AI agent sandbox の risk は filesystem だけではなく、credential、network、MCP tools、Git permission の組み合わせにもあります。
egress firewall で network permission を絞れる
もうひとつ注目したい design は DNS-aware egress firewall です。Brood Box は permissive、standard、locked の 3 つの profile を提供し、--allow-host で追加の DNS hostname を許可できます。README では、allow-host が任意の IP address ではなく DNS hostname を受け取ることも明記されています。
これは coding agent では現実的な線です。完全に offline にすると、多くの task は進みません。Model API、package manager、GitHub、documentation site が network を必要とするからです。一方で、network を完全に開くと、prompt injection、dependency script、誤操作の出口も増えます。
Brood Box は「正しい network policy」を代わりに決めてくれるわけではありません。しかし network boundary を CLI surface に置いています。まず default profile で試し、高リスクの repository や sensitive project ではより狭い egress profile に切り替える、という使い方ができます。
MCP と Git integration は便利だが review が必要
Brood Box は ToolHive が動いているとき、MCP servers を自動検出して proxy し、VM 内の agent から tool を使えるようにします。Documentation では、host 側で embedded Virtual MCP Server を動かし、複数 backend を VM 内の single MCP endpoint として集約し、authorization config で tool request を制御できると説明されています。
これは real workflow では便利です。Coding agent は file editing だけではなく、外部 tool を呼び出すことが多いからです。ただし Brood Box は単なる VM wrapper ではなく、host と guest の間に tool channel も作ります。Sensitive project で使う場合は、MCP group、authorization policy、--no-mcp option をきちんと設定する必要があります。
Git integration も同じです。Default では git identity、GITHUB_TOKEN / GH_TOKEN、SSH agent を VM に forward でき、VM 内の agent が Git operation を実行できます。Snapshot mode では、.git/config は credential や token を取り除くために sanitize されます。この default は便利ですが、agent に code editing だけをさせ、remote repository には触らせたくないなら、token や SSH agent forwarding を明示的に止めるべきです。
先に試す価値がある人
Brood Box をまず勧めたいのは、次のような user です。
- Claude Code、Codex、OpenCode、Gemini CLI を real repository で使っていて、local execution isolation を足したい。
- agent に test、dependency install、大量 file edit を任せたいが、write-back 前に file-by-file review を挟みたい。
- Linux KVM または Apple Silicon macOS で microVM runtime を設定できる。
- Credential forwarding、Git permission、MCP tools、egress policy に明確な security requirement がある。
- Experimental project を受け入れ、CLI flag や config format の変化を追える。
たまに agent に小さな file を直してもらうだけなら、Brood Box は重いかもしれません。現在の machine が KVM / Hypervisor.framework を使えない場合も同じです。普通の container、temporary worktree、Git branch、人間の review だけで多くの低リスク場面は足ります。Brood Box の価値は、「agent にかなり自由に働かせたいが、real workspace は直接さらしたくない」場面で強く出ます。
まとめ
stacklok/brood-box の意味は、新しい coding agent を作ることではありません。既存 agent の local execution environment をより制御しやすくすることです。MicroVM で execution boundary を作り、copy-on-write snapshot で workspace を隔離し、diff review で write-back を決め、egress、MCP、Git option で capability surface を狭めます。
まだ若い project であり、明らかに security-conscious な power user 向けです。それでも方向性ははっきりしています。AI coding agent が単なる suggestion generator ではなく、user の machine で command を実行し file を変更する存在になったなら、runtime boundary そのものも developer tool の一部になるべきです。Brood Box はその欠けている部分を埋めようとしています。