ByteNoteByteNote
让 agent 碰得到 API 却看不见密钥:NVIDIA 开源 OpenShell
字

字节笔记本

2026年9月29日 · 约 4 分钟读完

让 agent 碰得到 API 却看不见密钥:NVIDIA 开源 OpenShell

API中转
¥120

让 agent 读文件、装包、调 API,又不给它乱来的自由——所有做 agent 落地的人都被这道题卡过。NVIDIA 把自家的答案开源了:OpenShell,"自主 AI agent 舰队的安全私有运行时",Rust 实现、Apache-2.0 协议,10.5 千星且正在快速增长。它最近进入 0.1.x 稳定发布节奏,新增了隔离原语、扩展面和一批 API。

OpenShell:NVIDIA 出品的 agent 安全运行时

两道闸门

OpenShell 治理 agent 靠两套机制,思路完全不同但互相补位:

内核级强制执行。每个 agent 跑在隔离沙箱里,内核层约束它能碰哪些文件、能发哪些系统调用;每条出站网络连接在离开沙箱前都过一遍策略检查。最关键的设计是凭证隔离——agent 永远看不到真实的密钥,OpenShell 只在请求发往已批准端点时才把凭证注入进去。也就是说 agent 可以用你的 API key 干活,但拿不走它。

形式化验证的策略变更。策略不是改了就生效:变更被批准前,形式化验证会先标记出这次改动新增的高危访问——比如"带凭证访问一个新主机"或"调用一个新 API 方法"——这类变更自动挂起,等人工审批。想给 agent 悄悄扩权,这道数学关过不去。

两道闸门:内核执行 + 形式化验证

快速上手

支持 Linux、Apple Silicon macOS 和 WSL2(实验性),需要 Docker/Podman 或主机虚拟化:

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

安装器带 CLI 和本地 gateway;默认沙箱镜像是最小化 Ubuntu,不含任何 agent。官方的"第一个 agent"教程演示了在沙箱里跑 OpenCode 连 OpenRouter 免费模型的全过程——包括 agent 需要新权限时如何逐条审批。给编码 agent 装操作技能也是一条命令:

shell
npx skills add NVIDIA/OpenShell

规模再往上走有 Helm:把 gateway 部署进 Kubernetes(要求 CNI 强制 NetworkPolicy)。SDK 覆盖 Python、TypeScript、Go、Rust 四种语言,应用通过 gateway 接入而不是绕过它。

适合谁用

要在生产环境跑 agent 的团队:凭证隔离加策略审批,正好对上"agent 权限给多大"这个没有标准答案的问题;Kubernetes 部署路径对已有集群的公司是现成的。

agent 平台的搭建者:gateway/supervisor/sandbox 的架构拆分、四语言 SDK、扩展面(工具、连接器、子 agent、模型供应商、沙箱载体全部是扩展),是一份可以对照抄的架构卷子。

合规敏感行业:金融、医疗场景里"agent 能访问什么"需要可审计、可证明,形式化验证给出的数学保证比"我们人工 review 过"硬得多。

一个贴心的细节:遥测是匿名的、只统计运营类目,可以用环境变量关掉,甚至编译时整个剔除——安全工具自己在隐私上先守规矩,这个态度加分。agent 的权限问题不会有一个万能答案,但"内核执行 + 形式化验证"这组组合拳,是目前看到的最接近工程答案的开源实现。

相关文章

分享: