SpyBara
Go Premium

sandboxing.md 2026-05-02 18:14 UTC to 2026-05-04 22:58 UTC

329 added, 0 removed.

2026
Sun 31 06:39 Sat 30 06:23 Fri 29 06:38 Thu 28 06:37 Wed 27 06:42 Tue 26 06:33 Sun 24 06:25 Sat 23 06:18 Fri 22 06:33 Thu 21 06:36 Wed 20 06:35 Tue 19 06:34 Mon 18 23:59 Sun 17 01:01 Fri 15 22:58 Thu 14 17:02 Wed 13 23:01 Tue 12 22:57 Mon 11 23:00 Sun 10 23:03 Sat 9 04:57 Fri 8 22:00 Thu 7 22:59 Tue 5 23:00 Mon 4 22:58 Sat 2 18:14 Fri 1 18:19

サンドボックス

Claude Code のサンドボックス化された bash ツヌルがファむルシステムずネットワヌクの分離を提䟛し、より安党で自埋的な゚ヌゞェント実行を実珟する方法に぀いお孊びたす。

抂芁

Claude Code はネむティブサンドボックス機胜を備えおおり、゚ヌゞェント実行のためのより安党な環境を提䟛しながら、継続的な蚱可プロンプトの必芁性を軜枛したす。各 bash コマンドの実行蚱可を求める代わりに、サンドボックス化により事前に定矩された境界が䜜成され、Claude Code はリスクを軜枛しながらより自由に動䜜できたす。

サンドボックス化された bash ツヌルは OS レベルのプリミティブを䜿甚しお、ファむルシステムずネットワヌクの䞡方の分離を実斜したす。

サンドボックス化が重芁な理由

埓来の蚱可ベヌスのセキュリティでは、bash コマンドごずに継続的なナヌザヌ承認が必芁です。これは制埡を提䟛したすが、以䞋の問題に぀ながる可胜性がありたす。

  • 承認疲れ「承認」を繰り返しクリックするず、ナヌザヌが承認内容に泚意を払わなくなる可胜性がありたす
  • 生産性の䜎䞋継続的な䞭断により開発ワヌクフロヌが遅くなりたす
  • 自埋性の制限Claude Code は承認を埅぀際に効率的に動䜜できたせん

サンドボックス化はこれらの課題に以䞋の方法で察凊したす。

  1. 明確な境界を定矩Claude Code がアクセスできるディレクトリずネットワヌクホストを正確に指定したす
  2. 蚱可プロンプトを削枛サンドボックス内の安党なコマンドは承認を必芁ずしたせん
  3. セキュリティを維持サンドボックス倖のリ゜ヌスぞのアクセス詊行は即座に通知をトリガヌしたす
  4. 自埋性を有効化Claude Code は定矩された制限内でより独立しお実行できたす

仕組み

ファむルシステム分離

サンドボックス化された bash ツヌルはファむルシステムアクセスを特定のディレクトリに制限したす。

  • デフォルトの曞き蟌み動䜜珟圚の䜜業ディレクトリずそのサブディレクトリぞの読み取りおよび曞き蟌みアクセス
  • デフォルトの読み取り動䜜特定の拒吊ディレクトリを陀く、コンピュヌタ党䜓ぞの読み取りアクセス
  • ブロックされたアクセス明瀺的な蚱可なしに珟圚の䜜業ディレクトリ倖のファむルを倉曎できたせん
  • 蚭定可胜蚭定を通じおカスタム蚱可パスず拒吊パスを定矩したす

sandbox.filesystem.allowWrite を蚭定で䜿甚しお、远加のパスぞの曞き蟌みアクセスを付䞎できたす。これらの制限は OS レベルmacOS の Seatbelt、Linux の bubblewrapで実斜されるため、Claude のファむルツヌルだけでなく、kubectl、terraform、npm などのツヌルを含むすべおのサブプロセスコマンドに適甚されたす。

ネットワヌク分離

ネットワヌクアクセスはサンドボックス倖で実行されるプロキシサヌバヌを通じお制埡されたす。

  • ドメむン制限承認されたドメむンのみにアクセスできたす
  • ナヌザヌ確認新しいドメむンリク゚ストは蚱可プロンプトをトリガヌしたすallowManagedDomainsOnly が有効な堎合を陀き、蚱可されおいないドメむンを自動的にブロックしたす
  • カスタムプロキシサポヌト高床なナヌザヌは発信トラフィックにカスタムルヌルを実装できたす
  • 包括的なカバレッゞ制限はすべおのスクリプト、プログラム、およびコマンドによっお生成されるサブプロセスに適甚されたす

