Skip to content

Overview of NVIDIA OpenShell

NVIDIA OpenShell 是一個開源執行時間環境,用於在沙盒環境中執行自主 AI 代理,並提供核心級隔離。它結合了沙盒運行時控制和聲明式 YAML 策略,使團隊能夠在不授予代理程式對本機檔案、憑證和外部網路無限制存取權限的情況下運行代理程式。

Why OpenShell Exists

AI 代理程式在能夠讀取檔案、安裝軟體包、呼叫 API 和使用憑證時最為有用。然而,同樣的存取權限也可能帶來重大風險。 OpenShell 的設計初衷正是為了解決這種權衡:既保留代理的功能,又對代理程式的存取權限進行明確的控制。

Common Risks and Controls

下表總結了常見的失效模式以及 OpenShell 如何緩解這些失效模式。

威脅 無控制措施 使用 OpenShell
資料外洩 代理程式將原始程式碼或內部檔案上傳到未經授權的端點。 網路策略僅允許存取已批准的目標;其他出站流量將被拒絕。
憑證竊取 代理程式讀取本機金鑰,例如 SSH 金鑰或雲端憑證。 檔案系統限制(Landlock)將存取權限限制在已聲明的路徑。
未經授權的 API 使用 代理程式向未經批准的模型提供程序發送提示或資料。 隱私路由和網路策略控制推理流量的流向。
權限提升 代理程式嘗試使用 sudo, setuid 路徑或執行危險的系統呼叫行為。 非特權程序身分和 seccomp 限制阻止了權限提昇路徑。

Protection Layers at a Glance

OpenShell 在以下策略領域應用縱深防禦。

管控層 保護對象 適用範圍
檔案系統 防止在允許路徑之外進行讀寫操作。 沙箱創建時鎖定。
網路 阻止未經授權的出站連線。 運轉時可熱重載。
行程 阻止權限提升和危險的系統呼叫。 沙箱創建時鎖定。
模型推論 將模型 API 呼叫重定向到受控後端。 運轉時可熱重載。

Common Use Cases

OpenShell 支援多種代理部署模式。

使用場景 描述
安全編碼代理 運行 Claude Code, OpenCode 或 OpenClaw,並限製檔案和網路存取權限。
企業私有開發 將模型推論路由到自託管或私有後端,同時將敏感上下文置於您的控制之下。
合規性和審計 將策略 YAML 視為可審查和稽核的版本控制安全控制措施。
可重複使用環境 使用社區沙箱鏡像或自備容器化運行時環境。