NVIDIA OpenShell 深度研究:给 AI Agent 套上安全笼子的运行时
> GitHub: NVIDIA/OpenShell
> 文档: docs.nvidia.com/openshell
> 博客: NVIDIA Developer Blog
> 许可: Apache 2.0
> 状态: Alpha(单人模式)
> 发布: GTC 2026(2026-03-24)
> 研究时间: 2026-03-27
🎯 一句话版本
NVIDIA 做了一个给 AI Agent 用的安全沙盒:一条命令 openshell sandbox create -- claude 就能让 Claude Code / Codex / OpenClaw 跑在隔离容器里,用 YAML 策略控制它能读哪些文件、访问哪些网站、调哪些 API。Agent 碰不到你的宿主机,密钥也看不到。底层是 K3s 跑在 Docker 里,不需要改任何 Agent 代码。
🧠 为什么需要这个
Agent 越来越强大也越来越危险:
> 一个有持久 shell 访问权、实时凭证、能改写自己工具、跑了 6 小时积累了大量上下文、在调你内部 API 的 Agent——和一个无状态聊天机器人是完全不同的威胁模型。
NVIDIA 的观察:安全 + 能力 + 自主,现有方案最多同时做到两个:
| 组合 | 问题 |
|---|---|
| 安全 + 自主 | 没权限,干不了活 |
| 能力 + 安全 | 要不断审批,等于人肉看护 |
| 能力 + 自主 | ⚠️ **自己看管自己**——护栏和被护栏的在同一个进程里 |
OpenShell 的解法:进程外策略强制执行——安全约束在 Agent 外面,Agent 即使被攻破也改不了。
💻 怎么用
安装
curl -LsSf https://raw.githubusercontent.com/NVIDIA/OpenShell/main/install.sh | sh
使用
# 创建沙盒并启动 Agent
openshell sandbox create -- claude # Claude Code
openshell sandbox create -- codex # OpenAI Codex
openshell sandbox create --from openclaw # OpenClaw!
# 连接到运行中的沙盒
openshell sandbox connect demo
# 应用策略(运行时热更新)
openshell policy set demo --policy policy.yaml
# 查看 TUI 仪表盘
openshell term
策略示例
# 只允许 GET GitHub API,禁止 POST
network:
- destination: api.github.com
methods: [GET]
paths: ["/repos/*", "/zen"]
效果:
# GET 允许
sandbox$ curl https://api.github.com/zen
Anything added dilutes everything else.
# POST 被拦截
sandbox$ curl -X POST https://api.github.com/repos/.../issues
{"error":"policy_denied","detail":"POST /repos/.../issues not permitted by policy"}
🏗️ 架构
你的电脑
└── Docker 容器(K3s 集群)
├── Gateway(控制面 API,认证边界)
├── Policy Engine(策略强制执行)
├── Privacy Router(隐私感知 LLM 路由)
└── Sandbox(隔离运行时)
└── Agent(Claude Code / OpenClaw / Codex)
四层安全
| 层 | 保护什么 | 何时生效 |
|---|---|---|
| **Filesystem** | 限制文件读写路径 | 创建时锁定 |
| **Network** | 阻断未授权出站 | **运行时热更新** |
| **Process** | 阻断提权/危险系统调用 | 创建时锁定 |
| **Inference** | 重路由模型 API | **运行时热更新** |
Privacy Router(隐私路由器)
这个很关键:
Agent 发推理请求
├→ 敏感数据 → 本地 Nemotron 模型(不出机器)
└→ 非敏感数据 → 云端 Claude/GPT(按策略路由)
路由决策由你的策略决定,不是 Agent 决定。
凭证管理
# 自动发现环境变量中的 API Key
openshell provider create --type anthropic --from-existing
凭证注入为环境变量,不写入沙盒文件系统。Agent 可以用,但不能读取/复制/泄露。
🔧 沙盒预装工具
| 类别 | 工具 |
|---|---|
| Agent | claude, opencode, codex, copilot |
| 语言 | Python 3.13, Node 22 |
| 开发 | gh, git, vim, nano |
| 网络 | ping, dig, nc, traceroute, netstat |
GPU 支持(实验性)
openshell sandbox create --gpu --from [gpu-sandbox] -- claude
可以在沙盒里跑本地推理/微调。需要 NVIDIA 驱动 + Container Toolkit。
🤖 Agent-First 开发方式
OpenShell 自己就是用 Agent 开发的。.agents/skills/ 里有:
| Skill | 用途 |
|---|---|
| `create-spike` | 调查问题 |
| `build-from-issue` | 从 issue 实现功能 |
| `triage-issue` | 社区 issue 分类 |
| `review-security-issue` | 安全审查 |
| `generate-sandbox-policy` | 从自然语言生成 YAML 策略 |
工作流:Agent 提方案 → 人类审批 → Agent 构建。
🆚 和 Cloudflare Dynamic Workers 的对比
| NVIDIA OpenShell | Cloudflare Dynamic Workers | |
|---|---|---|
| **定位** | 本地/私有云 Agent 安全运行时 | 云端轻量级代码沙盒 |
| **隔离** | 完整 Docker 容器 + K3s | V8 Isolate |
| **语言** | **任意**(完整 Linux) | 仅 JS/Wasm |
| **安全模型** | 4 层声明式策略(文件/网络/进程/推理) | 绑定注入(env) |
| **策略更新** | 运行时热更新 | 需要重新加载 Worker |
| **隐私** | **Privacy Router**(敏感数据本地处理) | 无 |
| **GPU** | ✅ 直通 | ❌ |
| **部署** | 本地/私有云 | Cloudflare 云 |
| **适合** | 长期运行的 Agent(OpenClaw、Claude Code) | 短暂的代码片段执行 |
💡 与我们的关联
1. 直接支持 OpenClaw ⭐⭐⭐
openshell sandbox create --from openclaw
OpenClaw 是官方支持的 Community Sandbox 之一! 这意味着:
- 一条命令就能在安全沙盒里跑 OpenClaw
- 策略控制 OpenClaw 能访问哪些 API
- Privacy Router 让敏感对话走本地模型
2. 解决了 OpenClaw 的安全短板
OpenClaw 的 exec 工具目前是直接在宿主机跑命令——Agent 理论上可以做任何事。OpenShell 把这个风险完全隔离:
之前: Agent → exec → 宿主机(无限制)
之后: Agent → exec → OpenShell 沙盒 → 策略检查 → 允许/拒绝
3. ub2 上的使用场景
ub2 有 RTX 4090,可以:
- 在 OpenShell 沙盒里跑 Agent + 本地模型推理
- Privacy Router 让敏感代码不出机器
- GPU 直通让沙盒内也能用 Ollama
4. 和 OpenClaw-RL 的配合
训练 Agent 时,Agent 需要大量自由度去试错。OpenShell 可以提供安全的试错环境——Agent 随便折腾沙盒,不影响宿主。
⚠️ 注意事项
1. Alpha 阶段:单人模式,多租户企业功能还在开发
2. 需要 Docker:必须有 Docker 运行
3. K3s 开销:一个 K3s 集群跑在 Docker 里,资源占用比直接跑 Agent 多
4. GPU 实验性:可能有兼容性问题
5. NVIDIA 生态偏向:推荐 Nemotron 模型、DGX 硬件,但不锁定
📊 评分
| 维度 | 评分(/10) |
|---|---|
| 技术架构 | 9.0 — 进程外策略 + Privacy Router + 4 层安全,设计正确 |
| 实用性 | 8.0 — 一条命令启动,但 Alpha 阶段有粗糙边缘 |
| 与 OpenClaw 的关联 | **9.5** — 官方支持,直接解决安全短板 |
| 创新性 | 8.5 — Privacy Router 和策略热更新是亮点 |
| 成熟度 | 6.5 — Alpha,单人模式,GPU 实验性 |
| **综合** | **8.5** |
报告由深度研究助手自动生成 | 2026-03-27
来源: GitHub / NVIDIA Blog