AI AgentのSandboxは、Agentが実行するコードやコマンドの影響が届く範囲を、実行環境の側で制限する仕組みです。
Toolの権限設計が「Agentに何を許すか」を決めるのに対し、Sandboxは「何を選んだとしても、ここまでしか届かない」を決めます。判断を制御する層ではなく、判断が間違っていた場合の影響を物理的に絞る層です。
このGuideは、2026年7月14日時点の一次情報を基準にしています。Agent向けの実行隔離は各社が実装を更新している領域のため、採用時には利用する基盤の最新仕様を確認してください。
権限、Guardrails、Sandboxは別の層
| 層 | 制御するもの | 破られる条件 |
|---|---|---|
| Tool権限 | 定義した操作の可否 | Toolの外での実行 (生成コード等) |
| GuardrailsのHook | Tool呼び出しの検査 | 列挙外のパターン |
| Sandbox | 実行環境から届く範囲 | 隔離自体の脆弱性 |
コードを書いて実行するAgentでは、上二つの層に穴が生まれやすくなります。Toolとして定義した操作は権限で縛れても、Agentが生成したスクリプトの中身までは縛れないからです。だからこそ、実行環境そのものの隔離が最後の層として要ります。
隔離の中心はFilesystemとNetwork
Claude Codeのsandboxing解説は、二つの隔離を中心に据えています。Filesystem isolationで書き込める場所を制限し、Network isolationで接続できる先を承認済みのServerへ制限します。実装にはLinuxのbubblewrapとmacOSのSeatbeltというOSの隔離機構を使い、Agentが起動した子プロセスにも同じ制限を適用します。
Networkの制限が特に重要なのは、プロンプトインジェクションで整理した「揃うと危険な三条件」の一つ、外部への送信経路をここで外せるからです。実行環境から任意の宛先へ出られなければ、読み取られたデータの持ち出しは成立しにくくなります。
実行基盤側の例もあります。Claude APIのCode execution toolは、PythonやBashをSandbox化されたContainer内で実行します。CloudflareのSandbox SDKは、Container単位で隔離されたLinux環境を提供し、信頼できないコードの実行を前提に設計されています。
設計時に列挙する三つ
Sandboxを構成するとき、先に列挙したいのは次の三つです。
- 書ける場所: 作業ディレクトリの範囲、ホスト側に見えるMount
- 出られる先: Network egressのAllowlist、DNS、Proxy経由の抜け道
- 見える秘密: 環境変数・Credential・Tokenのうち、Sandbox内に持ち込むもの
加えて、CPU・実行時間・ディスクの上限と、Sandboxの使い捨て方 (実行ごとに破棄するか、Sessionで再利用するか) を決めます。再利用するSandboxは、前の実行が残した状態も引き継ぐことに注意が要ります。
隔離しても、成果物は境界を越える
Sandboxの中で何が起きても届かない、で終わりではありません。Agentの成果物 (Patch、生成ファイル、実行結果) は、最終的にSandboxの外へ持ち出されて使われます。
この持ち出し点が、もう一つの境界です。Sandbox内で作られたコードを無検証で本番へ反映すれば、隔離の意味は薄れます。成果物のReviewと検証、承認は、Sandboxがあっても残る工程です。Agentの作業環境全体をどう組むかはHarness Engineeringで扱います。
よくある誤解
Tool権限を絞ればSandboxは不要
Toolの外で実行されるもの、特にAgentが生成したコードは権限モデルの対象外です。コード実行を許すなら、実行環境の隔離が要ります。
Containerに入れれば安全
Networkが開いたContainerからは、データの持ち出しも外部への攻撃もできます。Filesystemだけでなく、egressの制限まで含めて隔離です。
Sandboxは開発環境の道具
逆です。信頼できない入力を扱う本番のコード実行Agentにこそ要ります。開発中の利便性のためだけの仕組みではありません。
隔離すれば人の確認は不要になる
Sandboxが守るのは実行時の影響範囲です。成果物を本番へ反映する境界には、Reviewと承認が残ります。
EastBraver Labsの判断基準
EastBraver Labsでは、Agentへコード実行を渡す前に、失敗した実行が届く範囲を紙に書けるかを確認します。
書ける場所、出られる先、見える秘密。この三つを列挙できない構成は、まだSandboxの設計が終わっていません。Networkはdeny-by-defaultから始め、必要な宛先だけを開けます。
Sandboxの外へ出る成果物には、通常のコードと同じReviewと検証を通します。隔離は事故の影響を絞る仕組みであって、成果物の品質を保証する仕組みではないからです。
実行環境を強くするほどAgentへ広い自由を渡せます。この関係を保ったまま、自由の範囲を評価で広げていくのが現実的だと考えています。