サンドボックスとは
これまでパーミッション設定やパーミッションモードの切り替えについて説明してきました。これだけでも十分にClaude Codeを安全に使えますが、より安全に使いたい方向けに、今回はサンドボックスという環境を解説します。
サンドボックスは日本語に訳すと「砂場」という意味です。子供が砂場で遊んでも外の世界には何の実害もない、という考え方からこの名前が付けられています。Stripeなどの課金を実装したことがある方は「サンドボックス環境(テストモード)」を聞いたことがあると思います。いくら決済しても実際のクレジットカードからお金が引き落とされないのと同じで、Claude Codeでも実害が出ない環境を構築できます。
サンドボックスの役割
たとえば Claudeが Webサーチツールで外部のネットから情報を拾ってきて Claude Codeに返す瞬間があります。このとき拾ってきた情報が本当に信頼できるかは分かりません。悪意のある指示(プロンプトインジェクション)が含まれている可能性があります。
もし「APIキーを取ってこい」といった指示が含まれていた場合、サンドボックスでなければ Claude Codeがそのまま実行し、Claudeに返したり、悪意のあるAPIに送信したり、ファイルを削除したりする可能性があります。
オートモードを使えば、プロンプトインジェクションの可能性があるサイトは閲覧しないようになっているため十分に安全ですが、さらに安全にしたい場合にサンドボックスを配置します。サンドボックス環境では、Claude Codeが実行しようとしても悪意のあるサイトとそもそも紐づいていないため、外部検索ができません。自分が許可したドメインからでないと操作できない、閉じられた空間です。ファイルの削除や編集なども物理的に守られ、権限がない操作には「Operation not permitted」と返されます。多層防御の概念で二重に安全を確保したい場合におすすめです。
環境ごとの利用方法
Mac / Claude Desktop
Macであれば /sandbox というスラッシュコマンドが使えます。Claude Desktop版のClaude Codeでもサンドボックスが使え、「自動で設定しますか」という項目が出てくるので Enter を押すと環境が作られます。
Windows(WSL が必要)
Windows環境では /sandbox コマンドは使えません。どうしても使いたい場合は WSL(Windows Subsystem for Linux)が必要です。WSLは Windowsの中に Linux環境を作れるもので、wsl install などで調べると導入できます。
WSL環境で Claude Codeを使うには、管理者権限で実行する sudo コマンドが必要です。さらにサンドボックスを動かすには bubblewrap と socat という依存パッケージ(dependencies)が必要になります。
導入はやや手間がかかるうえ、オートモードやパーミッション設定で十分安全なので、Windows(WSL)環境では無理に導入しなくてもよいと個人的には考えています(筆者は使っていません)。Macの方はスムーズに使えると思います。
サンドボックスでの制限内容
サンドボックス環境を有効にすると(with auto allow などで構築)、外部サイトの検索を頼んでも基本的に操作してくれません。Claude Codeに「サンドボックス環境では何が制限されていますか」と聞くと、次のように答えてくれます。
- デフォルトで
.envファイルなどへのアクセスが禁止される - ネットワークは、ホワイトリストに登録されていないホストへの接続が制御される
常にサンドボックスを有効にしておきたい場合は、settings.json で設定する方法もあります。詳細は公式ドキュメントを調べるか、Claude Codeに直接聞いてみてください。次の動画では、本セクション最後のテーマであるMCPサーバーの安全な取り扱い方を解説します。