Bible Network Crypto DeFi Onchain RWA AI Agent Stablecoin Chain SAFU CryptoTax DeFAI AGI Claude Me Claude Skill Claude Design Claude Cowork
独立メディア
いかなるプロジェクトとも無提携
Claudeスキルを学んで、すべてをもっとうまくやろう
claudeskill-me.com
最新
Hookに「blocking error」と表示されたのに、ファイルは変更されている?PostToolUseとPreToolUseの「ブロック」は同じ意味ではない  ·  Auto Modeを設定したから安全?権限モードとサンドボックス境界は全く別の防御層で、混同すると事故につながる  ·  Messages APIに「オンデマンド圧縮」ベータ機能が追加:システム任せではなく開発者が圧縮のタイミングを決定  ·  Claude CoworkとChatが正式統合、Claude DocsとClaude Slidesを同時発表  ·  なぜ「hi」一言で2万トークン以上消費するのか:ClaudeCodeの固定起動オーバーヘッドを分解する  ·  初めてのカスタムSlash Commandの書き方:ゼロから作る実装例(よくある古い構文の落とし穴つき)
advanced

Auto Modeを設定したから安全?権限モードとサンドボックス境界は全く別の防御層で、混同すると事故につながる

30秒バージョン · 忙しい方へ
サンドボックスはモデルが何を実行しようと選んだかではなく、プロセスが実際に何に触れたかだけを見る——これが権限モードとの根本的な違いだ。

詳しく読む +
01 · なぜ起きたのか?

すでにAuto Modeを有効にしている場合、サンドボックスを別途設定する必要はありますか?

必要があり、両者は互いに代替できない。Auto Modeが制御するのは「このツール呼び出しを実行すべきかどうか」で、クラシファイアがその動作内容をどう判断するかに依存する。サンドボックスが制御するのは「そのコマンドが実行後にどのファイルシステムパスとネットワークドメインに到達できるか」で、OSレベルで強制される境界に依存する。この2層はそれぞれ異なるリスクをカバーしている:Auto Modeが見逃した動作でも、サンドボックス境界が十分厳格であれば、実際の被害を安全な範囲に封じ込められる可能性がある。逆に、サンドボックス境界をどれだけ厳しく設定しても、子プロセスを生成しないツールタイプ(Read、Edit、WebFetch、MCP呼び出し)は管理対象外であり、これらは完全に権限ルールに依存して管理される。一方の層だけを有効にすることは、もう一方の層の攻撃面をそのまま露出させることに等しい。

02 · 仕組みは?

サンドボックスのauto-allowモードと権限レイヤーのAuto Modeは名前がよく似ていますが、同じものの2つの呼び方ですか?

違う。これは公式ドキュメントが特に明確にしている点だ。サンドボックスのauto-allowモードがBashコマンドを毎回の確認なしで実行させるのは、そのコマンドがすでにサンドボックス境界に封じ込められているからだ——それが何か有害なことをしようとしても、実際に到達できる範囲は限られている。権限レイヤーのAuto Modeがツール呼び出しを毎回の確認なしで実行させるのは、クラシファイアがその動作内容を審査し、安全だと判断したからだ。

この2つは同時に、かつ独立して動作できるが、「確認する」ことの代わりとなるメカニズムは完全に異なる——一方は範囲外のアクセスを阻止する硬い境界であり、もう一方は内容に対する柔らかい判断だ。両方の名前に「auto」が含まれているからといって同じ層が管理していると思い込むと、自分の実際の保護範囲を誤判断しやすい。

03 · 自分にどう影響する?

--dangerously-skip-permissionsを使うと、サンドボックスも一緒にスキップされることになりますか?

いいえ、そこがこのフラグが誤解されやすい点だ。--dangerously-skip-permissionsが制御するのは権限レイヤーだ——これはすべてのツール呼び出しの承認要件を取り除き、保護対象パスのチェックすらスキップし、確認の代わりとなるものは何もない。しかしサンドボックスは権限レイヤーとは完全に独立した別のメカニズムであり、それが有効かどうかはあなた自身のサンドボックス設定(例えばsandbox.enabled)に依存し、このフラグを追加したかどうかとは直接関係がない。

