AI News HubLIVE
站内改写5 分で読了

AIエージェントに適したサンドボックスの選び方

AIエージェント向けの安全なサンドボックスの選び方について、ファイルシステムの分離、ネットワークアクセス、リソース制限、マイクロVMなどのガイダンスを提供します。

AIエージェントは行動を起こすことができるときに最も有用であり、コードを記述して実行させることは、エージェントに与えられる最高の価値の1つです。しかし、その自律性にはセキュリティリスクが伴います。エージェントが記述したコードはデータやシステムに予期しない脅威をもたらす可能性があるため、コードが実行される場所とアクセス可能なものを制御する必要があります。

サンドボックスはチームにその制御を提供します。AI生成コードを分離し、その権限を制限し、エージェントが実際の作業を安全に行うための境界を作成します。サンドボックスはエージェントが安全に使用できるコンピューターです。このガイドでは、AI生成コードを実行する際のセキュリティリスクと、データとシステムを保護しつつエージェントの有用性を制限しないサンドボックスアプローチの選び方について説明します。

エージェントの致命的な三要素

LLMはソフトウェアエンジニアリングに優れており、コード生成と実行はエージェントが価値を生み出す最良の方法の1つです。コード自体が出力になることもあれば、エージェントがソフトウェアエンジニアリング以外のタスクを達成するためのプログラムを作成することもあります。後者の一般的な例は、カスタムデータ分析のための使い捨てスクリプトの作成です。ただし、リスクとして、攻撃者はプロンプトインジェクションを使用してエージェントにデータやシステムを侵害するコードを書かせることができます。

現在、プロンプトインジェクションを確実に防ぐ方法はなく、信頼できないコンテンツがさまざまな方法でエージェントのコンテキストに到達する可能性があります。エンドユーザー入力、外部MCPサーバー応答、サードパーティ製スキルは一般的な例の一部です。人気のDjango Web Frameworkの共著者であり「プロンプトインジェクション」という用語の考案者であるSimon Willisonは、3つの条件すべてが真である場合にエージェントが攻撃者にデータを盗まれる可能性があることを示す「致命的な三要素」を概説しています。

  • 機密データへのアクセス
  • 信頼できないコンテンツへの露出
  • 外部通信能力

Willisonの研究に触発され、Metaは「2つのルール」を提案しました。これは、三要素のすべての条件が適用される場合、エージェントは完全に自律的に実行されるべきではないというものです。

2つのルールは理解しやすいですが、従うのは困難です。エージェントに必要なツールを提供することは、通常、機密データへのアクセスと外部通信能力の両方を与えることを意味します。ファンデーションモデルとハーネスエンジニアリングの進歩により、AIエージェントはますます多くのコンテキストを活用できるようになっていますが、それにより攻撃者がプロンプトインジェクション攻撃を送信する可能性が高まります。

おそらく、致命的な三要素はあなたのエージェントにも当てはまります。つまり、エージェントがデータに対して実行できるアクションを制限する安全策が必要です。これらの制御を成功裏に実装することは、最初に3つのリスク要因すべてを狭めることでずっと容易になります。そこでサンドボックスが役立ちます。

サンドボックスを使用してエージェントの明確な境界を設定する

安全なサンドボックスソリューションは、エージェントの致命的な三要素への露出を狭め、プロンプトインジェクション攻撃が成功した場合の害を制限するために、以下の機能を提供します。

  • 分離されたファイルシステム
  • 制限されたネットワークアクセス
  • リソース制限
  • 制御可能な再利用性
  • ホストマシンからのカーネルレベルの分離

市場には、これらの機能をすぐに提供しない「サンドボックス」を名乗る製品もあります。エージェント用に選択する前に、潜在的なソリューションを批判的に評価してください。たとえば、オープンソースのKubernetes Agent Sandboxは、コンテナ間にカーネルレベルの分離が適用されたクラスターにデプロイされた場合にのみ安全ですが、ほとんどのKubernetesクラスターはこれを強制しません。

