原文(日本語に翻訳)
セキュリティ修正: sandbox.enabled: trueが設定されているが依存関係が不足している場合にサイレントでサンドボックスが無効化される問題を修正。起動時に目に見える警告を表示するようになりました
原文(英語)
Security: Fixed silent sandbox disable when sandbox.enabled: true is set but dependencies are missing — now shows a visible startup warning
概要
sandbox.enabled: trueを設定しているにもかかわらず、サンドボックスの依存関係が不足している場合、これまでは警告なしにサンドボックスが無効化されていました。この状態ではユーザーはサンドボックスが有効だと思い込んだまま保護されていない状態で動作してしまう危険がありました。v2.1.78からは起動時に目に見える警告が表示されるため、セキュリティの設定ミスに気づくことができます。
サンドボックスの依存関係
macOSの場合
macOSでのサンドボックスには以下が必要です:
sandbox-execコマンド(macOS標準搭載)- macOS 10.15以降
Linuxの場合
Linuxでのサンドボックスには以下が必要です:
bwrap(Bubblewrap)unshareコマンド
インストール方法:
# Ubuntu/Debian
sudo apt install bubblewrap util-linux
# Fedora/RHEL
sudo dnf install bubblewrap util-linux
# Arch Linux
sudo pacman -S bubblewrap util-linux基本的な使い方
サンドボックスを有効化する設定(settings.json):
{
"sandbox": {
"enabled": true
}
}依存関係が不足している場合、起動時に以下のような警告が表示されます:
⚠️ 警告: sandbox.enabled が true に設定されていますが、
サンドボックスの依存関係 (bwrap) が見つかりません。
サンドボックスは無効化されています。
依存関係をインストールするか、sandbox.enabled を false に設定してください。実践例
依存関係の確認方法
# Linuxでbubblewrapが利用可能か確認
which bwrap && bwrap --version
# macOSでsandbox-execが利用可能か確認
which sandbox-exec/sandboxコマンドで状態を確認する
Claude Code内で/sandboxコマンドを使用してサンドボックスの状態と依存関係を確認できます:
/sandboxDependenciesタブには現在のOS用の前提条件が表示されます(v2.1.78以降はmacOSでLinuxの前提条件が表示される問題も修正されています)。
サンドボックスのファイルシステム設定
{
"sandbox": {
"enabled": true,
"filesystem": {
"allowWrite": [
"/tmp",
"/home/user/projects"
]
}
}
}注意: v2.1.78以前はallowWriteに絶対パスを指定する際に//プレフィックスが必要でしたが、この問題も修正され通常の絶対パスが使用できます。
セキュリティ上の重要事項
- サンドボックスが意図通りに機能しているか定期的に
/sandboxで確認してください - 起動時の警告を無視しないでください。サンドボックスが無効の状態では、Claude Codeがシステムファイルへの完全なアクセス権を持ちます
- CI/CD環境やautomatedなワークフローでは、サンドボックスの状態を明示的にチェックするスクリプトを追加することを検討してください
# サンドボックスが有効かチェックするスクリプト例
if ! which bwrap &>/dev/null; then
echo "ERROR: bubblewrapがインストールされていません。サンドボックスが無効になります。"
exit 1
fi注意点
- この修正以前のバージョンでは、依存関係不足によるサンドボックス無効化が検知できませんでした。使用中のバージョンを確認し、v2.1.78以降に更新することを強く推奨します
bypassPermissionsモードでは、.git、.claudeなどの保護ディレクトリへの書き込み時に確認プロンプトが表示されるようになりました(関連バグ修正)