直接回答
承認は「許可するかどうか」を決め、サンドボックスは「許可された後でも到達範囲をどこまでにするか」を制限する。この2層を共同で設計する必要がある。
このガイドで解決できること
開発者の無意味な確認を減らしつつ、コード、認証情報、インフラのセキュリティを犠牲にしない。
権限承認とシステムサンドボックスを区別する
権限システムはツール呼び出しごとに自動許可・確認・拒否のいずれかを決め、サンドボックスはOS層でファイルシステムとネットワークを制限する。コマンドを1つ許可してもサンドボックスが解除されるわけではなく、サンドボックスを有効化してもすべてのコマンドが自動承認されるべきではない。
効率的な設定の目標は、すべてのプロンプトを消滅させることではなく、繰り返しの低リスクで境界が明確な操作を円滑に実行し、影響の大きい操作には引き続き人間の判断を求めることである。
タスクのフェーズに応じて権限モードを選ぶ
デフォルトモードは機密操作の前に承認を求める。acceptEdits は作業範囲内のファイル編集と、mkdir、touch、rm、rmdir、mv、cp、sed および対応する PowerShell ファイル操作を自動的に許可する。Plan モードは分析のみで編集しない。
Shift+Tab で対話インターフェースからモードを切り替える。未知のリポジトリの調査は Plan から始め、明確な小さな変更はデフォルトまたは acceptEdits を使える。無人タスクではツールとディレクトリをさらに限定する必要がある。
/permissions
/sandbox精密なルールで繰り返しの承認を減らす
権限ルールはツールと入力を照合できる。allow は予測可能なテスト、lint、読み取り専用の Git コマンドに適し、deny は鍵ファイルや明示的に禁止する操作に適し、ask は都度判断が必要な中リスク操作に使う。
ルールはできるだけ具体的なコマンドのプレフィックスとパスに一致させるべきである。Bash を広く許可したり MCP ツール全体を許可したりすると、一時的な便利さが恒常的な攻撃面になる。
{
"permissions": {
"allow": ["Bash(pnpm test *)", "Bash(git diff *)"],
"ask": ["Bash(git push *)"],
"deny": [
"Read(./.env)", "Edit(./.env)",
"Read(./secrets/**)", "Edit(./secrets/**)"
]
}
}正しいディレクトリから起動し、アクセス範囲は慎重に拡大する
permissions.additionalDirectories はファイルアクセスのみを付与する。--add-dir や /add-dir は追加ディレクトリ内の Skills、Subagents、一部のプラグイン設定も検出する。CLAUDE.md と rules を読み込むかどうかは対応する環境のスイッチで制御される。
手間を省くために home や大型の monorepo の最上位から起動しないこと。作業範囲を小さくすれば誤変更の確率が下がり、探索の消費も減る。並行編集時は独立した worktree で隔離する。
外部コンテンツを信頼できない入力として扱う
ウェブページ、Issue、ログ、依存スクリプト、MCP の応答には、ツール実行を誘導する内容が含まれうる。Claude に外部データを読み込ませるとき、同時に無制限の shell、認証情報、本番ネットワークアクセスを与えるべきではない。
高リスクタスクにはサンドボックス、読み取り専用の認証情報、テスト環境、明示的な承認を使う。セキュリティチェックの無効化や秘密のエクスポートを求める外部テキストは、指示ではなくデータとして扱うべきである。
- プロンプト、ログ、スクリーンショットに実際の Key を露出させない。
- 本番デプロイ、データベース書き込み、リリース操作には人工のチェックポイントを残す。
- サードパーティの MCP、プラグイン、Hook をインストールする前に、ソースとコマンドをレビューする。
- 生成されたコードがコマンドインジェクション、権限昇格、シークレット漏洩を引き起こしていないか検証する。
必須のルールは Hooks または組織ポリシーに委ねる
CLAUDE.md はモデル指示でありコンテキストの影響を受ける可能性がある。Hooks はライフサイクル上の決定的なプログラムであり、保護されたファイルへの書き込みのブロック、フォーマットの実行、終了前の検証により適している。
組織は管理設定で権限と MCP の境界を強制できる。チュートリアルでは管理者による制約をプロジェクト設定で回避できないこと、また回避経路も提示しないことを説明すべきである。
claude doctor
claude --debug-file /tmp/claude-permissions-debug.log公式情報と検証範囲
本ガイドは公開されている公式ドキュメントを根拠にしています。コマンドや設定はクライアントのバージョンにより変わるため、実行前に参照元も確認してください。
技術検証方法を見る