これはまた、見落とされがちなリスクを示している:権限レイヤーをスキップし、かつサンドボックス設定を別途有効化または強化していない場合、2つの防御が同時に破られることになり、どのツール呼び出しもフィルタリングされず、実際に到達できるファイルシステムやネットワークの範囲にも境界がまったくない状態になる。このフラグの名前には「dangerously」という言葉がそのまま入っている——使う前に、サンドボックスの層が独立して機能を保っているかを必ず確認すること。

04 · どうすればいい?

セキュリティの専門家ではありませんが、自分の自動化パイプラインがこの落とし穴に陥っていないか確認したいです。最も簡単な確認方法は何ですか?

最初からすべての設定キーを覚える必要はない。まず一つだけやってみるといい:現在Claudeに自動実行を許可しているツールのリストを見つけ、そのリストの中でBash、PowerShell、あるいは類似のコマンドラインツールを呼び出す項目について、サンドボックスがそれを明確で安全なディレクトリ範囲に制限しているか、それともシステム全体へのアクセスがデフォルトで開かれているままかを確認する。答えが「サンドボックス設定は特に調整していない」であれば、おそらく現在は権限レイヤーだけに依存して守っている状態であり、実際のサンドボックス範囲は想定よりもかなり広い可能性がある。

設定を確認した後は、安全なテスト環境を用意し、「ツール呼び出しは許可されているが、触れるべきでないパスやドメインに触れようとする」状況を意図的に再現し、それが実際にサンドボックスによって止められるかを観察してみるとよい。このテストは、どんな設定ドキュメントを読むよりも、自分の本当の防御線がどこにあるかを教えてくれる。

全文 +

「Auto Modeをオンにしたから、大きな問題は起きないはずだ」——この一言の裏には、よくある誤解が潜んでいる。「Claudeが行動してよいかどうか」と「Claudeが行動した後に何に触れられるか」を、同じものとして管理していることだ。これらは実際には完全に独立した2つの防御層であり、一方は「このツール呼び出しに事前承認が必要かどうか」を決め、もう一方は「承認された後、そのコマンドが実際にどのファイルやネットワークドメインに触れられるか」を決める。この2つの層を混同することは、チームがClaude Codeの自動化パイプラインを設定する際に最もよく犯す、そして最も実害につながりやすい間違いだ。

権限モードは「問うかどうか」を決め、サンドボックスは「実行後に何が起きるか」を決める

公式ドキュメントはこの2層の分業を明確に定義している:権限ルール(permission rules)は、あらゆるツールが実際に実行される前に評価され、Bash、Read、Edit、WebFetch、MCPなどほぼすべてのツールタイプに適用され、「このツール呼び出しがそもそも実行を許可されるべきか」を決める。それに対してサンドボックスは、OSレベルで強制される境界であり、Bash、PowerShell、Monitorといった子プロセスを生成する類のコマンドにのみ適用され、「そのコマンドが実際に実行される際、どのファイルシステムパスとネットワークドメインに到達できるか」を決める。

この2つは、強制の仕方も異なる。権限の判断はコマンドが実行される前に、コマンド文字列そのものと、Auto Modeにおいては別のクラシファイアがそのコマンドの安全性についてどう判断するかに基づいて行われる。一方でサンドボックス境界は、実行中のプロセスに対してオペレーティングシステムが直接強制するものであり、これはモデルが何を「実行しようと選んだか」に関係なく機能する。つまり、承認されたコマンドがその名前から予想される以上のことをした場合でも、サンドボックス境界はそれでも有効に働く——それが監視しているのはモデルが何を選んだかではなく、そのプロセスが実際に何に触れたかだけだ。

実際に問題が起きる具体的な組み合わせ:ツール呼び出しは許可したのに、サンドボックスの範囲を絞っていない

