SpyBara
Go Premium

sandbox-environments.md 2026-06-16 21:57 UTC to 2026-06-17 17:02 UTC

4 added, 4 removed.

2026
Sat 27 01:01 Fri 26 23:00 Thu 25 23:58 Wed 24 22:02 Tue 23 22:00 Mon 22 23:59 Fri 19 22:58 Thu 18 22:00 Wed 17 17:02 Tue 16 21:57 Mon 15 23:02 Sat 13 21:59 Fri 12 22:00 Thu 11 23:01 Wed 10 23:57 Tue 9 06:34 Mon 8 06:52 Sat 6 06:24 Fri 5 06:45 Thu 4 06:52 Wed 3 06:53 Tue 2 06:51

サンドボックス環境を選択する

Claude Code のサンドボックスオプションを比較します。組み込みのサンドボックス化された Bash ツール、サンドボックスランタイム、dev コンテナ、Docker、VM があります。脅威モデルに適した分離を選択してください。

Claude Code を分離することで、セッションがホスト上で読み取り、書き込み、ネットワークにアクセスできる内容を制限します。これは、Claude に権限プロンプトを少なくして作業させたり、無人で実行したり、完全に信頼していないコードを指定したりする場合に最も重要です。

Claude Code は、軽量なコマンド単位のサンドボックスから完全に独立した仮想マシンまで、複数の種類の分離環境で実行できます。このページでは、以下の方法について説明します。

サンドボックス化アプローチの比較

以下の表の最初の 2 つのアプローチはコンテナなしでホストオペレーティングシステム上で実行されます。残りは Claude Code をコンテナまたは仮想マシン内に配置します。

アプローチ 何が分離されるか Docker が必要 セットアップの手間
サンドボックス化された Bash ツール Bash コマンドとその子プロセス いいえ macOS では最小限。Linux と WSL2 では低い
サンドボックスランタイム Claude Code プロセス全体(ファイルツール、MCP サーバー、hooks を含む) いいえ 低い
Dev コンテナ 完全な開発環境 はい 中程度
カスタムコンテナ 完全な開発環境 はい 中程度から高い
仮想マシン 完全なオペレーティングシステム いいえ 高い
Web 上の Claude Code 完全なオペレーティングシステム(Anthropic がホスト) いいえ なし。Claude サブスクリプションと GitHub が必要

サンドボックス化された Bash ツールは Claude Code に組み込まれており、Bash コマンドのみを制限します。組み込みファイルツール、MCP サーバー、hooks はホスト上で直接実行されます。表内の他のすべてのアプローチは、Claude Code プロセス全体を分離境界内に配置するため、ファイルツール、MCP サーバー、hooks も制限されます。

アプローチを選択する

目標を以下の行と照合してから、その後に続く詳細セクションを読んでください。

実現したいこと 開始するもの
自分のマシンでの日常的な作業中に権限プロンプトを減らす サンドボックス化された Bash ツール/sandbox で有効化)
Claude に --dangerously-skip-permissions または自動モードで無人で作業させる 事前設定された dev コンテナ、任意のコンテナまたは VM、または サンドボックスランタイム
Bash だけでなく MCP サーバーと hooks も分離し、Docker なしで実行する サンドボックスランタイム
信頼できないリポジトリで作業する 専用の仮想マシン、または Claude サブスクリプションと接続された GitHub アカウントがある場合は Web 上の Claude Code
チーム全体でサンドボックス化された環境を標準化する 事前設定された dev コンテナ(リポジトリにコピー)
ローカルセットアップなしのデバイスから Claude Code を使用する Web 上の Claude Code(Claude サブスクリプションと接続された GitHub アカウントが必要)
組織内のすべての開発者に対して分離を要求する 組織全体で分離を強制
ネイティブ Windows ホストで作業する コンテナまたは VM、または WSL2 内で Bash サンドボックスを実行

分離が権限モードとどのように関連するか

権限モードは、ツール呼び出しが実行されるかどうか、および最初にプロンプトが表示されるかどうかを決定します。分離は、コマンドが実行されたら何にアクセスできるかを制限します。この 2 つは連携して機能します。権限モードがアクションを確認なしで実行させる場合、分離境界はそれらのアクションが到達できる内容を制限します。

