# AI AgentのSandboxとは — 実行環境の隔離で影響範囲を決める

> AI AgentのSandboxの定義、Tool権限やGuardrailsとの違い、Filesystem・Network・プロセス隔離の構成と、コード実行Agentを本番へ出す前の確認点を整理します。

Canonical URL: https://labs.eastbraver.com/guides/sandbox
Published: 2026-07-14
Updated: 2026-07-15
Category: field-guide
Tags: ai-agent, safety, agentic-infra

AI AgentのSandboxは、Agentが実行するコードやコマンドの影響が届く範囲を、実行環境の側で制限する仕組みです。

[Tool](/guides/tool)の権限設計が「Agentに何を許すか」を決めるのに対し、Sandboxは「何を選んだとしても、ここまでしか届かない」を決めます。判断を制御する層ではなく、判断が間違っていた場合の影響を物理的に絞る層です。

このGuideは、2026年7月14日時点の一次情報を基準にしています。Agent向けの実行隔離は各社が実装を更新している領域のため、採用時には利用する基盤の最新仕様を確認してください。

## 権限、Guardrails、Sandboxは別の層

| 層 | 制御するもの | 破られる条件 |
| --- | --- | --- |
| Tool権限 | 定義した操作の可否 | Toolの外での実行 (生成コード等) |
| [Guardrails](/guides/guardrails)のHook | Tool呼び出しの検査 | 列挙外のパターン |
| Sandbox | 実行環境から届く範囲 | 隔離自体の脆弱性 |

コードを書いて実行するAgentでは、上二つの層に穴が生まれやすくなります。Toolとして定義した操作は権限で縛れても、Agentが生成したスクリプトの中身までは縛れないからです。だからこそ、実行環境そのものの隔離が最後の層として要ります。

## 隔離の中心はFilesystemとNetwork

[Claude Codeのsandboxing解説](https://www.anthropic.com/engineering/claude-code-sandboxing)は、二つの隔離を中心に据えています。Filesystem isolationで書き込める場所を制限し、Network isolationで接続できる先を承認済みのServerへ制限します。実装にはLinuxのbubblewrapとmacOSのSeatbeltというOSの隔離機構を使い、Agentが起動した子プロセスにも同じ制限を適用します。

Networkの制限が特に重要なのは、[プロンプトインジェクション](/guides/prompt-injection)で整理した「揃うと危険な三条件」の一つ、外部への送信経路をここで外せるからです。実行環境から任意の宛先へ出られなければ、読み取られたデータの持ち出しは成立しにくくなります。

実行基盤側の例もあります。[Claude APIのCode execution tool](https://platform.claude.com/docs/en/agents-and-tools/tool-use/code-execution-tool)は、PythonやBashをSandbox化されたContainer内で実行します。[CloudflareのSandbox SDK](https://developers.cloudflare.com/sandbox/)は、Container単位で隔離されたLinux環境を提供し、信頼できないコードの実行を前提に設計されています。

## 設計時に列挙する三つ

Sandboxを構成するとき、先に列挙したいのは次の三つです。

- 書ける場所: 作業ディレクトリの範囲、ホスト側に見えるMount
- 出られる先: Network egressのAllowlist、DNS、Proxy経由の抜け道
- 見える秘密: 環境変数・Credential・Tokenのうち、Sandbox内に持ち込むもの

加えて、CPU・実行時間・ディスクの上限と、Sandboxの使い捨て方 (実行ごとに破棄するか、Sessionで再利用するか) を決めます。再利用するSandboxは、前の実行が残した状態も引き継ぐことに注意が要ります。

## 隔離しても、成果物は境界を越える

Sandboxの中で何が起きても届かない、で終わりではありません。Agentの成果物 (Patch、生成ファイル、実行結果) は、最終的にSandboxの外へ持ち出されて使われます。

この持ち出し点が、もう一つの境界です。Sandbox内で作られたコードを無検証で本番へ反映すれば、隔離の意味は薄れます。成果物のReviewと検証、[承認](/guides/human-in-the-loop)は、Sandboxがあっても残る工程です。Agentの作業環境全体をどう組むかは[Harness Engineering](/guides/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へ広い自由を渡せます。この関係を保ったまま、自由の範囲を評価で広げていくのが現実的だと考えています。

## 関連記事

- [AI Agent 時代に、エンジニアは何を設計する人になるのか](/blog/ai-development-20260706)
- [エージェント基盤は非同期運用へ](/digest/ai-digest-20260708)
- [GPT-5.6とAI実行基盤の境界](/digest/ai-digest-20260710)
- [AIエージェント運用は堅牢性と統制へ](/digest/ai-digest-20260716)

## 検証範囲

- 一次情報: 公式ドキュメント / 設計面からの分析
- ローカル検証: 手元で再現しています
- 実運用: 本番運用の実績については、このGuideでは触れていません

## 変更履歴

- 2026-07-15: 検証範囲と根拠区分を明示
- 2026-07-14: 初版公開
