自律型AIエージェントの能力が向上するにつれ、それらを実用的に活用するためには、ローカルファイルシステムとのやり取り、ソフトウェアのインストール管理、外部APIへの認証といった、より広範な権限が必要となります。しかし、これらの機能を提供することは、エージェントが機密データを外部に流出させたり、許可されていないシステムコールを実行したりする可能性があり、重大なセキュリティリスクを生じさせることがよくあります。NVIDIAのOpenShellは、エージェントが厳格に定義された境界内で動作する「安全でプライベートなランタイム」を提供することでこの問題に対処します。OpenShellは広範な権限を付与する代わりに、開発者が各エージェントが操作できる内容について特定のポリシーを宣言できるようにし、システムはそのルールをカーネルレベルで強制します。
この画像は、AIエージェントが厳格に定義された境界内で動作するための「安全でプライベートなランタイム」を提供するOpenShellプロジェクトを紹介しています。
OpenShellのアーキテクチャは、セキュリティを確保するために主に2つのメカニズムに依存しています。第一に、すべてのファイルアクセス、システムコール、およびネットワーク接続を監視するためにカーネルレベルの強制力を利用します。これにより、エージェントの行動が指定されたサンドボックス内に限定されることが保証されます。例えば、ネットワーク接続はインターセプトされ、サンドボックスを離れる前にポリシーに照らしてチェックされます。第二に、OpenShellはポリシー変更を管理するために形式的検証(formal verification)を取り入れています。新しいアクセスルールが承認される前に、システムは形式的検証を用いて、既存の資格情報を使用してエージェントに新しいホストへのアクセス権を与えるといったリスクの高い権限をフラグ立てします。これにより、エージェントの能力における潜在的に危険な拡張について、人間によるレビューが可能になります。

OpenShellのアーキテクチャは、エージェントの行動が指定されたサンドボックス内に限定されることを保証するために、カーネルレベルの強制と形式的検証に依存しています。
OpenShellはエージェントフリートを管理するための堅牢なフレームワークを提供しますが、エージェントの自律性に関して特定のトレードオフをもたらします。このランタイムは「デフォルト拒否(deny-by-default)」の姿勢を強制するため、人間がポリシーの更新を承認するまで、エージェントが必要なアクションを実行できなくなる場合があります。これはセキュリティとユーザビリティのバランスを生み出します。エージェントは特定のリソースにアクセスできるためより有能になりますが、その「自由」はあらかじめ定義されたポリシーによって厳格に統制されます。さらに、このシステムは不正アクセスを防ぎますが、エージェントが技術的に「許可された」ものの論理的に悪意のある行動を実行するように操作される「プロンプトインジェクション」の問題を本質的に解決するものではありません。ユーザーは、エージェントに付与される権限がタスクを遂行するのに十分であり、かつリスクを最小限に抑えるために十分に限定的であるように、依然として慎重にポリシーを設計する必要があります。

ランタイムは「デフォルト拒否」の姿勢を強制するため、人間がポリシーの更新を承認するまで、エージェントが必要なアクションを実行できなくなる場合があります。