Nvidia 发布 OpenShell 提供智能体安全运行时

原标题:Nvidia OpenShell
78AI 研判分

Nvidia 推出开源项目 OpenShell,旨在为自主 AI 智能体提供安全、私密的执行环境。该工具通过内核级策略强制和形式化验证,在赋予智能体文件读写、API 调用等能力的同时,严格限制其对敏感数据和网络的访问权限。

报道正文

本文目录6 个章节
<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)