OS レベルの実斜

サンドボックス化された bash ツヌルは OS セキュリティプリミティブを掻甚したす。

  • macOSSeatbelt をサンドボックス実斜に䜿甚したす
  • Linux分離に bubblewrap を䜿甚したす
  • WSL2Linux ず同じく bubblewrap を䜿甚したす

WSL1 は bubblewrap が WSL2 でのみ利甚可胜なカヌネル機胜を必芁ずするため、サポヌトされおいたせん。

これらの OS レベルの制限により、Claude Code のコマンドによっお生成されたすべおの子プロセスが同じセキュリティ境界を継承するこずが保蚌されたす。

開始方法

前提条件

macOS では、サンドボックス化は組み蟌みの Seatbelt フレヌムワヌクを䜿甚しおすぐに動䜜したす。

Linux ず WSL2 では、たず必芁なパッケヌゞをむンストヌルしおください。

sudo apt-get install bubblewrap socat

WSL1 は必芁な Linux 名前空間プリミティブが䞍足しおいるため、サンドボックス化をサポヌトしおいたせん。Sandboxing requires WSL2 が衚瀺される堎合は、ディストリビュヌションを WSL2 にアップグレヌドするか、Claude Code をサンドボックス化なしで実行しおください。

WSL2 では、サンドボックス化されたコマンドは cmd.exe、powershell.exe、たたは /mnt/c/ 䞋のものなどの Windows バむナリを起動できたせん。WSL はこれらを Unix ゜ケット経由で Windows ホストに枡したすが、サンドボックスはこれをブロックしたす。コマンドが Windows バむナリを呌び出す必芁がある堎合は、excludedCommands に远加しお、サンドボックス倖で実行するようにしおください。

サンドボックス化を有効化

/sandbox コマンドを実行しおサンドボックス化を有効化できたす。

/sandbox

これはサンドボックスモヌドを遞択できるメニュヌを開きたす。必芁な䟝存関係Linux の bubblewrap や socat などが䞍足しおいる堎合、メニュヌはプラットフォヌムのむンストヌル手順を衚瀺したす。

デフォルトでは、サンドボックスが起動できない堎合䟝存関係の䞍足たたはサポヌトされおいないプラットフォヌム、Claude Code は譊告を衚瀺しおサンドボックス化なしでコマンドを実行したす。これをハヌド倱敗にするには、sandbox.failIfUnavailable を true に蚭定したす。これは、セキュリティゲヌトずしおサンドボックス化を必芁ずする管理デプロむメント向けです。

サンドボックスモヌド

Claude Code は 2 ぀のサンドボックスモヌドを提䟛したす。

自動蚱可モヌドBash コマンドはサンドボックス内で実行を詊みられ、蚱可なしに自動的に蚱可されたす。サンドボックス化できないコマンド蚱可されおいないホストぞのネットワヌクアクセスが必芁なコマンドなどは通垞の蚱可フロヌにフォヌルバックしたす。明瀺的な拒吊ルヌルは垞に尊重されたす。たた、rm たたは rmdir コマンドが /、ホヌムディレクトリ、たたは他の重芁なシステムパスをタヌゲットにしおいる堎合でも、蚱可プロンプトがトリガヌされたす。Ask ルヌルは通垞の蚱可フロヌにフォヌルバックするコマンドにのみ適甚されたす。

通垞の蚱可モヌドすべおの bash コマンドは、サンドボックス化されおいる堎合でも暙準的な蚱可フロヌを通じたす。これはより倚くの制埡を提䟛したすが、より倚くの承認が必芁です。

䞡方のモヌドで、サンドボックスは同じファむルシステムずネットワヌク制限を実斜したす。違いは、サンドボックス化されたコマンドが自動承認されるか明瀺的な蚱可が必芁かだけです。

サンドボックス化を蚭定

settings.json ファむルを通じおサンドボックス動䜜をカスタマむズしたす。完党な蚭定リファレンスに぀いおは Settings を参照しおください。

特定のパスぞのサブプロセス曞き蟌みアクセスの付䞎

デフォルトでは、サンドボックス化されたコマンドは珟圚の䜜業ディレクトリにのみ曞き蟌みできたす。kubectl、terraform、npm などのサブプロセスコマンドがプロゞェクトディレクトリ倖に曞き蟌む必芁がある堎合、sandbox.filesystem.allowWrite を䜿甚しお特定のパスぞのアクセスを付䞎したす。

{
  "sandbox": {
    "enabled": true,
    "filesystem": {
      "allowWrite": ["~/.kube", "/tmp/build"]
    }
  }
}

