サイバー検証プログラムのお客様向けに、APIの新しいサンドボックス脱出分類器を提供しており、望ましくない動作を監視・削減できます。この記事では、利用可能なガイダンスの概要と各リソースへのリンクを提供します。
この分類器はプライベートベータ版です。
本ガイダンスは情報提供のみを目的として現状のまま提供されます。推奨事項であり、要件ではありません。これらのプラクティスはリスクを軽減しますが、すべての範囲外のアクションを防ぐことはできません。お客様は、ご自身の環境に適した制御を選択、テスト、運用する責任があります。
ベストプラクティスの概要
すべての自律型エージェントをハードウェア仮想化サンドボックス内で実行してください。参照設計では、エージェントごとに1つのマイクロVM(Kata ContainersとFirecracker)を内部ネットワーク上で使用します(サンドボックス化を参照)。
人間がすべてのアクションを承認するか、Claude Codeの自動モードでエージェントを監視する対話的な使用は、リスクが低いですが、サンドボックスの使用をお勧めします。自動モード単独は最善努力チェックであり、サンドボックス化の代替ではありません。サンドボックスなしで対話的なファイルのみの作業を実行する場合は、すべての書き込みを確認し、エージェントが作成したものは読んでから実行してください。
認証情報を含むパスをエージェントの環境にマウントしないでください。モデル-API認証情報もエージェントの環境から除外してください。別のプロキシがエージェントのAPI要求に認証情報を追加するようにしてください(サンドボックス化の認証情報プロキシセクションを参照)。
Claude Codeエージェントをサンドボックス内の追加チェックとして自動許可モードで実行してください(自動モードを参照)。その分類器は正当なセキュリティ作業の一部を拒否する可能性があります。その記事では、何を期待するか、およびそれをチューニングする方法について説明しています。
エージェントのトランスクリプトとプロキシログを少なくとも30日間保持し、実行中および実行後に確認し(エージェントトランスクリプトのオフライン監視を参照)、エージェントが範囲外で動作する場合はAnthropicアカウントチームに通知してください。
記事の概要
ガイダンスは5つの領域をカバーしています:
サンドボックス化。自律型エージェントが強力な分離を必要とする理由、参照設計がそれらをどのように分離するか、およびネットワークアクセスが必要なエンゲージメントをどのようにスコープおよび監視するか。
エージェント権限:自動モード。エージェントが権限分類器の下で実行される理由、それが何に依存でき、何に依存できないか、および分類器に何を伝えるか。
プロンプトインジェクション。ターゲットからのテキストがエージェントをどのように操作できるか、およびその影響を制限する方法。
エージェントトランスクリプトのオフライン監視。エージェントトランスクリプトとプロキシログで何を探すか、それをどのように行うか、およびそれらをどのくらい保持するか。
オンライン監視:APIレスポンスのサンドボックス脱出スコア。Messages APIに対して直接実行するエージェント向け:サンドボックス脱出分類器からのリクエストごとのスコア、それをリクエストする方法、およびそれを読む方法。
このガイダンスがベストプラクティスにどのようにマップされるか
ベストプラクティス | カバーされている場所 | 実行内容 |
サンドボックスとネットワーク分離 | 各エージェントを強化されたホストを備えた独自のVMで実行し、デフォルトでエグレスを拒否し、モデル-API認証情報をサンドボックス外のプロキシに保持してください。 | |
エンゲージメント前の検証 | 構成を確認し、新しいホストごと、サンドボックスの変更後、および新しいモデルごとに監視下での脱出テストを実行してください。ターゲットがビルドされ、エージェントが必要なツールを持っていることを確認してください。 | |
トランスクリプト保持とレビュー | すべてのエージェントステージのトランスクリプトを作成し、スケジュールに従ってトランスクリプトをスキャンし、スキャンがフラグを立てたものを読み、トランスクリプトとログを少なくとも30日間保持してください。 | |
サンドボックス脱出分類器 | Messages APIに対して直接実行するエージェントからスコアをリクエストし、それを使用して最初に読むトランスクリプトを決定してください。Claude Code内で実行するエージェント、またはAmazon BedrockやGoogle CloudのAgent Platform(Vertex AI)では利用できません。 | |
自動モード | Claude Codeエージェントを自動モードで実行し、ご自身の環境を分類器に説明してください。 | |
ネットワークスコーピング | 範囲内のターゲットのみをホワイトリストに登録し、ステージング環境またはレプリカ環境を優先してください。 | |
明示的なスコープ設定 | 各エージェントに与える指示でスコープを述べてください。 | |
仲介ツール使用 | エージェントとターゲットの間に観察可能なプロキシまたはツールを配置してください。 | |
人間による監視 | ネットワークアクセスを持つ実行を監視し、すべてのエージェントのターン数と実行時間を制限し、エージェントを停止する方法を知ってください。 | |
高リスクターゲット | 自律型エージェントを、障害が安全性または重要なサービスを危険にさらす可能性のあるライブシステムに向けないでください。 |
どのチェックが適用されるかは、エージェントの実行方法によって異なります:
エージェントが実行される場合 | 自動モード | APIスコア | トランスクリプトレビュー |
Claude Code内 | はい | いいえ。Claude Codeはスコアを表示しません | はい |
Messages APIに対して直接 | いいえ。自動モードはClaude Code機能です | はい、ファーストパーティClaude API上で | はい |
このガイダンスの監視(トランスクリプトレビューとAPIスコア)は、サンドボックスを離れたり、ネットワークアクセスを拡大したりする試みを探します。サンドボックス内に留まるが、到達が許可されているホスト上のエンゲージメントを超えるエージェントは検出しません。
プロンプトインジェクションはベストプラクティスの1つではありませんが、エージェントが組織外の誰かが作成したコンテンツを読むときはいつでも重要です。
範囲外の動作の報告
エージェントがサンドボックスまたはネットワーク分離をプローブしたり、エンゲージメント外で動作したりする場合は、独自のインシデントプロセスが要求するものに加えて、Anthropicアカウントチームに通知してください。ヒット時の対応では、エージェントを停止する方法と最初に収集する内容について説明しています。