Google Cloudはマネージドな GKE Agent Sandbox サービスをリリースしました。一方で、オープンソースの kubernetes-sigs/agent-sandbox プロジェクトは、同じ機能をあらゆるKubernetesクラスターに提供します。どちらも、開発者にAIエージェント用の使い捨て可能なLinuxコンテナを提供し、それ以外のインフラには一切影響を与えません。

AI生成コードに「遊び場」が必要な理由

現代のAIエージェントは、単に質問に答えるだけではありません。スクリプトを書き、ウェブを閲覧し、シェルコマンドを実行し、さらにはウェブサービスを立ち上げることもあります。この強力な機能はセキュリティ上のギャップを生みます。生成されたコードにはバグがあったり、悪意があったり、あるいは過剰に攻撃的であったりする可能性があるからです。rm -rf / を実行したり、許可なく内部データベースに接続したりするエージェントは、システム全体を危険にさらす可能性があります。

サンドボックスは、各エージェントを独自のコンテナ(使い捨ての小さな仮想マシン)内に隔離します。エージェントが誤った動作をしても、被害はそのコンテナ内に留まり、ホストや他のワークロードの安全性は保たれます。新しいGKEの提供機能とコミュニティ主導のプロジェクトは、このアイデアをすぐに利用可能なサービスへと変貌させました。

サンドボックスを利用する2つの方法

  • GKE Agent Sandbox – Google Cloudの顧客向けのフルマネージドサービス。
  • kubernetes-sigs/agent-sandbox – あらゆるKubernetesクラスター向けのオープンソースプロジェクト。

どちらも標準的なKubernetesプリミティブに基づいて構築されており、同じコアアーキテクチャを共有しています。

システムの構成

コンポーネント 役割
Sandbox エージェントのコードを実行する隔離されたコンテナ。安定した名前を持ち、必要に応じて永続ストレージを利用できます。
SandboxTemplate コンテナイメージとセキュリティポリシーを定義する設計図。新しいサンドボックスを作成するための「レシピ」です。
SandboxClaim 特定のテンプレートからサンドボックスを立ち上げるために、エージェント(またはそのコントローラー)が発行するリクエスト。
SandboxWarmPool 即座に割り当てられる準備が整った、事前作成済みのサンドボックスのプール。コンテナを「ウォーム」な状態に保つことで、毎回イメージをプルして新しいPodを起動する際のレイテンシを回避します。

エージェントが環境を必要とすると、SandboxClaim を発行します。コントローラーはウォームプールを確認し、アイドル状態のサンドボックスを選択して、そのクレームに紐付けます。プールが空の場合は、テンプレートから新しいサンドボックスを作成します。そうでなければ、ミリ秒単位で割り当てが完了します。

調整可能なセキュリティ設定

  • デフォルト拒否(Default-deny)ネットワーク – デフォルトでは、サンドボックスは内部ネットワークにアクセスできません。アウトバウンドまたはインバウンドの接続を許可するには、明示的なルールを追加する必要があり、これにより内部サービスが誤って公開されるのを防ぎます。
  • 隔離レベル – リスク許容度に合わせてコンテナランタイムを選択できます:
    • 速度重視なら、標準的なコンテナ
    • 追加のユーザースペース隔離レイヤーが必要なら、gVisor
    • 軽量VMのように動作するハードウェア支援型の隔離が必要なら、Kata Containers
  • SDK – PythonおよびGoのクライアントライブラリを使用すると、開発者はプログラムによってサンドボックスの作成、取得、破棄を行うことができ、AI駆動のパイプラインのワークフローに適応できます。

メリットを受ける層と、懸念を示す可能性がある層

まとめ

AIエージェントに専用の使い捨てLinux環境を与えることは、AI駆動の自動化における最大の未知数、すなわち「生成されたコードがホストを破壊するリスク」を取り除くことにつながります。Google CloudのマネージドなGKE Agent Sandboxと、コミュニティ運営の kubernetes-sigs/agent-sandbox は、クラウドネイティブ環境とオンプレミス環境の両方において、その隔離を実用的なものにします。俊敏性とセキュリティのバランスを取る必要がある組織は、AI生成コードをサンドボックスという「遊び場」に留めておくための、具体的かつKubernetesネイティブなツールを手にすることになります。