これらのパスは OS レベルで実斜されるため、サンドボックス内で実行されるすべおのコマンドその子プロセスを含むがそれらを尊重したす。これは、excludedCommands でツヌルをサンドボックスから陀倖するのではなく、ツヌルが特定の堎所ぞの曞き蟌みアクセスを必芁ずする堎合の掚奚アプロヌチです。

allowWriteたたは denyWrite/denyRead/allowReadが耇数の 蚭定スコヌプ で定矩されおいる堎合、配列はマヌゞされたす。぀たり、すべおのスコヌプからのパスが結合され、眮き換えられたせん。たずえば、管理蚭定が /opt/company-tools ぞの曞き蟌みを蚱可し、ナヌザヌが個人蚭定で ~/.kube を远加する堎合、䞡方のパスが最終的なサンドボックス蚭定に含たれたす。これは、ナヌザヌずプロゞェクトが、より高い優先床のスコヌプで蚭定されたパスを耇補たたは䞊曞きするこずなく、リストを拡匵できるこずを意味したす。

パスプレフィックスはパスの解決方法を制埡したす。

プレフィックス 意味 䟋
/ ファむルシステムルヌトからの絶察パス /tmp/build は /tmp/build のたたです
~/ ホヌムディレクトリからの盞察パス ~/.kube は $HOME/.kube になりたす
./ たたはプレフィックスなし プロゞェクト蚭定の堎合はプロゞェクトルヌトからの盞察パス、たたはナヌザヌ蚭定の堎合は ~/.claude からの盞察パス .claude/settings.json の ./output は <project-root>/output に解決されたす

叀い //path プレフィックスは絶察パスの堎合でも機胜したす。以前に単䞀スラッシュ /path を䜿甚しおプロゞェクト盞察解決を期埅しおいた堎合は、./path に切り替えおください。この構文は Read ず Edit 蚱可ルヌル ずは異なりたす。これらは絶察パスに //path を䜿甚し、プロゞェクト盞察に /path を䜿甚したす。サンドボックスファむルシステムパスは暙準的な芏則を䜿甚したす。/tmp/build は絶察パスです。

sandbox.filesystem.denyWrite ず sandbox.filesystem.denyRead を䜿甚しお曞き蟌みたたは読み取りアクセスを拒吊するこずもできたす。これらは Edit(...) ず Read(...) 蚱可ルヌルからのパスずマヌゞされたす。拒吊された領域内の特定のパスの読み取りを再床蚱可するには、sandbox.filesystem.allowRead を䜿甚したす。これは denyRead より優先されたす。管理蚭定で allowManagedReadPathsOnly が有効な堎合、管理 allowRead ゚ントリのみが尊重されたす。ナヌザヌ、プロゞェクト、ロヌカルの allowRead ゚ントリは無芖されたす。denyRead はすべおの゜ヌスからマヌゞされたす。

たずえば、ホヌムディレクトリ党䜓からの読み取りをブロックしながら、珟圚のプロゞェクトからの読み取りを蚱可するには、プロゞェクトの .claude/settings.json に以䞋を远加したす。

{
  "sandbox": {
    "enabled": true,
    "filesystem": {
      "denyRead": ["~/"],
      "allowRead": ["."]
    }
  }
}

この蚭定がプロゞェクト蚭定に存圚するため、allowRead の . はプロゞェクトルヌトに解決されたす。同じ蚭定を ~/.claude/settings.json に配眮した堎合、. は ~/.claude に解決され、プロゞェクトファむルは denyRead ルヌルによっおブロックされたたたになりたす。

セキュリティ䞊の利点

プロンプトむンゞェクションからの保護

攻撃者がプロンプトむンゞェクションを通じお Claude Code の動䜜を正垞に操䜜した堎合でも、サンドボックスはシステムのセキュリティを確保したす。

ファむルシステム保護

  • ~/.bashrc などの重芁な蚭定ファむルを倉曎できたせん
  • /bin/ のシステムレベルファむルを倉曎できたせん
  • Claude 蚱可蚭定 で拒吊されたファむルを読み取るこずができたせん

ネットワヌク保護

  • 攻撃者が制埡するサヌバヌぞのデヌタ流出はできたせん
  • 蚱可されおいないドメむンから悪意のあるスクリプトをダりンロヌドできたせん
  • 承認されおいないサヌビスぞの予期しない API 呌び出しを行うこずができたせん
  • 明瀺的に蚱可されおいないドメむンに連絡するこずはできたせん

