AIアプリケーションが単なる質問応答型の言語モデルから、コマンドの実行、パッケージのインストール、ファイルの読み取りといった実務をこなす「エージェント(Agents)」へと進化するにつれ、新たなセキュリティ上の課題が浮上しています。多くの場合、インターネットから取得したデータに基づいて動作するこれらのエージェントは、機密データへのアクセス権を持つ「信頼できないコード(Untrusted Code)」と見なされるため、厳密に隔離しない限り、本番環境での実行は大きなリスクを伴います。
OpenShellプロジェクトとは何か?
OpenShellは、CNCFのサンドボックスプロジェクトであり、NVIDIAによって開始されました。これは、エージェントのための隔離された実行環境(Runtime)を提供するソリューションです。このプロジェクトは、隔離環境の外部で動作する信頼された「スーパーバイザー(Supervisor)」という概念に基づいており、YAMLファイルを通じて事前に定義されたポリシーに従って、エージェントが何にアクセスできるかを決定します。OpenShellは、4つの基本的な制御レベルを提供します。
- ファイルシステム(Filesystem): Landlock技術を使用して、エージェントが読み書き可能なパスを制限し、機密性の高いシステムファイルへのアクセスを防止します。
- プロセス(Process): エージェントは非ルート(Non-root)ユーザーとして実行され、システムコールを制限するためにseccompプロトコルが適用されます。
- ネットワーク(Network): 外部トラフィックはデフォルトでブロックされますが、実行ファイル名、ホスト、ポート、さらにはHTTPリクエストメソッドを含む詳細なルールに基づいて許可を設定することが可能です。
- 機密データ(Credentials): エージェントは実際のAPIキーを直接見ることはなく、「プレースホルダー(Placeholders)」のみを認識します。スーパーバイザーは、必要な場合にのみ、許可されたエンティティに対して実際のキーに置き換えます。
Kubernetesとの統合と高度な機能
Kubernetesのアーキテクチャを回避しようとする他のソリューションとは異なり、OpenShellはSIG AppsのAgent Sandboxプロジェクトに基づいています。エージェントは、Pods、Services、Secretsといった馴染みのあるKubernetesオブジェクトとしてシステム上に表示されます。ここでの重要な利点は、OpenShellがレイヤー7(L7)レベルの可視性を提供できることです。従来のネットワークポリシー(NetworkPolicy)ではPodが特定のサイトにアクセスすることを許可するだけですが、OpenShellでは、例えばcurlコマンドがGitHubからデータを読み取ることは許可しつつ、新しいIssueを作成(POST)することは禁止するといった制御が可能です。
技術比較:OpenShell対Agent Substrate
CNCFのもう一つのプロジェクトであるAgent Substrateが注目されていますが、両者の根本的な違いは設計思想にあります。
- OpenShell: セキュリティと詳細な制御に重点を置いています。本番システムへのアクセスが必要で、リクエストごとの厳格なポリシー(Per-request policy)を必要とするエージェントに最適です。
- Agent Substrate: スケーラビリティとコスト削減に重点を置いています。エージェントごとにPodを割り当てるのではなく、アイドル状態のエージェントを一時停止(Suspending)させることで、高密度かつ低コストが求められるモデルに適しています。
技術的な予測としては、OpenShellが制御ポリシーを提供し、Substrateが隔離とスケーリングの効率性を提供するという、両プロジェクトの将来的な統合の可能性が示唆されています。
なぜこの進化がプラットフォームエンジニアにとって重要なのか?
OpenShellは、AIの柔軟性とクラウドコンピューティングのセキュリティの厳格さの間に必要な架け橋となります。Kubernetesの管理者にとって、従来のコンテナを隔離するだけでは不十分であり、コンテナ内の「インテリジェントエージェント」の動作を制御することが不可欠になっています。Kyvernoのようなツールと統合することで、エンジニアは承認制御(Admission Control)を強制し、エージェントが信頼された特定のイメージでのみ動作することを保証できます。また、処理リソースやメモリに制限を設けることで、AIエージェントがセキュリティ上の脅威になったり、クラスターリソースを過剰に消費したりすることを防ぐことができます。