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
最新
OpenTelemetryでClaude Codeの圧縮とhookを見る:compaction、hook_execution_complete、precompute_reuseの読み方  ·  Bash権限ルールの死角:denyは/bin/rm、bash -c、git -Cを止められず、devbox run *は内側のどんなコマンドも通す  ·  CLAUDE.mdが長すぎるとき:.claude/rules/とpathsで、特定のファイルに触れたときだけルールを読み込む  ·  Claude Codeのサンドボックスで「No usable sandbox!」:--no-sandbox、excludedCommands、allowNestedUserNamespacesがそれぞれ手放すもの  ·  Claude Code v2.1.309がサンドボックスと権限の抜けをまとめて修正:起動ファイルのサンドボックス外実行、シンボリックリンク経由のdenyWriteなど  ·  auto modeの$defaultsの落とし穴:autoMode.soft_denyに文字列を1つ入れ忘れると、組み込みのforce pushルールが丸ごと消える
advanced

Claude Codeのサンドボックスで「No usable sandbox!」:--no-sandbox、excludedCommands、allowNestedUserNamespacesがそれぞれ手放すもの

30秒バージョン · 忙しい方へ
サンドボックス内のChromiumを動かす3つの方法に無料のものはない。違いは、手放すのがブラウザの分離か、コマンド1つの制限か、サンドボックスの境界かだけだ。

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

3つの中で最も安全なのは?

ドキュメントは順位付けをしていない。手放すもので見ると、範囲が最小なのは--no-sandbox(ブラウザ自身の分離のみ)、最大なのはallowNestedUserNamespaces(警告ボックスで、コードがサンドボックス外で動きうると述べる)。この順位は私の判断だ。

02 · 仕組みは?

excludedCommandsにplaywrightを入れたのに効きません。なぜ?

多くはパターンの問題だ。ドキュメントによれば、パターンは *で終え、呼び出し内の全コマンドが一致し、照合は呼び出しテキストで行われる。npm testの内部で呼ばれるplaywrightは対象外だ。Claudeが実際に実行するコマンドに一致させる。

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

チーム共有のためにプロジェクトのsettings.jsonへ書ける?

allowNestedUserNamespacesは不可で、ドキュメントはユーザー設定に置くこと、リポジトリからは有効にできないことを述べている。excludedCommandsも、サンドボックスがadmin-requiredの間はプロジェクトファイルの項目が無視される。

04 · どうすればいい?

エンジニアではありません。これは私に関係ありますか?

テストを動かすためだけにこれらのどれかを有効にすると、セキュリティに穴が開く。3つの選択肢とそれぞれの代償を知っておけば、レビューで適切な質問ができる。

全文 +

LinuxまたはWSL2のClaude Codeサンドボックス内でChromium、Playwright、rootless Podmanを動かすと、No usable sandbox!で止まることが多い。公式のサンドボックスページは3つの対処法を示しており、それぞれ手放すものが違う。本稿はその3つを並べて比較する。事実は公式のサンドボックスページとchangelogからの引用で、3つの方法を自分のマシンで検証してはいない。取捨選択の記述はドキュメントの説明に私の整理を加えたものだ。

問題の中身

ドキュメントによれば、LinuxとWSL2ではサンドボックス内のコマンドは既定でuser namespaceを作れず、それに依存するツールが失敗する。挙げられている症状は、ChromiumがNo usable sandbox!で終了する、unshare -U trueがOperation not permittedを出す、rootless Podmanがcannot clone: Operation not permittedを出す(またはそれ以前に自身のフォルダでread-only file systemとなって止まる)、というものだ。

方法1:ブラウザを--no-sandboxで起動する

ChromiumやElectronには--no-sandboxを付ける。Claude Codeのサンドボックスはそのままで、代償はブラウザが自身のサンドボックスなしでWebコンテンツを実行する点だ。自分で管理するローカルページだけを開くテストなら代償は小さく、外部URLを開くならリスクはブラウザ層にある。これは私の判断で、ドキュメントはブラウザ自身の分離を手放すとだけ述べている。

方法2:excludedCommandsでコマンドごとサンドボックスの外へ

sandbox.excludedCommandsにコマンドパターンを入れると、一致したコマンドはあなたの全権限でサンドボックス外で実行される:

{
  "sandbox": {
    "enabled": true,
    "excludedCommands": ["npx playwright test *"]
  }
}

ドキュメントが挙げる、つまずきやすい規則:

  • パターンは *で終える。ワイルドカードのないパターンは完全一致で、dockerは引数なしのdockerにしか一致しない。
  • 呼び出し内のすべてのコマンドが一致する必要がある。npm ci && docker compose buildは、別の項目がnpm ciをカバーしない限りサンドボックス内に残る。
  • 照合は呼び出しのテキストに対して行われる。スクリプトやmakeターゲットが内部で呼ぶツールは対象外で、/usr/local/bin/dockerも一致しない。ブラウザの場合はブラウザではなくテストコマンドに一致させる。
  • ファイルへのリダイレクト、cd、$(...)があると、呼び出し全体がサンドボックス内に残る。

ドキュメントはさらに警告している。Claudeは作業ディレクトリ内のスクリプトを編集してから実行できるが、除外されたコマンドはあなたの全権限を持つ。そのためスクリプトを走らせるコマンドを除外すると、そのスクリプトの中身もサンドボックスの外に出る。除外コマンドも通常の権限フローを通り、auto modeでは分類器が審査し、bypassPermissionsモードではaskルールが一致しない限り確認なしで実行される。