コミュニティ記事「Claude Code Permission Modes in 2026」(著者:jsmanifest)は、直接的な失敗事例を示している:ある設定がrun_commandというツールの呼び出しを許可したが、Bashサンドボックスを安全なディレクトリツリーに制限することを忘れていた——結果として、エージェントはrm -rf /のようなコマンドを何の抵抗もなく実行できてしまった。ここでの重要な点は、「このツールの呼び出しを許可する」ことと「そのツールがシステムのどの部分に到達できるか」は、完全に別々の設定項目であり、前者を許可したからといって後者が絞られているとは限らないということだ。

同じ記事は、もう一つの本番環境での事例も記録している:あるチームがコードレビューのワークフローにPromptモード(毎回確認を求める方式)を設定し、npm audit fixのリクエストを承認したが、サンドボックスの設定では/node_modulesがroot権限で読み書き可能としてマウントされていた。権限審査のこの層は問題なく通過したが、サンドボックス分離のこの層は、パッケージインストール時に発生しうる悪意ある挙動を、あるべき範囲内に封じ込めることができなかった。この事例が示しているのは、権限レイヤーをどれだけ丁寧に設定しても、サンドボックス境界がそれに整合していなければ、防御は同じように回避されてしまうということだ。

公式ドキュメントが示す分業の定義

Claude Codeの公式ドキュメントは、比較表でこれを直接示している:/sandboxが制御するのは「Bashコマンドが実行後に何にアクセスできるか」であり、毎回の確認プロンプトの代わりとなるのはサンドボックス境界そのもの(auto-allowモードの場合)だ。一方、Auto mode(権限モードの一種)が制御するのは「各ツール呼び出しが実行されるかどうか」であり、確認プロンプトの代わりとなるのは、その動作内容を審査するクラシファイアだ。そして--dangerously-skip-permissionsも同様に「各ツール呼び出しが実行されるかどうか」を制御するが、確認プロンプトの代わりとなるものは何もない——保護対象パスのチェックすらスキップされ、どのモードでも自動承認されない少数の動作だけが制限され続ける。

ドキュメントはまた、サンドボックスのauto-allowモードと権限レイヤーのAuto modeが、互いに代替可能ではない2つの独立したメカニズムであることを強調している。auto-allowがBashコマンドを確認なしで通過させるのは、サンドボックス境界がすでにそれを封じ込めているからだ。Auto modeがツール呼び出しを確認なしで通過させるのは、クラシファイアがその動作内容を安全と判断したからだ。両者は同時に、かつ独立して動作できるが、それは同時に、一方の層が緩く設定されていても、もう一方の層が自動的に補ってくれるわけではないことも意味する。

実務上、2つの層はそれぞれ具体的に何に対応するか

実際に設定を調整するなら、公式ドキュメントが示す対応関係は非常に具体的だ。ファイルシステム側では、sandbox.filesystem.allowWriteが作業ディレクトリ以外のパスへのサブプロセスの書き込みアクセスを許可し、sandbox.filesystem.denyWriteとdenyReadが特定のパスへのアクセスを封鎖する。これらは権限レイヤーのEdit許可ルールやRead/Edit拒否ルールとは別に設定されるが、最終的にはサンドボックスの実際の設定にマージされる。ネットワーク側では、サンドボックスのallowedDomains/deniedDomainsがBashコマンドが到達できるドメインを制御し、これも権限レイヤーのWebFetch(domain:...)許可/拒否ルールとは別の設定群だ。つまり、「このパスに書き込めるかどうか」という同じ問いが、権限ルールとサンドボックス設定の両方から同時に影響を受けており、実際の境界がどこにあるかを知るには両方を確認する必要がある。

ではサンドボックスは権限モードより単純に安全だと言えるのか

その理解は正確ではない。サンドボックス境界の強制力が確かに硬いのは事実だ——それはOSレベルの制限であり、モデルが何を選んだかではなく、プロセスが実際に何に触れたかだけを見る。これは、承認されたコマンドが予想以上のことをしても、サンドボックスが境界を越えたアクセスを止められることを意味する。しかしサンドボックスがカバーするのはBash、PowerShell、Monitorといった子プロセスを生成するツール群だけであり、Read、Edit、WebFetch、MCP呼び出しといった他のツールタイプは、完全に権限ルールのレイヤーに依存して管理されている。2つの層はそれぞれ異なる攻撃面をカバーしており、どちらも欠かせない——「サンドボックスが十分厳格なら権限ルールは気にしなくていい」という単純化された考え方は成立しない。