--dangerously-skip-permissions はアクション単位のレビューを完全に削除するため、分離境界は Claude ができることを制限する唯一のものです。常にコンテナ、VM、または サンドボックスランタイム内で実行してください。ファイルツール、MCP サーバー、hooks も境界内にあります。

自動モードはプロンプトを、アクションをレビューして要求を超えてエスカレートするもの、認識されていないインフラストラクチャをターゲットにするもの、または Claude が読み取った敵対的なコンテンツによって駆動されているように見えるものをブロックする分類器に置き換えます。分類器はアクション単位の制御であり、分離境界ではないため、分離境界は無人実行の防御層を追加し、--dangerously-skip-permissions の場合のように必須ではありません。

サンドボックス化された Bash ツール単独では Bash のみを制限するため、どちらのモードでも完全に無人で実行するには不十分です。アプローチを重ねることができます。サンドボックス化された Bash ツールをコンテナまたは VM 内で実行すると、外側の環境境界の上に OS レベルのコマンド制限が得られます。Bash サンドボックス自体が権限ルールおよび権限モードとどのように相互作用するかについては、サンドボックス化が権限および権限モードとどのように関連するかを参照してください。

サンドボックス化された Bash ツール

サンドボックス化された Bash ツールは Claude Code に組み込まれています。オペレーティングシステムプリミティブを使用して、Claude が実行するすべての Bash コマンドのファイルシステムとネットワークアクセスを制限します。Seatbelt(macOS の組み込みサンドボックス)と Linux および WSL2 の bubblewrap を使用します。デフォルトでは、作業ディレクトリへの書き込みを許可し、コマンドが新しいネットワークドメインを必要とする最初の時点でプロンプトを表示します。

/sandbox コマンドで有効にします。サンドボックス化ガイドでは、承認モード、デフォルト境界、および拡大または縮小する方法について説明しています。

コマンド単位のサンドボックスはセッションで実行されるすべてをカバーしていません。

  • Read、Edit、WebFetch などの他の 組み込みツールは Claude Code プロセス内で実行され、任意のコードを生成しません。権限ルールがパスまたはドメインでそれらをゲートします。
  • MCPサーバーと hooks は、ホスト上で制約なく実行される別のプロセスです。

組み込みツール、MCP サーバー、hooks をすべて 1 つの OS 境界の背後に配置するには、Claude Code プロセス全体を サンドボックスランタイムdev コンテナ、または カスタムコンテナ内で実行してください。

サンドボックスランタイム

@anthropic-ai/sandbox-runtime パッケージは、組み込みの Bash サンドボックスが使用するのと同じ Seatbelt または bubblewrap 分離でプロセス全体をラップします。Claude Code をそれを通して実行すると、Bash だけでなく、セッション内のすべてのツール、hook、MCP サーバーが制限されます。ランタイムはベータ研究プレビューであり、パッケージが進化するにつれて設定形式が変わる可能性があります。

ランタイムはデフォルトですべての書き込みとネットワークアクセスを拒否するため、Claude Code を起動する前に設定してください。~/.srt-settings.json または --settings で渡すファイルで、少なくともプロジェクトディレクトリと Claude Code の設定パス ~/.claude および ~/.claude.json への書き込みアクセスを許可します。セッションが必要とするネットワークドメイン(api.anthropic.com または設定されたプロバイダーのエンドポイントを含む)を許可します。完全な設定スキーマについては、パッケージ README を参照してください。

設定ファイルが配置されたら、npx で Claude Code を起動し、ラップするコマンドとして claude を渡します。

npx @anthropic-ai/sandbox-runtime claude

Claude Code はサンドボックス内で起動し、設定したファイルシステムとネットワーク境界があります。同じコマンドは、スタンドアロン MCP サーバーまたは他のヘルパープロセスのサンドボックス化に機能します。

Dev コンテナ