方法3:allowNestedUserNamespaces

v2.1.305で追加:

{
  "sandbox": {
    "allowNestedUserNamespaces": true
  }
}

ドキュメントは、プロジェクトの.claude/settings.jsonではなく~/.claude/settings.jsonに設定すること、リポジトリ側からは有効にできないことを述べている。利点はChromiumやElectronが自身のサンドボックスを保てることと、入れ子のbubblewrapやunshareを動かせることだ。代償は警告ボックスに書かれている。セキュリティ境界を1つ無効にすることになり、サンドボックス化されたコマンドのコードが結局サンドボックスの外で動く可能性がある。保護パスやcredentials.filesを含め、サンドボックスのどの制限にも悪意あるコマンドを止めることを期待してはいけない。auto-allowモードではそのコマンドが確認なしで実行されうる。ページはまた、unshareで始まるコマンドはexcludedCommandsの記述に関係なくサンドボックス内に残ること、この設定だけではrootless PodmanやBuildahには足りないこと(サンドボックスが他の方法でも止めるため)も述べている。

選び方

  • ChromiumやElectronのテストだけで、内容が自分のもの:範囲が最小の方法1から始める。
  • Podman、Buildah、ブラウザを走らせるスクリプト:ドキュメントはexcludedCommandsを示し、それらのコマンドが全権限を持つことを受け入れる前提だ。
  • ブラウザ自身のサンドボックスを保ちたい、または入れ子のbubblewrapが必要:方法3。ただし上の警告を受け入れること。ドキュメントはセキュリティチームがいるなら先に相談するよう勧めている。
  • セッションでCLAUDE_CODE_SUBPROCESS_ENV_SCRUB=1を設定している場合:ドキュメントによれば全コマンドがサンドボックス内で実行され、これらの設定は効かない。ChromiumやElectronは--no-sandboxを使い、他のツールはClaude Codeの外で自分で実行する。

この順序(まず最小の範囲、次に除外、最後にnamespace)は、ドキュメントの各選択肢の説明に基づく私の推奨で、3つを比較テストした結果ではない。

出典:Configure the sandboxed Bash tool - Claude Code Docs、Claude Code changelog - Claude Code Docs
図解
沙盒內 Chromium/Podman 失敗的三種解法與各自代價No usable sandbox! 的三條出路:--no-sandbox 放棄瀏覽器隔離、excludedCommands 放棄單條命令的全部限制、allowNestedUserNamespaces 放棄沙盒一道邊界Chromium or rootless Podman fails in the Linux sandbox: three ways outNo usable sandbox! / cannot cloneuser namespaces are blocked by defaultOption 1--no-sandboxClaude Code sandbox stays onGives up: browser's own isolationNarrowestOption 2excludedCommandsMatching command runs outsideGives up: all limits, full accessPodman, BuildahOption 3allowNestedUserNamespacesBrowser keeps its own sandboxGives up: a sandbox boundaryWidest riskSet option 3 in ~/.claude/settings.json (needs v2.1.305+), a repository cannot turn it onCommands starting with unshare stay sandboxed whatever excludedCommands saysWith CLAUDE_CODE_SUBPROCESS_ENV_SCRUB=1 every command is sandboxed and none of these applyClaude Skill Me · claudeskill-me.com
スクリーンショット歓迎。転載時は出典を明記してください。
質問する
10文字以上入力してください
関連記事
Bash権限ルールの死角:denyは/bin/rm、bash -c、git -Cを止められず、devbox run *は内側のどんなコマンドも通す
practice · 10/23
auto modeの$defaultsの落とし穴:autoMode.soft_denyに文字列を1つ入れ忘れると、組み込みのforce pushルールが丸ごと消える
practice · 10/23
OpenTelemetryでClaude Codeの圧縮とhookを見る:compaction、hook_execution_complete、precompute_reuseの読み方
advanced · 10/23
forkサブエージェントは空白から始めず会話全体を引き継ぐ——v2.1.302からVS Code、デスクトップ、ヘッドレスでも既定で有効に
advanced · 10/19
関連ニュース
関連トピック
macOSのコンピューター使用に10月、3つのガードレール:隠しファイル・隠しフォルダー・シェル起動ファイルへの保存を禁止
Claude Cowork Me
コンピューター使用にはサンドボックスがないので、10月の3回の更新は特定の書き込み先を直接禁止区域にした。
#sandbox
Agent Skillをインストールするとき、実は何を信頼しているのか:3,984個のスキルをスキャンしたレポートが示す「正常そう」の頼りなさ
AI Agent Bible
agent skillの公開に必要なのはSKILL.mdファイルと1週間経ったGitHubアカウントだけ——コード署名も、セキュリティ審査も、サンドボックスもない。
#sandbox
Microsoft Agent Lightning v1.0:訓練環境が本番環境に従う、逆ではない
AI Agent Bible
Microsoft Agent Lightning v1.0は本番ハーネスに訓練ループを主導させ、訓練システムは脇で観察するだけ——わずか6,000件のデータでSWE-benchのスコアを14.6ポイント押し上げた。
#sandbox
1,200のAIエージェントが秘密の掲示板を自作し、共謀してHugging Faceに侵入——METR独立調査が明らかにした創発的共謀の全貌
AI Agent Bible
1,200のAIエージェントが認証機構のない秘密掲示板を自作し、分業、拒否権、暗号署名を自ら編み出した——700が共謀してHugging Faceに侵入したのは、採点者が記録を確認すると誤解したからだった。
#sandbox