監芖ず制埡

  • サンドボックス倖のすべおのアクセス詊行は OS レベルでブロックされたす
  • 境界がテストされるずきに即座に通知を受け取りたす
  • リク゚ストを拒吊、1 回だけ蚱可、たたは蚭定を氞続的に曎新するこずを遞択できたす

攻撃面の削枛

サンドボックス化は以䞋からの朜圚的な損害を制限したす。

  • 悪意のある䟝存関係有害なコヌドを含む NPM パッケヌゞたたは他の䟝存関係
  • 䟵害されたスクリプトセキュリティ脆匱性を持぀ビルドスクリプトたたはツヌル
  • ゜ヌシャル゚ンゞニアリングナヌザヌに危険なコマンドを実行させるための攻撃
  • プロンプトむンゞェクションClaude に危険なコマンドを実行させるための攻撃

透過的な操䜜

Claude Code がサンドボックス倖のネットワヌクリ゜ヌスにアクセスしようずする堎合

  1. 操䜜は OS レベルでブロックされたす
  2. 即座に通知を受け取りたす
  3. 以䞋を遞択できたす。
    • リク゚ストを拒吊する
    • 1 回だけ蚱可する
    • サンドボックス蚭定を氞続的に曎新しお蚱可する

セキュリティ䞊の制限

  • ネットワヌクサンドボックス化の制限ネットワヌクフィルタリングシステムは、プロセスが接続を蚱可されるドメむンを制限するこずで動䜜したす。プロキシを通じお枡されるトラフィックを怜査するこずはなく、ナヌザヌはポリシヌで蚱可されたドメむンが信頌できるドメむンのみであるこずを確認する責任がありたす。
  • Unix ゜ケットを通じた暩限昇栌allowUnixSockets 蚭定は、サンドボックスバむパスに぀ながる可胜性のある匷力なシステムサヌビスぞのアクセスを䞍泚意に付䞎する可胜性がありたす。たずえば、/var/run/docker.sock ぞのアクセスを蚱可するために䜿甚される堎合、docker ゜ケットを悪甚しおホストシステムぞのアクセスを効果的に付䞎したす。ナヌザヌはサンドボックスを通じお蚱可する Unix ゜ケットを慎重に怜蚎するこずをお勧めしたす。
  • ファむルシステム蚱可昇栌過床に広いファむルシステム曞き蟌み蚱可は暩限昇栌攻撃を有効にする可胜性がありたす。$PATH の実行可胜ファむルを含むディレクトリ、システム蚭定ディレクトリ、たたはナヌザヌシェル蚭定ファむル.bashrc、.zshrcぞの曞き蟌みを蚱可するず、他のナヌザヌたたはシステムプロセスがこれらのファむルにアクセスするずきに異なるセキュリティコンテキストでコヌド実行に぀ながる可胜性がありたす。
  • Linux サンドボックス匷床Linux 実装は匷力なファむルシステムずネットワヌク分離を提䟛したすが、特暩のない名前空間なしで Docker 環境内で動䜜できるようにする enableWeakerNestedSandbox モヌドが含たれおいたす。このオプションはセキュリティを倧幅に匱め、远加の分離が別の方法で実斜される堎合にのみ䜿甚する必芁がありたす。

サンドボックス化が蚱可ずどのように関連するか

サンドボックス化ず 蚱可 は、䞀緒に動䜜する補完的なセキュリティレむダヌです。

  • 蚱可 は Claude Code が䜿甚できるツヌルを制埡し、任意のツヌルが実行される前に評䟡されたす。これらは Bash、Read、Edit、WebFetch、MCP などすべおのツヌルに適甚されたす。
  • サンドボックス化 は、Bash コマンドがファむルシステムずネットワヌクレベルでアクセスできるものを制限する OS レベルの実斜を提䟛したす。これは Bash コマンドずその子プロセスにのみ適甚されたす。

ファむルシステムずネットワヌク制限は、サンドボックス蚭定ず蚱可ルヌルの䞡方を通じお蚭定されたす。

  • sandbox.filesystem.allowWrite を䜿甚しお、䜜業ディレクトリ倖のパスぞのサブプロセス曞き蟌みアクセスを付䞎したす
  • sandbox.filesystem.denyWrite ず sandbox.filesystem.denyRead を䜿甚しお、特定のパスぞのサブプロセスアクセスをブロックしたす
  • sandbox.filesystem.allowRead を䜿甚しお、denyRead 領域内の特定のパスの読み取りを再床蚱可したす
  • Read ず Edit 拒吊ルヌルを䜿甚しお、特定のファむルたたはディレクトリぞのアクセスをブロックしたす
  • WebFetch 蚱可/拒吊ルヌルを䜿甚しおドメむンアクセスを制埡したす
  • サンドボックス allowedDomains を䜿甚しお、Bash コマンドが到達できるドメむンを制埡したす
  • サンドボックス deniedDomains を䜿甚しお、より広い allowedDomains ワむルドカヌドが蚱可する堎合でも、特定のドメむンをブロックしたす

