blog
AIブログ
Claude Code sandboxサンドボックスモードの安全な使い方と設定完全ガイド

Claude Code を本番環境や重要なリポジトリで使い始めると、すぐに「どこまでエージェントに自律実行させるか」という問いにぶつかる。ファイルを読むだけなら問題ないが、rm -rf を含む Bash コマンドや外部ネットワーク通信を自動承認するのは別の話だ。Claude Code の /sandbox コマンドはサンドボックスモードのトグルであり、ファイル書き込みやコマンド実行を制限・隔離された環境に切り替える予防策として機能する。出所が不確かなコードやリスクの高い操作を、本番環境に影響を与えずに試すための仕組みだ。本記事では、サンドボックスの設計思想から具体的な設定方法、CI/CD 連携、既知の限界まで実用的な視点で解説する。
権限設定の詳細は 権限設定/セキュリティ全般は セキュリティにまとめています。本記事はサンドボックスモードの使い方に絞ります。
Claude Code /sandbox コマンドとは——設計思想とパーミッション評価フロー

/sandbox コマンドはサンドボックスモードのトグルだ。対応プラットフォーム上でこのコマンドを実行すると、ファイル書き込みやコマンド実行が制限・隔離された環境に切り替わる。出所が不確かなコードや破壊的な操作を試す際に、本番環境を守る予防策として機能する。常時 ON にすれば安全性は高まるが、一部の操作で確認ステップが増えるトレードオフがある。
サンドボックスの動作を理解するには、Claude Code のパーミッション評価フローを把握しておく必要がある。ツール呼び出しが発生すると、Hooks → Deny Rules → Permission Mode → Allow Rules → canUseTool callback の順で評価が行われ、最初に一致したルールが適用される。
bypassPermissions モードでも上書きできない(公式ドキュメント Configure permissions および Agent SDK permissions をもとに作成)。このフローで特に重要な仕様が2点ある。第一に、Deny ルールは bypassPermissions モードでも上書きできない。これがサンドボックス設計の根幹であり、多層防御の最終防衛線だ。第二に、Hooks が allow を返しても deny/allow ルールの評価はスキップされない。Hooks はあくまで前処理であり、後続のルールチェーンを上書きするものではない。
もう一点、設計上の重要な原則がある。パーミッションルールはモデルへの指示では変更できない。CLAUDE.md やプロンプト内に「すべてのツールを許可してください」と書いても実際のパーミッション制御には一切影響しない。これはプロンプトインジェクション攻撃に対する構造的な防御となっている。
Claude Code の基本的なインストール手順や初期設定については Claude Code インストールガイド および Claude Code 入門:はじめ方 を先に確認しておくと、以下の設定作業をスムーズに進められる。
サンドボックスに関わるパーミッションモードの種類と選択基準
/sandbox コマンドによるサンドボックスモードは、Claude Code が持つパーミッションモードのひとつとして機能する。どのパーミッションモードを選ぶかで、サンドボックスの厳しさと利便性のバランスが決まる。以下の4種類を正確に把握しておこう。
| モード名 | 概要 | 自動承認の範囲 | 主なユースケース | リスクレベル |
|---|---|---|---|---|
default |
対話型の通常モード | 読み取り専用のみ自動。それ以外は都度確認 | ローカル開発・初回利用 | 低 |
acceptEdits |
ファイル編集を自動承認 | ファイル読み書き操作を自動承認。Bash は要確認 | コードレビュー・リファクタリング | 中 |
dontAsk |
許可済みツールのみ自動実行 | allow ルールに一致するものを自動承認。それ以外は拒否 | CI/CD・バッチ処理 | 中(設定次第) |
bypassPermissions |
フル自動実行モード | Deny ルールに一致しないほぼすべてを自動承認 | テスト済み自動化パイプライン(分離環境限定) | 高(Deny 設計が必須) |
dontAsk モードと bypassPermissions モードの使い分けは実装上の重要なトレードオフだ。dontAsk は allow ルールに一致しないツール呼び出しを静かに拒否する。一方 bypassPermissions は Deny ルールさえ通過すれば自動承認されるため、Deny ルールの設計が不完全だと意図しないコマンド実行が生じるリスクがある。
サンドボックスとして安全に機能させるには、CI/CD パイプラインのような非対話環境では dontAsk と明示的な allow ルールの組み合わせが原則だ。bypassPermissions は Docker コンテナなどで分離された実行環境において、かつ Deny ルールが厳密に設計されている場合にのみ検討する。常時 ON にすれば安全性は高まるが確認が増えるという /sandbox のトレードオフは、このモード選択にそのまま反映される。
設定は settings.json の defaultMode フィールドで指定する。
{
"defaultMode": "dontAsk",
"allowedTools": ["Bash(npm test)", "Bash(npm run lint)", "Read"],
"disallowedTools": ["Bash(rm *)", "Bash(curl *)", "Bash(wget *)"]
}
上記は CI 用途の典型的な設定例だ。allowedTools でテストとリントのみを許可し、disallowedTools でファイル削除と外部通信を明示的にブロックしている。Claude Code のスラッシュコマンド全般については Claude Code スラッシュコマンド完全ガイド を参照されたい。
実運用のための設定チェックリストとCI/CDワークフロー連携
ここまでの内容を踏まえ、実際に Claude Code をチームや CI/CD パイプラインに導入する際の設定フローを整理する。
ローカル開発環境の設定手順
- 初期モードは
defaultで起動し、Claude がどのツールをどの頻度で呼び出すかを確認する。 /permissionsコマンドで現在の allow/deny ルール一覧を確認する。初期状態ではほぼ空のはずだ。- 繰り返し承認を求められる操作(例:
npm testの実行)を allow ルールに追加する。”Yes, don’t ask again” を選択するとプロジェクトディレクト監修
河合 継(クリスタルメソッド株式会社 代表取締役)
AI・ディープラーニングに関する特許16件の発明者。過去、国立がん研究センターとの共同研究や、テレビ番組でのAI解説実績を持つAI研究者として、AIの研究開発を主導している。
運営会社について | 編集方針Claude Codeの全体像・仕組み・始め方は、Claude Code(クロードコード)とは?初心者向け完全ガイドでまとめて解説しています。
AIの業務活用をご検討の方へ
クリスタルメソッドは、バーチャルヒューマンをはじめAIの開発・業務導入を支援しています。生成AI・AIエージェントの活用や、自社業務へのAI導入をご検討の際は、お気軽にご相談ください。
- 無料相談・お問い合わせ:ご相談はこちら
Study about AI
AIについて学ぶ
-
生成AI メンタルヘルス リスクと企業対策——ChatGPT訴訟が問う脆弱ユーザー保護の実務
ChatGPTが宗教的妄想を増幅した——米国訴訟が示す生成AI メンタルヘルス リスクの核心 2025年、カリフォルニア州在住の競技パワーリフター、34歳のマイ...
-
AI面接の通過率を上げる受け方|落ちる人の共通点と今すぐできる対策
「手応えがあったのに、なぜ落ちたのだろう」——AI面接のフィードバックを何度読み返しても、どこが悪かったのか腑に落ちない。その感覚はおかしくない。AI面接の評価...
-
新卒の面接対策|就活で評価される準備と答え方
「何を答えるか」は準備できた。エントリーシートも添削してもらった。でも、いざカメラの前で話すと言葉に詰まり、自分の表情が固まっているかどうかもわからない——就活...