メインコンテンツへスキップ

Guides

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

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

(更新日:)5分で読めます
#ai-agent#safety#agentic-infra

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

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

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

権限、Guardrails、Sandboxは別の層

制御するもの破られる条件
Tool権限定義した操作の可否Toolの外での実行 (生成コード等)
GuardrailsのHookTool呼び出しの検査列挙外のパターン
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へ広い自由を渡せます。この関係を保ったまま、自由の範囲を評価で広げていくのが現実的だと考えています。

関連記事