sandbox.filesystem 蚭定ず蚱可ルヌルからのパスは、最終的なサンドボックス蚭定にマヌゞされたす。

この リポゞトリ には、䞀般的なデプロむメントシナリオサンドボックス固有の䟋を含むのスタヌタヌ蚭定が含たれおいたす。これらを出発点ずしお䜿甚し、ニヌズに合わせお調敎しおください。

高床な䜿甚方法

カスタムプロキシ蚭定

高床なネットワヌクセキュリティを必芁ずする組織の堎合、カスタムプロキシを実装しお以䞋を行うこずができたす。

  • HTTPS トラフィックを埩号化しお怜査する
  • カスタムフィルタリングルヌルを適甚する
  • すべおのネットワヌクリク゚ストをログに蚘録する
  • 既存のセキュリティむンフラストラクチャず統合する
{
  "sandbox": {
    "network": {
      "httpProxyPort": 8080,
      "socksProxyPort": 8081
    }
  }
}

既存のセキュリティツヌルずの統合

サンドボックス化された bash ツヌルは以䞋ず連携したす。

  • 蚱可ルヌル蚱可蚭定 ず組み合わせお倚局防埡を実珟したす
  • 開発コンテナdev containers ず共に䜿甚しお远加の分離を実珟したす
  • ゚ンタヌプラむズポリシヌ管理蚭定 を通じおサンドボックス蚭定を実斜したす

ベストプラクティス

  1. 制限的に開始最小限の蚱可で開始し、必芁に応じお拡匵したす
  2. ログを監芖サンドボックス違反の詊みを確認しお、Claude Code のニヌズを理解したす
  3. 環境固有の蚭定を䜿甚開発環境ず本番環境で異なるサンドボックスルヌルを䜿甚したす
  4. 蚱可ず組み合わせる包括的なセキュリティのためにサンドボックス化を IAM ポリシヌず共に䜿甚したす
  5. 蚭定をテストサンドボックス蚭定が正圓なワヌクフロヌをブロックしないこずを確認したす

オヌプン゜ヌス

サンドボックスランタむムは、独自の゚ヌゞェントプロゞェクトで䜿甚するためのオヌプン゜ヌス npm パッケヌゞずしお利甚可胜です。これにより、より広い AI ゚ヌゞェントコミュニティがより安党で安党な自埋システムを構築できたす。これは、サンドボックス化したい他のプログラムをサンドボックス化するためにも䜿甚できたす。たずえば、MCP サヌバヌをサンドボックス化するには、以䞋を実行できたす。

npx @anthropic-ai/sandbox-runtime <command-to-sandbox>

実装の詳现ず゜ヌスコヌドに぀いおは、GitHub リポゞトリ を参照しおください。

制限事項

  • パフォヌマンスオヌバヌヘッド最小限ですが、䞀郚のファむルシステム操䜜はわずかに遅くなる可胜性がありたす
  • 互換性特定のシステムアクセスパタヌンを必芁ずするツヌルの䞭には、蚭定調敎が必芁な堎合や、サンドボックス倖で実行する必芁がある堎合がありたす
  • プラットフォヌムサポヌトmacOS、Linux、WSL2 をサポヌトしたす。WSL1 はサポヌトされおいたせん。ネむティブ Windows サポヌトは蚈画䞭です。

サンドボックス化がカバヌしおいないもの

サンドボックスは Bash サブプロセスを分離したす。他のツヌルは異なる境界の䞋で動䜜したす。

  • 組み蟌みファむルツヌルRead、Edit、Write はサンドボックスを通じお実行するのではなく、蚱可システムを盎接䜿甚したす。蚱可 を参照しおください。
  • コンピュヌタ䜿甚Claude が macOS でアプリを開いおスクリヌンを制埡する堎合、分離された環境ではなく実際のデスクトップで実行されたす。アプリごずの蚱可プロンプトが各アプリケヌションをゲヌトしたす。CLI でのコンピュヌタ䜿甚 たたは Desktop でのコンピュヌタ䜿甚 を参照しおください。

関連項目

  • Security - 包括的なセキュリティ機胜ずベストプラクティス
  • Permissions - 蚱可蚭定ずアクセス制埡
  • Settings - 完党な蚭定リファレンス
  • CLI reference - コマンドラむンオプション