AI

NVIDIA OpenShell:自主 AI 代理的安全私有執行環境

OpenShell 是 NVIDIA 推出的開源沙盒執行環境,用於 AI 代理,透過宣告式 YAML 政策控制檔案系統、網路、行程和推論安全。

Keeping this site alive takes effort — your support means everything.
無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分! 無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分!
NVIDIA OpenShell:自主 AI 代理的安全私有執行環境

自主 AI 代理功能強大,但也伴隨著顯著的風險。具有 shell 存取權限的代理可能會意外刪除檔案、發送非預期的網路請求或洩露敏感資料。傳統的容器化技術(Docker、gVisor)並非為 AI 應用程式所需的細粒度、代理專屬安全政策而設計。NVIDIA OpenShell 以一個專為 AI 代理打造的沙盒執行環境來填補這一空白。

OpenShell 發佈於 github.com/NVIDIA/OpenShell,是 NVIDIA 針對代理安全性的開源解答。它提供了一個隔離的執行環境,代理在其中根據宣告式 YAML 政策運作,這些政策精確地控制檔案系統存取、網路通訊、行程執行和推論呼叫。該沙盒以獨立行程方式運行,擁有最小權限,並透過 Linux 安全模組在核心層級執行政策。

OpenShell 與通用沙盒的不同之處在於其 AI 感知設計。它能理解代理專屬的操作,如模型推論呼叫、工具調用和上下文視窗邊界。政策可以設定為允許代理讀取專案目錄但禁止寫入,或允許呼叫特定 API 端點但阻擋所有其他網路流量。這種細粒度對於代理處理敏感資料的生產部署至關重要。

什麼是 NVIDIA OpenShell?

OpenShell 是一個為 AI 代理設計的開源沙盒執行環境。它透過宣告式 YAML 政策提供安全隔離,控制檔案系統、網路、行程和推論操作。由 NVIDIA 開發,其設計與代理無關——相容於 Claude Code、LangChain 代理、AutoGPT 和自訂代理實作。

OpenShell 的沙盒是如何運作的?

OpenShell 使用 Linux 核心安全功能來強制執行代理隔離。

安全領域控制項目執行方式
檔案系統每個路徑的讀/寫/執行Linux seccomp + Landlock
網路按主機名稱、連接埠、協定允許/封鎖eBPF + nftables
行程限制 fork/exec、訊號功能Linux seccomp-bpf
推論按模型端點允許/封鎖應用層攔截
環境遮蔽環境變數、機密行程層隔離
時間限制執行牆上時鐘時間行程 cgroup 配額

每個政策被編譯成一個在核心中運行的 seccomp 過濾器,使執行既快速又安全。

OpenShell 政策長什麼樣子?

政策使用 YAML 定義,語法清晰且宣告式:

name: "code-review-agent"
version: "1.0"

filesystem:
  read:
    paths: ["/home/user/projects", "/usr/share/doc"]
  write: []
  execute: []

network:
  allow:
    - hostname: "api.github.com"
      port: 443
      protocol: "tcp"
  deny:
    - hostname: "*"
      port: "*"
      protocol: "*"

process:
  max_forks: 10
  allowed_executables: ["/usr/bin/git", "/usr/bin/python3"]

inference:
  allowed_models:
    - "nvidia/nemotron-4-340b-instruct"
  max_tokens_per_call: 4096
  max_calls_per_session: 100

此政策將程式碼審查代理限制為僅讀取專案檔案、僅呼叫 GitHub API 和 NVIDIA 推論端點,以及僅執行 git 和 Python。

支援哪些 AI 代理?

OpenShell 設計為可與任何能以子行程方式啟動的 AI 代理搭配使用。

代理整合方式狀態
Claude Code在沙盒內啟動 CLI已支援
LangChain 代理Python SDK 整合已支援
AutoGPT在沙盒內啟動 CLI已支援
自訂 Python 代理OpenShell Python API原生支援
任何代理二進位檔oshell run 通用

oshell CLI 工具可在沙盒上下文中啟動任何指令:

# 在受限沙盒中啟動 Claude Code
oshell run --policy code-review.yaml -- claude code

# 啟動自訂代理
oshell run --policy data-analysis.yaml -- python agent.py

如何安裝 OpenShell?

安裝需要一個 Linux 系統,其核心支援所需的安全模組:

# 下載最新版本
curl -LO https://github.com/NVIDIA/OpenShell/releases/latest/download/oshell
chmod +x oshell
sudo mv oshell /usr/local/bin/

# 驗證安裝
oshell --version

Docker 映像檔也可用於非 Linux 開發環境,但完整的安全執行需要原生 Linux 核心功能。

OpenShell 使用什麼授權?

OpenShell 採用 Apache License 2.0 發佈,這是 NVIDIA 的標準開源授權。這允許在商業和非商業專案中自由使用、修改和分發,並享有 NVIDIA 的專利保護。

常見問題

什麼是 NVIDIA OpenShell?

OpenShell 是 NVIDIA 推出的開源 AI 代理沙盒執行環境,透過 Linux 核心功能強制執行安全政策。它透過宣告式 YAML 政策控制檔案系統、網路、行程和推論操作。

OpenShell 沙盒是如何運作的?

它使用 Linux seccomp、Landlock、eBPF 和 cgroups 在核心層級執行細粒度政策。每個政策被編譯成一個 seccomp 過濾器,以實現快速、安全的執行。

OpenShell 政策長什麼樣子?

政策以 YAML 定義,包含檔案系統(讀/寫/執行路徑)、網路(允許/封鎖主機名稱和連接埠)、行程(fork 限制和允許的可執行檔)以及推論(允許的模型和代幣限制)等部分。

支援哪些 AI 代理?

Claude Code、LangChain 代理、AutoGPT 以及任何能以子行程運行的自訂代理。oshell run 指令可將任何二進位檔或腳本包裝在沙盒上下文中。

如何安裝 OpenShell?

從 GitHub Releases 下載 oshell 二進位檔,設為可執行,並放置在 PATH 中。需要一個核心支援 seccomp、Landlock 和 eBPF 的 Linux 系統。

延伸閱讀

TAG