NVIDIA 开源 OpenShell 0.1.x,为自主智能体提供安全私有运行时
OpenShell – A safe, private runtime for fleets of autonomous AI agents
NVIDIA 开源 OpenShell 0.1.x,这是一个面向自主 AI 智能体集群的安全私有运行时,通过内核级沙箱限制智能体可访问的文件、系统调用和网络连接,并在策略变更生效前用形式化验证标出新增的高风险访问。
原文说明了内核级沙箱与策略形式化验证如何限制智能体的文件、系统调用和网络访问,可据此判断落地方式。
重要
OpenShell 0.1.x 新特性:稳定的发布节奏、新的隔离原语、扩展的扩展接口以及新的 API。阅读 0.1.0 升级指南。
OpenShell 是为大规模自主 AI 智能体提供的安全、私密运行时。智能体在能够读取文件、安装软件包、调用 API 和使用凭据时最为有用。OpenShell 赋予它们这些能力,同时不让它们无限制地访问你的数据、密钥或网络。你在策略中声明每个智能体可以接触什么,OpenShell 负责强制执行。
工作原理
OpenShell 通过两种方式管控智能体可以做什么:它在运行时对内核进行插桩,对每一次文件访问、系统调用和网络连接强制执行策略;并使用形式化验证在策略变更应用之前检查该变更将允许什么。
- 内核级强制执行。每个智能体运行在隔离的沙箱中。内核控制限制它可以访问哪些文件、可以发起哪些系统调用,并且每个网络连接在离开沙箱之前都要经过策略检查。智能体永远看不到真实凭据;OpenShell 只将它们添加到发往已批准端点的请求中。
- 经形式化验证的策略变更。在策略变更获批之前,OpenShell 使用形式化验证标记该变更将授予的高风险新访问权限,例如使用凭据访问新主机或调用新的 API 方法,因此这些变更会等待人工审核。
参见架构了解网关、监督器和沙箱如何协同工作。
快速开始
你需要 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。要运行真实智能体,请按照运行你的第一个智能体操作:它会针对免费的 OpenRouter 模型运行 OpenCode,并展示如何在智能体需要时批准新的访问权限。
进一步探索
- 沙箱:镜像、运行时、GPU 和生命周期。
- 策略:文件系统、网络和进程规则,以及用于审查变更的顾问和证明器。
- 提供方:仅在已批准端点生效的凭据,包括推理。
- 网关:沙箱、策略和访问的控制平面。
- Kubernetes:使用 Helm 部署网关。你的 CNI 必须强制执行
NetworkPolicy。 - 可扩展性:中间件、拦截器和计算驱动。
- 教程:分步的策略和智能体操作指南。
- 预发布和开发构建:试用即将发布的版本或
main上的最新提交。
智能体技能
为你的编码智能体安装公开的 OpenShell 技能:
npx skills add NVIDIA/OpenShell
这些技能教会你的智能体驱动 OpenShell CLI、编写沙箱策略,以及调试网关和推理路由。它们位于 skills/,无需检出 OpenShell 源码即可使用。
SDK
SDK 将应用程序连接到 OpenShell 网关。它们不安装 CLI。尽可能让 SDK 和网关使用相同的 OpenShell 版本。
| 语言 | 安装 | 文档 |
|---|---|---|
| Python | uv add openshell |
README |
| TypeScript | npm install @nvidia/openshell-sdk(GitHub Packages) |
README |
| Go | go get github.com/NVIDIA/OpenShell/sdk/go@latest |
README |
| Rust | cargo add openshell-sdk --git https://github.com/NVIDIA/OpenShell --tag <release-tag> |
安装与使用 |
社区
- 问题与讨论:GitHub Discussions
- 缺陷报告和功能请求:通过 GitHub Issues 提交,请使用问题模板
- 安全漏洞:请遵循 SECURITY.md。不要提交 GitHub issue。
- 路线图:OpenShell 路线图和 RFC 看板
- 在云端试用:Brev Launchable
OpenShell 以 agent 优先为理念构建:它的开发过程正是采用了它所支持的 agent 驱动工作流。开发环境搭建和贡献流程请参见 CONTRIBUTING.md,仓库编码规范请参见 AGENTS.md。
遥测
OpenShell 会收集匿名遥测数据,仅限于运营类别和计数,以帮助改进项目。它不会收集沙箱名称、主机名、文件路径、提示词、凭据、提供商或模型名称,也不会收集用户内容。如需禁用,可在网关上设置 OPENSHELL_TELEMETRY_ENABLED=false,或在 Helm 安装时设置 server.telemetryEnabled=false。你也可以将遥测功能完全编译移除。详情请参见 遥测,已发布的使用趋势请参见 社区遥测报告。
声明与免责
本软件会自动检索、访问或与外部材料交互。这些检索到的材料不随本软件分发,仅受单独的条款、条件和许可证约束。你需自行负责查找、审阅并遵守所有适用的条款、条件和许可证,并自行核实任何检索到的材料对于你的具体用例的安全性、完整性和适用性。本软件按“原样”提供,不附带任何形式的保证。作者不对任何检索到的材料作出任何陈述或保证,也不对你的使用或无法使用本软件或任何检索到的材料所导致的任何损失、损害、责任或法律后果承担任何责任。使用本软件及检索到的材料风险自负。
许可证
本项目基于 Apache License 2.0 许可。
来源:Hacker News · github.com