• #claude-code
  • #security
  • #sandbox
  • #anthropic
  • #ai-agents

許可プロンプトを超えて:Claude Codeをより安全かつ自律的にする

!note Claude Codeユーザーへの適用可能性評価

機能CLI対応備考
サンドボックスBashツール対応/sandboxコマンドで有効化可能
ファイルシステム分離対応作業ディレクトリのみアクセス可能に制限
ネットワーク分離対応許可されたドメインのみ接続可能
プロキシサーバー設定対応カスタマイズ可能
Web版Claude Code非対応claude.com/codeでのみ利用可能
Git認証の分離非対応Web版専用機能
Linux bubblewrap対応Linux環境のみ
macOS seatbelt対応macOS環境のみ
Windows対応未確認記事では言及なし

公開日: 2025年10月20日

Claude Codeの新しいサンドボックス機能(bashツールとWeb版Claude Code)は、許可プロンプトを削減し、ファイルシステムとネットワークの分離という2つの境界を有効にすることでユーザーの安全性を向上させます。

Claude Codeは、AIが開発者と一緒にコードを書き、テストし、デバッグすることを可能にします。このシステムはコードベースをナビゲートし、複数のファイルを編集し、コマンドを実行します。Claudeにこのアクセス権を与えることには、特にプロンプトインジェクション攻撃に関するリスクが伴います。

サンドボックスに基づいて構築された2つの新機能が導入され、開発者により安全な環境を提供しながらClaudeがより少ない許可プロンプトでより自律的に動作できるようになりました。「社内での使用では、サンドボックスにより許可プロンプトが84%安全に削減されることがわかりました。」

Claude Codeでユーザーを安全に保つ

Claude Codeは許可ベースのモデルで動作します。デフォルトでは読み取り専用であり、変更を加えたりコマンドを実行したりする前に許可を求めます。echocatのような安全なコマンドは自動承認されますが、ほとんどの操作には明示的な承認が必要です。

繰り返しアクションを承認することで「承認疲れ」が発生し、ユーザーが承認している内容を注意深く確認しなくなり、開発の安全性が低下する可能性があります。

サンドボックス:より安全で自律的なアプローチ

「サンドボックスは、各アクションの許可を求める代わりに、Claudeがより自由に作業できる事前定義された境界を作成します。」

サンドボックスアプローチは、オペレーティングシステムレベルの機能を使用して2つの境界を有効にします:

1. ファイルシステム分離

Claudeは特定のディレクトリにのみアクセスまたは変更できます。これにより、プロンプトインジェクションされたClaudeが機密性の高いシステムファイルを変更することを防ぎます。

2. ネットワーク分離

Claudeは承認されたサーバーにのみ接続できます。これにより、プロンプトインジェクションされたClaudeが機密情報を漏洩したり、マルウェアをダウンロードしたりすることを防ぎます。

効果的なサンドボックスには両方の分離タイプが必要です。ネットワーク分離がなければ、侵害されたエージェントはSSHキーなどの機密ファイルを外部に流出させる可能性があります。ファイルシステム分離がなければ、侵害されたエージェントはサンドボックスを脱出してネットワークアクセスを取得する可能性があります。

Claude Codeの2つの新しいサンドボックス機能

サンドボックスBashツール

新しいサンドボックスランタイムがベータ版として研究プレビューで利用可能です。ユーザーはコンテナを管理せずに、エージェントがアクセスできるディレクトリとネットワークホストを定義できます。「これは任意のプロセス、エージェント、MCPサーバーをサンドボックス化するために使用できます。」

この機能はGitHubでオープンソースの研究プレビューとして公開されています。

Claude Code内では、bashツールは定義された制限内で実行されます。Claudeは許可プロンプトなしでコマンドを安全に実行します。Claudeがサンドボックス外の何かにアクセスしようとすると、ユーザーはすぐに通知され、許可するかどうかを選択できます。

実装はLinux bubblewrapやmacOS seatbeltを含むOSレベルのプリミティブを使用して、オペレーティングシステムレベルで制限を適用します。これらはClaude Codeの直接的なやり取りだけでなく、コマンドによって生成されたスクリプト、プログラム、サブプロセスもカバーします。

ファイルシステム分離の実装

読み取りと書き込みアクセスは現在の作業ディレクトリのみに許可されます。このディレクトリ外でのファイル変更はブロックされます。

ネットワーク分離の実装

インターネットアクセスは、サンドボックス外で実行されているプロキシサーバーに接続されたUnixドメインソケットを通じてのみ流れます。「このプロキシサーバーは、プロセスが接続できるドメインに制限を適用し、新しく要求されたドメインに対するユーザー確認を処理します。」

プロキシはカスタマイズ可能で、セキュリティ強化のために送信トラフィックに任意のルールを適用できます。

両方のコンポーネントは設定可能で、ユーザーは特定のファイルパスやドメインを簡単に許可または禁止できます。

主要なセキュリティ上の利点

「サンドボックスにより、成功したプロンプトインジェクションでさえ完全に分離され、全体的なユーザーセキュリティに影響を与えることができません。このように、侵害されたClaude CodeはSSHキーを盗んだり、攻撃者のサーバーに情報を送信したりすることができません。」

ユーザーはClaude Codeで/sandboxを実行することでこの機能にアクセスできます。

Web版Claude Code

「Web版Claude Code」により、ユーザーはクラウド内の分離されたサンドボックスでClaude Codeを実行できます。各Claude Codeセッションは、安全な方法でフルサーバーアクセスを持つ分離されたサンドボックスで実行されます。

機密認証情報(git認証情報、署名キー)はClaude Codeと共にサンドボックス外に保持されます。サンドボックス内で実行されるコードが侵害されても、ユーザーはさらなる被害から保護されます。

Git統合のセキュリティ

Web版Claude Codeは、すべてのgitインタラクションを透過的に処理するカスタムプロキシサービスを使用します。サンドボックス内では、gitクライアントはカスタム構築されたスコープ付き認証情報を使用して認証します。「プロキシはこの認証情報とgitインタラクションの内容(例:設定されたブランチへのプッシュのみを確認)を検証し、GitHubにリクエストを送信する前に適切な認証トークンを添付します。」

始め方

サンドボックスbashツールとWeb版Claude Codeは、Claudeを使用する開発者に大幅なセキュリティと生産性の向上を提供します。

始めるためのステップ:

  1. Claude Codeで/sandboxを実行し、サンドボックス設定に関するドキュメントを参照してください。
  2. claude.com/codeにアクセスして、Web版Claude Codeを試してください。
  3. カスタムエージェントを構築している開発者は、GitHubでオープンソース化されたサンドボックスコードを確認し、統合を検討してください。

Web版Claude Codeの詳細情報はローンチブログ記事で確認できます。

謝辞

本記事はDavid DworkenとOliver Weller-Daviesによって執筆され、Meaghan Choi、Catherine Wu、Molly Vorwerck、Alex Isken、Kier Bradwell、Kevin Garciaの貢献を受けています。


出典: Anthropic Engineering Blog