Nvidia Releases OpenShell for Secure AI Agent Runtime

Original title: Nvidia OpenShell
78AI Score

Nvidia has released OpenShell, an open-source project providing a secure and private runtime for autonomous AI agents. By leveraging kernel-level policy enforcement and formal verification, it enables agents to perform tasks like file access and API calls while strictly restricting their reach into sensitive data and networks.

Full Report

Contents6 sections
<picture> <source media="(prefers-color-scheme: dark)" srcset="docs/brand/assets/openshell-banner-dark.png"> <source media="(prefers-color-scheme: light)" srcset="docs/brand/assets/openshell-banner-light.png"> <img alt="OpenShell" src="docs/brand/assets/openshell-banner-light.png" width="430"> </picture>

[!IMPORTANT] OpenShell 0.1.x 新功能: 稳定的发布节奏、新的隔离原语、扩展的插件接口以及新 API。阅读 0.1.0 升级指南。

OpenShell 是专为自主 AI Agent 集群打造的安全、私有运行时环境。当 Agent 能够读取文件、安装软件包、调用 API 并使用凭证时,其价值最大。OpenShell 赋予它们这些能力,同时确保它们无法无限制地访问你的数据、密钥或网络。你只需在策略中声明每个 Agent 可以接触的内容,OpenShell 便会强制执行该策略。

工作原理

OpenShell 通过两种方式管控 Agent 的行为:它会对内核进行插桩,以在运行时强制执行针对每次文件访问、系统调用和网络连接的策略;同时利用形式化验证,在应用策略变更之前检查该变更将允许哪些操作。

  • 内核级强制实施。 每个 Agent 都在隔离的沙箱中运行。内核控制机制限制了它可以访问的文件和可以执行的系统调用,并且每个网络连接在离开沙箱之前都必须经过策略检查。Agent 永远看不到真实的凭证;OpenShell 仅会将凭证添加到发往已批准端点的请求中。
  • 经形式化验证的策略变更。 在策略变更被批准之前,OpenShell 会使用形式化验证来标记其可能授予的高风险新访问权限(例如使用凭证连接新主机或调用新的 API 方法),从而确保这些变更需等待人工审核。

有关网关(gateway)、监督器(supervisor)和沙箱(sandbox)如何协同工作,请参阅架构文档。

快速开始

你需要 Linux、搭载 Apple Silicon 芯片的 macOS,或带有 WSL 2 的 Windows(实验性支持),以及 Docker、Podman 或主机虚拟化技术。详细信息请参见支持矩阵。

SHELL
curl -LsSf https://raw.githubusercontent.com/NVIDIA/OpenShell/main/install.sh | sh
openshell sandbox create --name demo

安装程序会设置 CLI 和一个本地网关。默认的沙箱镜像是一个极简的 Ubuntu 系统,未预装任何 Agent。若要运行真实的 Agent,请遵循 运行你的第一个 Agent 指南:该指南演示了如何使用免费的 OpenRouter 模型运行 OpenCode,并展示了如何在 Agent 需要时批准新的访问权限。

进一步探索

  • 沙箱:镜像、运行时、GPU 和生命周期。
  • 策略:文件系统、网络和进程规则,以及用于审查变更的 顾问 和 证明器。
  • 提供商:仅在已批准的端点生效的凭证,包括 推理。
  • 网关:用于管理沙箱、策略和访问的控制平面。
  • Kubernetes:使用 Helm 部署网关。你的 CNI 必须强制执行 NetworkPolicy。
  • 可扩展性:中间件、拦截器和计算驱动。
  • 教程:分步的策略和 Agent 演练。
  • 预发布和开发构建:尝试即将发布的版本或 main 分支上的最新提交。

Agent 技能

为你的编码 Agent 安装公开的 OpenShell 技能:

SHELL
npx skills add NVIDIA/OpenShell

这些技能教会你的 Agent 操作 OpenShell CLI、编写沙箱策略,以及调试网关和推理路由。它们位于 skills/ 目录中,无需检出 OpenShell 源代码即可工作。

SDK

SDK 将应用程序连接到 OpenShell 网关。它们不会安装 CLI。尽可能为 SDK 和网关使用相同的 OpenShell 版本。

语言安装文档
Pythonuv add openshellREADME
TypeScriptnpm install @nvidia/openshell-sdk (GitHub Packages)README
Gogo get github.com/NVIDIA/OpenShell/sdk/go@latestREADME
Rustcargo add openshell-sdk --git https://github.com/NVIDIA/OpenShell --tag <release-tag>安装与使用

社区

OpenShell 采用 Agent 优先的设计理念:其开发过程也使用了它所支持的同一套 Agent 驱动工作流。有关开发环境搭建和贡献流程,请参阅 CONTRIBUTING.md;有关代码仓库的编码规范,请参阅 AGENTS.md。

(注:更多技术实现细节与完整 API 文档请查阅原项目 README)