Anthropic Claude Code サンドボックス化:セキュリティと自律性の向上

Anthropic は、Claude Code 向けのサンドボックス化機能を導入し、厳格で事前定義された運用境界を確立することで、開発者のセキュリティとエージェントの自律性を大幅に向上させ、ユーザーによる継続的な権限確認プロンプトの必要性を低減しました。

コードエージェントにおけるセキュリティと自律性の課題

Claude Code は開発者にエージェント体験を提供し、Claude がコードの記述、テスト、デバッグ、コードベースの操作、コマンド実行を行うことを可能にします。このレベルのアクセスには、特にプロンプトインジェクション攻撃に関する固有のリスクが伴います。

Claude Code は従来、権限ベースのモデルで動作し、デフォルトで読み取り専用となり、ほとんどの変更やコマンドにはユーザーの明示的な承認が必要です。この「承認」をクリックし続ける必要がある状況は「承認疲れ」を引き起こし、開発サイクルの安全性を損なう可能性があります。

サンドボックス化ソリューション

サンドボックス化は、Claude がより自由に動作できる事前定義された境界を作成することでこれらの課題に対処し、権限プロンプトの数を大幅に削減しながら、全体的なセキュリティを同時に向上させます。このアプローチにより、安全性を犠牲にすることなく、Claude をより自律的に実行できます。

効果的なサンドボックス化は、2 つの重要な分離境界を実装することに依存しています。

ファイルシステム分離

ファイルシステム分離により、Claude は承認された特定のディレクトリのみにアクセスまたは変更できるようになります。この境界は、プロンプトインジェクションされたエージェントが、指定されたワークスペース外の機密性の高いシステムファイルを変更するのを防ぐために重要です。

ネットワーク分離

ネットワーク分離により、Claude は承認されたサーバーにのみ接続できるようになります。これにより、侵害されたエージェントが機密情報を漏えいしたり、承認されていない外部ソースから悪意のあるソフトウェアをダウンロードしたりすることを防ぎます。

ファイルシステム分離とネットワーク分離は両方とも一緒に実装する必要があることに注意することが重要です。ネットワーク分離がないと、侵害されたエージェントが SSH キーなどの機密ファイルを外部に持ち出す可能性があり、ファイルシステム分離がないと、侵害されたエージェントがサンドボックスから脱出してネットワークアクセスを取得する可能性があります。

自律実行のためのサンドボックス化された Bash ツール

Anthropic は、新しいサンドボックスランタイムをベータ版のリサーチプレビューとして導入しました。これにより、ユーザーはフルコンテナを管理するオーバーヘッドなしに、エージェントがアクセスできるディレクトリとネットワークホストを正確に定義できます。このランタイムは、Claude Code 内の bash ツールをサンドボックス化するために使用されます。

このサンドボックス化された bash ツールにより、Claude は定義された制限内で自律的かつ安全にコマンドを実行できます。Claude が確立されたサンドボックス外のリソースにアクセスしようとすると、ユーザーは即座に通知され、アクションを許可するかどうかを選択する必要があります。

サンドボックス化された Bash ツールの技術的実装

この機能は、オペレーティングシステムレベルのプリミティブ、具体的には Linux の bubblewrap と MacOS の seatbelt に基づいて構築されており、OS レベルで制限を適用します。サンドボックスは 2 つの主要な制限を適用します。

  1. ファイルシステム分離: 現在の作業ディレクトリへの読み取りおよび書き込みアクセスを許可しますが、そのディレクトリ外のファイルの変更はブロックします。
  2. ネットワーク分離: インターネットアクセスを、外部プロキシサーバーに接続された Unix ドメインソケットに制限します。このプロキシはドメイン制限を適用し、新しく要求されたドメインに対するユーザー確認を処理します。プロキシは、送信トラフィックに任意のルールを適用するようにカスタマイズすることもできます。

ファイルパスとドメインはどちらもユーザーが設定可能です。

Web 上の Claude Code:安全なクラウド実行

Web 上の Claude Code を使用すると、ユーザーはクラウド内の分離されたサンドボックスで Claude Code セッションを実行できます。このアーキテクチャは、サンドボックス内で実行されているコードが侵害された場合でもユーザーを保護するように設計されています。

カスタムプロキシによる安全な Git 統合

バージョン管理ワークフロー中のセキュリティを維持するために、Claude Code on the web はすべての Git 操作にカスタムプロキシサービスを使用します。このプロキシサービスにより、署名キーや Git 資格情報などの機密性の高い資格情報が、Claude Code と一緒にサンドボックス内に保存されることはありません。

サンドボックス内の Git クライアントが認証するとき、このカスタムプロキシに接続します。プロキシは、リクエストを GitHub に送信する前にいくつかの検証手順を実行します。資格情報を検証し、Git 操作の内容を確認し(例えば、プッシュが設定されたブランチのみに行われることを確認)、最後に正しい認証トークンを添付します。

採用とオープンソースの利用可能性

Anthropic は、anthropic-experimental/sandbox-runtime GitHub リポジトリを通じてサンドボックス化技術をオープンソース化し、他のチームがこの技術を採用して自社のエージェントのセキュリティ体制を強化することを奨励しています。

開発者は、Claude Code で /sandbox を実行することで、サンドボックス化された bash ツールの使用を開始できます。さらに、ユーザーは Claude Code on the web にアクセスして、このツールのクラウドベース版を利用できます。

SUMMARY: Anthropic は、Claude Code 向けのサンドボックス化機能を導入し、事前定義された境界を定義することでセキュリティと自律性を向上させました。内部利用では、これにより権限プロンプトが 84% 安全に削減されることが示されています。

TITLE: Anthropic Claude Code サンドボックス化:セキュリティと自律性の向上

Sources