テック技報最新号へ →
セキュリティ

AI エージェントを外側のポリシーで閉じ込める(NVIDIA OpenShell)

エージェント本体ではなく外側の Supervisor がファイル・通信・プロセス・認証情報を強制し、仮キーだけ渡して許可先への通信時に本物の鍵へ差し替える。

@MalwareBibleJP · 2026-10-10
#ai-agent#sandbox#openshell#least-privilege#credentials#landlock

何を解決するか / いつ使うか

仕組みと導入の要点

  1. OpenShell(Apache 2.0)でエージェントをサンドボックス起動する。制御面は Gateway、実行境界は各サンドボックス内の Supervisor。エージェントは制限付き子プロセスとして起動される。
  2. 静的制御(作成時に固定、変更はサンドボックス再作成):
    • ファイルシステム: Landlock などで宣言パス以外を遮断(読み取り専用/読み書きをポリシーで指定)。
    • プロセス: 権限ドロップ+seccomp で危険な syscall や昇格を抑制。
  3. 動的制御(稼働中に openshell policy update / policy set で更新可):
    • 外向き通信は Supervisor 経由のポリシープロキシのみ。HTTP / GraphQL / MCP などを検査し、同じ API でも読み取りのみ許可・書き込み拒否が可能。
    • ネットワークと推論プロバイダ向けルールはホットリロードできる。
  4. 認証情報の分離: エージェントには仮キーだけ渡し、ポリシーと認証紐付けの両方を満たす接続に限り Supervisor が外側で本物のキーへ置換する。許可外へ仮キーを送っても拒否され、キー自体に書き込み権限があっても読み取り専用ポリシーで書き込みを止められる(AI エージェントに資格情報を渡す 4 パターンと使い分け の「渡さない」寄り)。
  5. ポリシー検証: 形式論理で「与えた権限が管理者の意図範囲に収まるか」を証明し、範囲外の操作があれば具体例を出す。エージェント自身の説明では結果が変わらない設計。
  6. 人の承認: ポリシー提案を有効にするとエージェントは範囲を絞った権限変更を提案できるが、既定では人の審査待ちで、自分の要求は承認できない。
  7. 任意の追加層 Sentry(BlueField / DOCA)でホストから独立した監視も可能。OpenShell 本体は BlueField なしでもローカル/オンプレ/クラウド/Kubernetes で動くと説明されている。

既存のコーディングエージェントを作り直さずに載せられる点が実務向き。

注意点

  • 静的ポリシー(ファイル・プロセス)の変更はサンドボックス再作成が必要。運用フローに「ポリシー改訂=再作成」を織り込む。
  • BlueField 付きの Sentry はハードウェア依存。まずは OpenShell 単体の Supervisor 境界から始めるのが現実的。
  • どのサンドボックスでも「ポリシーに書いた範囲=漏えい・破壊の上限」。読み取り許可したパスやエンドポイントの見直しは必須。
  • 一次情報は NVIDIA のドキュメント/ブログを直接確認する(投稿は要約)。

出典

X の元の投稿を開く