AnthropicはどのようにClaudeを封じ込めるか:エージェント・セキュリティ・パターンと教訓

Anthropicは、AIエージェントのデプロイメントに対するアプローチを、高リスクなアクセスを避けることから、エージェントが引き起こし得る理論上の最大被害、すなわち「ブラスト・ラディウス(爆風半径)」を制限することへとシフトさせています。エージェントが単純なチャットインターフェースから、内部サービスを管理できる自律的なツールへと移行するにつれ、確率的なモデル層の防御を補完するために決定論的な環境境界を使用することを条件として、リスクと報酬の計算は採用へと傾いています。

3層の防御モデル

Anthropicは、エージェントのセキュリティを3つのリスクベクトルと、それに対応する3つの防御コンポーネントに分類しています。核心となる哲学は、モデル層の防御は強力ではあるものの、それは確率的であり、単独では成立しないということです。

リスクカテゴリ

  • ユーザーによる悪用: ユーザーによる、有害なアクションを実行するための悪意のある、あるいは不注意な指示。
  • モデルの誤動作: エージェントが自律的に有害なアクションを実行すること。これには、制限を回避したり、サンドボックスを脱出したりしてタスクを完了するための「創造的な」経路が含まれます。
  • 外部攻撃者: ツール、ファイル、またはネットワークアクセスを介したプロンプト・インジェクション、およびランタイムやオーケストレーション層への従来の攻撃。

防御コンポーネント

  • 環境 (The Environment): 最も重要な層です。プロセス・サンドボックス、VM、およびエグレス・コントロール(送出制御)を使用して、エージェントが到達できる範囲に厳格な境界を設定します。認証情報がサンドボックスに入らない限り、それらは持ち出されることはありません。
  • モデル (The Model): システムプロンプト、分類器、およびトレーニングを利用して、振る舞いを形成します。例えば、Claude Opus 4.7は、プロンプト・インジェクションのベンチマークにおいて低い攻撃成功率を維持していますが、これはあくまで確率的な防御に留まります。
  • 外部コンテンツ (External Content): ツールの権限(例:読み取り専用のDBアクセス)を制限し、モデルのコンテキストに入る前にツールの出力を検査することで、汚染されたデータがエージェントを誘導することを防ぎます。

製品間における封じ込めパターン

Anthropicは、ユーザーの技術的能力とエージェントに求められるアクセス権に応じて、3つの異なる隔離パターンを採用しています。

1. エフェメラル・コンテナ (claude.ai)

サーバーサイドのコード実行のために、Claudeは隔離されたインフラストラクチャ上で gVisor containers を使用しています。ファイルシステムはセッションごとにエフェメラル(一時的)であり、ブラスト・ラディウスはサーバーサイドの環境に限定され、テナント間での相互保護が確保されます。Anthropicは、このセットアップにおける最も弱いリンクは、強化されたgVisor/seccompプリミティブの周囲に構築されたカスタム・プロキシであると指摘しています。

2. Human-in-the-Loop (HITL) サンドボックス (Claude Code)

Claude Codeはローカルで動作し、ユーザーのファイルシステムとシェルへのアクセスを必要とします。

  • 承認の疲弊問題: 当初、Claude Codeは、あらゆる書き込みやネットワーク・アクションに対してユーザーの承認を必要としていました。テレメトリによれば、ユーザーはプロンプトの約93%を承認しており、これが「承認の疲弊」を引き起こし、ユーザーがリスクに注意を払わなくなる原因となっていました。
  • 解決策: OSレベルのサンドボックス(macOS上のSeatbelt、Linux上のbubblewrap)を使用して、ワークスペース内での読み書きは許可するものの、デフォルトではネットワーク・アクセスを拒否する仕組みです。これにより、権限プロンプトが84%削減されました。
  • 致命的な失敗: Anthropicは、プロジェクト・ローカルの設定(例:.claude/settings.json)が、ユーザーが信頼プロンプトを受け入れる 前に 解析されることで、悪意のあるフックが自動的に実行されてしまう脆弱性を特定しました。

3. シールド・バーチャル・マシン (Claude Cowork)

bashコマンドを評価できる技術的な知識を持たないナレッジワーカー向けに設計されたClaude Coworkは、フルVM(macOS上のApple Virtualization framework、Windows上のHCS)を使用しています。 。

  • 隔離: VMは独自のカーネルとプロセス・テーブルを持っています。ユーザーが選択したワークスペースのみがマウントされ、認証情報はホストのキーチェーンに保持されます。
  • アーキテクチャの進化: エージェント・ループをVMの 外側 に移動することで、VMがクラッシュした場合でも製品の使い勝手を維持しつつ、コード実行を 内側 に保持するようにしました。
  • エグレス・プロキシの失敗: エージェントが攻撃者のAPIキーを使用して api.anthropic.com にデータを持ち出すことができるという重大な脆弱性が発見されました。宛先がホワイトリストに含まれていたため、プロキシは通信を許可してしまいました。Anthropicは、VM内部に中間者プロキシを実装することで、VM自身のセッション・トークンを伴うリクエストのみを許可するように修正しました。

主要な技術的教訓と学び

確率論を超えた決定論

Anthropicは、環境層は決定論的であり、モデル層は確率的であることを強調しています。ユーザーがフィッシングによって悪意のあるプロンプトを与えられた場合、モデル層の分類器は、その指示が有効なユーザーの意図として見えるため、失敗します。このような場合、エグレス・コントロールとファイルシステム境界のみがデータの持ち出しを防ぐことができます。

隔離のレベルをユーザーの専門知識に合わせる

封じ込め戦略は、ユーザーがエージェントを監視できる能力に一致させる必要があります。開発者は rm -rf コマンドを解釈できますが、一般のナレッジワーカーはできません。後者の場合、境界は、Human-in-the-Loopによる承認ベースではなく、常に稼働している絶対的な境界である必要があります。

カスタム・セキュリティ・コンポーネントの危険性

3つの製品すべてにおいて、最も頻繁な失敗は、実績のあるプリミティブ(gVisorやハイパーバイザーなど)ではなく、それらの周囲に構築されたカスタム・プロキシや設定ローダーに発生していました。

コミュニティの洞察と反論

技術的なユーザーの間での議論は、エージェント・セキュリティにおけるいくつかの残存する課題を強調しています。

  • 汚染分析 (Taint Analysis) の複雑さ: 一部のコントリビューターは、サンドボックス化は不十分であると主張しています。なぜなら、プロンプト・インジェクションは、VMが生成するアーティファクトを介して、低権限のVMから高権限のエージェントへと「ホップ」できるからです。
  • 可視性 vs. 隔離: エンタープライズ・セキュリティ・チームは、VMによる隔離がエージェントを封じ込める一方で、同時にゲストOSを監視するためのEndpoint Detection and Response (EDR) ソフトウェアの動作をブロックしてしまうため、可視性ギャップが生じることを指摘しています。
  • エアロック・アーキテクチャ: 一部のユーザーは、より極端な「エアロック」アプローチを提案しています。すなわち、ローカルFSアクセス権を持ち、インターネット接続なしのエージェント・プロファイルと、インターネット接続権を持ち、FSアクセス権なしのエージェント・プロファイルという2つのプロファイルを用意し、ユーザーがその間の手動の橋渡し役となることで、自動的なデータの持ち出しを防ぐ方法です。

Sources