Claude Code サンドボックス完全解説 — chroot ではない、カーネルレベル隔離の仕組みと実践設定
Claude Code サンドボックス完全解説 — chroot ではない、カーネルレベル隔離の仕組みと実践設定 「Claude Code のサンドボックスって、要するに chroot でしょ?」という誤解をよく耳にします。答えは明確にノーです。Claude Code のサンドボックスは chroot とは次元の異なるカーネルレベルの隔離機構で、ファイルシステムとネットワークの2層を OS プリミティブで強制します。 Anthropic のエンジニアリングブログによると、サンドボックスにより承認プロンプトが84%削減されました。セキュリティと生産性を両立する仕組みの全貌を、技術的な背景から実践設定まで解説します。 chroot との決定的な違い まず「chroot で十分か」という疑問に答えます。結論から言えば、chroot はセキュリティ対策として設計されていません。 隔離技術の比較 Practical CTF の解説を基に、主要な隔離技術を比較します。 技術 制限対象 脱出の容易さ 設計目的 chroot ファイルシステムのパス解決のみ 容易(root 権限で即脱出) 組織的なツール(セキュリティ目的ではない) seccomp システムコール 中程度(許可リストの漏れを突く) セキュリティ機構 namespaces プロセス、ネットワーク、マウント 困難(適切設定時) コンテナ隔離 Seatbelt ファイル、ネットワーク、IPC、プロセス 困難(カーネルレベル強制) アプリケーション隔離 chroot の脱出方法 chroot がセキュリティ対策に不十分な理由を具体的に示します。 カレントディレクトリ攻撃: chroot 実行時にカレントディレクトリが jail 外にあれば、相対パスで脱出可能 二重 chroot: 別の chroot を実行して前の制限を上書き ファイルディスクリプタ: jail 外で開かれた fd を経由してアクセス openat syscall: ディレクトリ fd を使って jail 外のファイルを操作 つまり chroot は「ルートディレクトリの表示を変えるだけ」であり、ネットワーク制限もシステムコール制限もありません。AI エージェントのサンドボックスとしては全く不十分です。 ...