【結論】Sandboxでコマンド実行を隔離する
SandboxはShell commandのFile systemとNetwork accessを制限する機能です。
Permission rule、worktree、短命Credential、Network allowlistを併用します。
未知のRepository、Hook、MCP、Build scriptは最初にsafe modeと読み取り専用で確認します。
# ターミナルで実行:Customizationを無効化して起動
claude --safe-mode
# 起動後のセッション内で実行:Sandbox設定を確認
/sandbox
# 起動後のセッション内で実行:Permissionを確認
/permissions
# ターミナルで実行:専用worktreeを作成
git worktree add ../repo-sandbox -b agent/sandbox-test具体的な手順・設定方法
許可する作業Directoryと書込先を定義します。
Networkは必要なDomainだけを許可し、Production credentialを与えません。
Package install、Build、Testを小さなFixtureで試します。
Sandbox violationや承認要求を記録し、Ruleを広げる前に必要性を確認します。
実践プロンプト / 活用テクニック
# 起動後のセッション内で入力
このRepositoryで必要なCommand、書込先、Network accessを一覧化してください。
SandboxとPermissionの最小構成を提案し、まだ設定変更やCommand実行は行わないでください。
本番Credentialは不要な前提にしてください。注意点・よくあるエラーと対処法
Sandbox設定の名称や対応範囲はOS・実行面・Versionで異なる場合があります。
--dangerously-skip-permissionsはSandboxの代替ではありません。
Container内でもMount、Docker socket、Cloud metadata、SSH agentを渡すと境界を越えられるRiskがあります。