実務上、自分の設定をどう確認すべきか

各設定キーの名前を覚えることよりも、まず自分自身に2つの問いを立てる方が実用的だ。Claudeがあるツールの呼び出しを承認された場合、そのツールが実際に実行時に到達できるファイルシステムの範囲は十分に狭いか。そしてサンドボックス境界をどれだけ厳しく設定しても、あるツールカテゴリ(例えばMCP呼び出し)がサンドボックスを完全に迂回し、権限ルールだけに依存して管理されていないか、そしてその権限ルール自体が十分に絞られているか。どんな自動化パイプラインも本番投入する前に、この2つの問いそれぞれについて実際にテストしておく価値がある——許可された動作が触れるべきでないものに意図的に触れようとさせ、それが本当にブロックされたかを自分の目で確認することだ。設定を書いたから機能するはずだと仮定してはならない。

出典:Configure the sandboxed Bash tool - Claude Code Docs、Permission modes - Claude Code Docs、Claude Code Permission Modes in 2026: What allowedTools, Whitelists, and Sandbox Boundaries Actually Restrict、Configure permissions - Claude Code Docs
図解
權限模式與沙盒邊界的分工對照兩層各管不同範圍,任何一層設寬都不會被另一層自動補起來Permission Mode vs Sandbox — Two Independent LayersPermission ModesControls: whether a tool call runsApplies to: Bash, Read, Edit,WebFetch, MCP — nearly all toolsAuto mode: classifier reviews action--dangerously-skip-permissions: nothingSandbox BoundaryControls: what a running commandcan access (files, domains)Applies to: Bash, PowerShell,Monitor + child processes onlyOS-level enforcement, not model choiceKnown failure combinationrun_command allowed + sandbox not scoped to safe dir= agent can run rm -rf / without frictionNeither layer compensates for the other being looseClaude Skill Me · claudeskill-me.com
スクリーンショット歓迎。転載時は出典を明記してください。
質問する
10文字以上入力してください
関連記事
Subagentはより賢い小さなClaudeではない——それが解決するのは隔離の問題であり、能力の問題ではない
advanced · 08/31
Hookに「blocking error」と表示されたのに、ファイルは変更されている?PostToolUseとPreToolUseの「ブロック」は同じ意味ではない
practice · 09/28
なぜ「hi」一言で2万トークン以上消費するのか:ClaudeCodeの固定起動オーバーヘッドを分解する
advanced · 09/05
インストールしたSkillがトリガーされない理由:15,000文字の予算超過をClaudeCodeは警告なしで静かに処理する
practice · 09/02
関連ニュース
関連トピック
Claude Code の新しい rm コマンドルール:2分間応答がなければハングせず自動拒否
Claude Me
危険コマンドの確認はもう無期限にハングしない——2分応答がなければ自動拒否してパイプラインは続行するが、変わったのは待機の扱い方であり危険判定自体ではない。
#auto-mode#dangerously-skip-permissions
Claude Code の Auto Mode 分類器が無料に——ただしゲートウェイ経由だと静かに課金が続く
Claude Me
Auto Mode の安全分類器は無料になったが、ゲートウェイ経由だと静かに旧料金を払い続けており、誰も教えてくれない。
#auto-mode
Claude Code Projectsの共有メモリはどう機能するのか:1つのMEMORY.mdが、すべての並行スレッドが何を知っているかを決める
Claude Me
メモリはプロジェクト全体で共有されるが、権限ルールは起動ディレクトリ内でしか有効にならない——どちらも「継承」と呼ばれているが、実際に機能する範囲はまったく異なり、同じロジックで理解してはいけない。
#permission-rules
Microsoft Agent Lightning v1.0:訓練環境が本番環境に従う、逆ではない
AI Agent Bible
Microsoft Agent Lightning v1.0は本番ハーネスに訓練ループを主導させ、訓練システムは脇で観察するだけ——わずか6,000件のデータでSWE-benchのスコアを14.6ポイント押し上げた。
#sandbox