【結論】Built-in Sandboxを設定する
Claude CodeにはBash CommandのFilesystemとNetwork accessを制限するBuilt-in Sandboxがあり、macOS、Linux、WSL2で利用できます。
DockerやVMはより強いProcess isolationや使い捨て環境が必要な場合に選びますが、Bind mountしたProjectはContainer内から変更可能です。
SandboxはPermission deny ruleと併用し、利用不能時に非Sandbox実行へ戻らないようsandbox.failIfUnavailableを検討します。
# 起動後のセッション内で実行:Sandbox設定を開く
/sandbox
# 起動後のセッション内で実行:Permission設定を確認
/permissions
# ターミナルで実行:Customizationなしで比較
claude --safe-mode
# Linux・WSL2で実行:必要Dependencyを導入
sudo apt-get install bubblewrap socat具体的な手順・設定方法
Threat modelに応じてBuilt-in Sandbox、Dev Container、Docker、VMを選びます。
Write可能PathとNetwork allowlistを最小化します。
deny ruleでSecret、Credential directory、破壊的Commandを遮断します。
隔離環境でFile作成、Network拒否、Sandbox unavailable時の挙動をTestします。
実践プロンプト / 活用テクニック
# 起動後のセッション内で入力
現在のSandbox設定を監査してください。
書込可能Path、Network access、Sandbox unavailable時の挙動、Permission deny ruleを報告してください。
設定変更やCommand実行は行わないでください。注意点・よくあるエラーと対処法
DockerへProjectをRead-write mountすると、そのProject内の削除Riskはゼロになりません。