Dev コンテナは Claude Code を Docker コンテナ内で実行します。VS Code または互換性のあるエディターが管理し、プロジェクトがマウントされます。リポジトリの .devcontainer/ ディレクトリで独自に定義できます。

claude-code リポジトリは、デフォルト拒否 iptables ファイアウォールを備えた example dev container を出発点として公開しています。リポジトリにコピーし、ファイアウォール許可リスト、ベースイメージ、ピン留めされた Claude Code バージョンを環境に合わせて調整します。ファイアウォールが未承認の出力をブロックするため、このような設定は無人作業のために --dangerously-skip-permissions で Claude Code を実行することをサポートしています。

カスタムコンテナ

Claude Code は、独自のネットワークポリシー、マウントされたボリューム、seccomp プロファイルを備えた任意の Docker または OCI コンテナイメージで実行できます。これは、既存のコンテナインフラストラクチャまたは CI ランナーを持つ組織にとって最も一般的なパスです。

複数のマネージドサンドボックスおよびリモート実行サービスがコンテナをホストできます。操作するコンテナと同じチェックリストが適用されます。書き込み可能にマウントされているもの、その内部で到達可能な認証情報とトークン、ネットワーク出力ポリシーが許可するものを確認します。

コマンド単位の制限のためにコンテナ内に組み込みの Bash サンドボックスを重ねることができます。特権のないコンテナには、サンドボックス化のトラブルシューティングで説明されている nested-sandbox 設定が必要です。

仮想マシン

専用の仮想マシンは、独自のカーネルと、クラウドまたは microVM デプロイメントでは独自の仮想化ハードウェアを備えた最強の分離を提供します。オプションには、クラウドインスタンス、ローカルハイパーバイザー、Firecracker などの microVM が含まれます。

信頼できないコードを評価する場合、セキュリティポリシーがエージェントとホスト間のカーネルレベルの分離を要求する場合、またはホストレベルのアプローチがコンプライアンス要件を満たさない場合に、このアプローチを使用します。Docker Desktop の sandboxes feature は、独自の Docker デーモンとワークスペース同期を備えた microVM を提供し、Docker Desktop が既にインストールされているホストで Claude Code を実行できます。

Web 上の Claude Code

Web 上の Claude Codeは、各セッションを分離された Anthropic 管理の仮想マシンで実行します。ネットワークプロキシはデフォルト許可リストを強制し、別のプロキシはサンドボックス内のリポジトリアクセスのためにスコープ付き認証情報を発行しながら、GitHub トークンをサンドボックスの外に保持します。

完全な VM 分離が必要だが、インフラストラクチャを自分でプロビジョニングしたくない場合、またはローカル開発環境がないデバイスからタスクを委任する場合に、このアプローチを使用します。Claude サブスクリプションと接続された GitHub アカウントが必要であり、セッションは GitHub からリポジトリをクローンします。プラン可用性と GitHub 認証オプションについては、Web 上の Claude Codeを参照してください。

組織全体で分離を強制する

個々の開発者は上記のいずれかのアプローチにオプトインできます。組織が強制できるもの、およびどのツールで強制できるかは、アプローチによって異なります。

  • 組み込み Bash サンドボックス:Claude Code が自体で強制する唯一のアプローチ。管理設定を通じて sandbox 設定キーを配信します。MDM で管理されるファイルとして、または Claude.ai の サーバー管理設定を通じて。デプロイするキーと開発者がポリシーを拡大するのを防ぐ方法については、管理設定でサンドボックス化を強制を参照してください。
  • Dev コンテナexample dev containerをリポジトリにコミットして、チーム全体で環境を標準化します。Claude Code がコンテナを要求しないため、これは強制境界ではなく慣例です。開発者が Claude Code をその外で実行できないようにする場合は、組織のデバイス管理またはソフトウェア許可リストツールでそれを強制します。
  • カスタムコンテナと VM:承認されたイメージを通じて Claude Code を配布し、組織のデバイス管理またはソフトウェア許可リストツールを使用して、その外でのインストールを防止します。

関連項目

これらのページでは、上記のアプローチの設定とポリシーの詳細について説明しています。