Nvidia 发布 OpenShell 提供智能体安全运行时
Nvidia 推出开源项目 OpenShell,旨在为自主 AI 智能体提供安全、私密的执行环境。该工具通过内核级策略强制和形式化验证,在赋予智能体文件读写、API 调用等能力的同时,严格限制其对敏感数据和网络的访问权限。
报道正文
本文目录6 个章节
[!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 或主机虚拟化技术。详细信息请参见支持矩阵。
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 技能:
npx skills add NVIDIA/OpenShell这些技能教会你的 Agent 操作 OpenShell CLI、编写沙箱策略,以及调试网关和推理路由。它们位于 skills/ 目录中,无需检出 OpenShell 源代码即可工作。
SDK
SDK 将应用程序连接到 OpenShell 网关。它们不会安装 CLI。尽可能为 SDK 和网关使用相同的 OpenShell 版本。
社区
- 问题与讨论: GitHub Discussions
- Bug 报告与功能请求: GitHub Issues,请使用 Issue 模板
- 安全漏洞: 请遵循 SECURITY.md。请勿创建 GitHub Issue。
- 路线图: OpenShell Roadmap 和 RFC 看板
- 云端体验: Brev Launchable
OpenShell 采用 Agent 优先的设计理念:其开发过程也使用了它所支持的同一套 Agent 驱动工作流。有关开发环境搭建和贡献流程,请参阅 CONTRIBUTING.md;有关代码仓库的编码规范,请参阅 AGENTS.md。
(注:更多技术实现细节与完整 API 文档请查阅原项目 README)