一行要約

権限プロンプトの連打を減らしつつ安全性を上げる道は sandboxing であり、決定的なのは「ファイルシステム隔離とネットワーク隔離の両方が要る。片方だけでは不十分」という点。社内利用で権限プロンプトが 84% 減った

要点

なぜ権限プロンプトだけでは足りないか

権限ベースのモデルは既定で読み取り専用にし、echocat のような安全なコマンドを自動許可する。しかしプロンプトが多すぎると、ユーザーは中身を見ずに承認するようになる

sandboxing により、社内利用で権限プロンプトが 84% 削減された。

両方が要る理由

Effective sandboxing requires both filesystem AND network isolation—neither alone is sufficient. 実効性のある sandbox にはファイルシステムとネットワークの両方の隔離が要る。どちらか一方では不十分である。

隔離防ぐものこれが欠けると
ファイルシステム隔離Claude が触れる / 変更できるディレクトリを限定。システムの機微ファイルの改変を防ぐサンドボックスから脱出されうる
ネットワーク隔離承認済みサーバにしか接続させない。データ持ち出しとマルウェア取得を防ぐSSH 鍵を持ち出されうる

Even a successful prompt injection is fully isolated, and cannot impact overall user safety. This way, a compromised Claude Code can’t steal your SSH keys, or phone home to an attacker’s server. prompt injection が成功した場合でも、それは完全に隔離されており、ユーザー全体の安全性に影響を及ぼせない。こうすることで、乗っ取られた Claude Code もあなたの SSH 鍵を盗んだり、攻撃者のサーバへ通信したりできない

prompt injection を「防ぐ」のではなく「成功しても被害が閉じる」ように設計している点が、この記事の思想的な核心。

実装

  • OS レベルのプリミティブの上に構築 — Linux は bubblewrap、macOS は seatbelt
  • Claude の直接の操作だけでなく、起動したスクリプト・プログラム・サブプロセスまでカバーする
  • ネットワークアクセスは unix domain socket 経由でプロキシサーバに接続する形で制限される。プロキシがドメイン制限を強制し、新しいドメインについてはユーザー確認を処理する
  • 両方のコンポーネントとも設定可能

Claude Code on the web の git 認証

サンドボックスの中に機微な認証情報(git 認証情報、署名鍵)を一切置かない設計。専用のプロキシサービスが git 操作を透過的に処理し、認証と git コマンドの内容を検証してから GitHub へのリクエストにトークンを付ける

そのまま使える具体例

/sandbox        Claude Code 内で sandboxing を設定する

sandbox runtime は OSS として公開されている:

https://github.com/anthropic-experimental/sandbox-runtime

設計判断のチェックリスト(自前のエージェント環境を作るとき):

□ ファイルシステム隔離だけになっていないか  → ネットワーク経由の持ち出しが残る
□ ネットワーク隔離だけになっていないか      → サンドボックス脱出が残る
□ サブプロセスまでカバーしているか           → シェル越しに抜けられる
□ 認証情報がサンドボックス内に置かれていないか → プロキシ側に置く

原典で言及されている関連文書

未取得の派生リンク