分離されたファイルシステム:サンドボックスには、エージェントが作業に必要なデータのみを含め、他のデータへのアクセスをブロックする必要があります。これにより、機密データへの露出が最小限に抑えられ、監査と制御が容易になります。

制限されたネットワークアクセス:サンドボックスは、エージェントがインターネット経由でデータを送信できる外部エンドポイントを指定できるようにする必要があります。これにより、攻撃者がエージェントに機密データを漏洩させても、信頼できるエンティティにのみ送信できます。

リソース制限:サンドボックスは、エージェントが使用できるコンピューティングリソースとメモリ、およびその期間を制御できるようにする必要があります。侵害されたエージェントがシステムのリソースを過剰に消費できないようにします。

制御可能な再利用性:サンドボックスの再利用は、実行間でエージェントの状態を永続化する便利な方法ですが、攻撃者がサンドボックスを一度侵害すると、損害が持続する可能性があります。サンドボックスソリューションは、そのリスクを取る価値があるかどうかを判断できるようにする必要があります。

ホストマシンからのカーネルレベルの分離:上記の制御は、エージェントがそれらを強制するシステムを上書きできない場合にのみ機能します。残念ながら、オペレーティングシステムを動かすカーネルにはバグが含まれていることが多く、侵害されたエージェントがそれを悪用してマシンを制御し、データを保護する制御を回避する可能性があります。解決策は仮想化です。つまり、サンドボックスはマシンを動かすカーネルとは別の独自のカーネルを使用して実行されます。マイクロVMを利用したソリューションを使用すると、サンドボックスごとに完全な仮想マシンを起動するコストをかけずに、カーネル分離されたサンドボックスを効率的に作成できます。

上記のすべてを備えたサンドボックスソリューションがあっても、侵害されたエージェントがデータやシステムにもたらすリスクについて真剣に考える必要がなくなるわけではありません。サンドボックスだけでは、致命的な三要素のいずれの側面も完全に排除できません。代わりに、機密データへのアクセスを縮小し、外部通信を制限することで、プロンプトインジェクションリスクの管理がチームが自信を持って解決できる小さな問題になります。

LangSmithサンドボックス:エンドツーエンドのエージェントエンジニアリングプラットフォームと統合された安全なコード実行

当社は、オープンソース製品を補完するためにLangSmithエージェントエンジニアリングプラットフォームを開発し、LangChain、LangGraph、Deep Agentsで構築したエージェントを堅牢にテスト、デプロイ、監視できるようにしました。サンドボックスは安全なエージェントを構築する上で不可欠であるため、LangSmithにマネージドソリューションを組み込みました。上記のベストプラクティスに従って製品を設計し、厳格なペネトレーションテストを実施しました。LangSmithサンドボックスは、Monday.comなどのエンタープライズを含むあらゆる規模の企業で使用されています。

LangSmithサンドボックスはそれぞれ、専用のマイクロVMによってバックアップされ、独自のファイルシステムを持ち、相互および基盤となるインフラストラクチャからのカーネルレベルの分離を実現します。ライフサイクルを開始からシャットダウン、最終的な破棄まで制御し、途中で必要に応じて再利用できます。サンドボックス内で実行されるプロセスが取得するネットワークアクセス(ある場合)を決定します。また、サンドボックスを離れた後のアウトバウンドトラフィックに安全な認証情報を注入する認証プロキシも含まれています。これにより、信頼できないプロセスがアクセスして悪用する可能性のあるシークレットをサンドボックス内に配置する必要がありません。

LangSmithサンドボックスは、可観測性、評価、デプロイ機能で既に使用しているものと同じAPIと認証を使用して管理できます。LangChain、LangGraph、またはDeep Agentsで構築されたエージェントへのサンドボックスの追加は、わずか数行のコードで完了します。

LangSmithサンドボックスの利点

  • 現代のベストプラクティスに従ったセキュリティ保護
  • シークレットを信頼できないコードから分離する認証プロキシ
  • LangChainおよびLangSmithエコシステムとのシームレスな統合

エージェントを有用かつ安全に保つためにサンドボックスを使用する準備ができたら、こちらのドキュメントに従ってLangSmithサンドボックスを今すぐ使い始めることができます。