OpenShell Skill:NVIDIA开源的AI Agent安全私有运行时
总结
OpenShell 是 NVIDIA 开源的安全私有运行时,为 AI Agent 提供沙箱隔离与策略化执行环境。当 Agent 需要读写文件、安装依赖、调用 API 时,OpenShell 用声明式 YAML 策略接管每一次内核级系统调用——让 Agent 有能力执行任务,同时永远不会触碰不该碰的数据。截至 2026-10-03,项目在 GitHub 累计获得约 14K Stars、1.7K Forks,单日新增最高 2,503 Stars,登上 GitHub Trending 热榜,是 2026 年最受关注的 AI 基础设施开源项目之一。
功能与原则
OpenShell 的核心定位是「给 AI Agent 装上安全缰绳」。它通过两层机制管控 Agent 行为:
内核级强制执行(Kernel-level enforcement):每个 Agent 运行在独立沙箱中,内核层面的访问控制模块(kernel controls)实时审查每一次文件访问、系统调用和网络连接,只有策略允许的流量才能离开沙箱。Agent 永远不会看到真实凭证——OpenShell 只在请求命中已审批端点时才将凭证注入。
形式化验证的策略变更(Formally verified policy changes):任何策略变更在生效前都经过形式化验证工具审查,自动标记高风险新增权限(如携带凭证访问新主机),相关变更必须经过人工审批才能应用。
设计原则:最小权限 + 可观测 + 策略即代码,将安全边界从「信任模型」转变为「信任工程」。
认可度
- GitHub Stars:约 14K(截至 2026-10-03,数据来源:GitHub 官方页面 + ReleaseAlert)
- Fork:约 1.7K
- 单日新增峰值:2,503 Stars(2026-10-01,GitHub Trending 榜单历史最高单日增长之一)
- GitHub Issues:349 open(活跃维护)
- Release 频率:近 30 天发布 18 个版本,保持高频迭代
- 社区采用:README 称已被 Microsoft、Google、Meta、AWS 等团队使用;配套项目 NemoClaw(NVIDIA 官方 Agent 参考栈)同期拥有约 23K Stars
- License:Apache License 2.0
链接
GitHub:https://github.com/NVIDIA/OpenShell
原作者
NVIDIA Corporation(开发者机构),主仓库由 NVIDIA 官方维护,社区贡献活跃。项目遵循 Apache 2.0 协议开源,配套 Skills 和文档由 NVIDIA 团队持续更新。
介绍
OpenShell 起源于一个行业痛点:AI Agent 越强大,越需要访问文件系统、网络和凭证——但这种「能力」本身就是最大的安全敞口。Lasso Security 在 2026 年 4 月的测试中证明,通过 npm 包的恶意依赖和 git/gh 的允许列表权限,Agent 可以将凭证编码为 emoji 推送出去,而传统沙箱对此无能为力。
OpenShell 的答案是:从内核层接管每一次系统调用,不依赖二进制的黑白名单,而是用声明式 YAML 策略描述「哪些文件/网络/进程路径是合法的」,再由内核级 enforcement 在运行时强制执行。这相当于给 Agent 的每一次操作都加上了最小权限的检查关卡。
架构上,OpenShell 由三部分组成:
- Gateway(控制面):策略管理、凭证注入、流量路由的主控节点
- Supervisor(监控层):实时审查每一次沙箱行为,裁决是否放行
- Sandbox(执行层):独立容器/VM 环境,内核级隔离
配合形式化验证 prover/advisor 工具,策略变更可以被模拟推演,提前发现潜在权限漂移。
特点
- 内核级隔离:不依赖 AppArmor/SELinux 等传统 MAC 机制,内核控制直接内嵌于沙箱运行时
- 凭证安全注入:API Key / Token 只在请求命中白名单端点时才注入,Agent 本身无法读取原始凭证
- L7 网络策略:HTTP 方法 + 路径级别的细粒度出口路由,支持热更新无需重启沙箱
- GPU 直通支持(实验性):可在沙箱内直接运行本地推理和微调工作负载
- 多后端支持:Linux / macOS Apple Silicon / Windows WSL2,支持 Docker、Podman、MicroVM
- Kubernetes 部署:官方 Helm Chart,已发布至 GHCR,适合企业级部署
- 多 Agent 内置支持:默认支持 Claude、OpenCode、Codex、Copilot 等主流 Agent
- 隐私路由:Privacy Router 系统确保敏感上下文留在沙箱计算节点,不外泄
使用方法
安装(Linux/macOS)
curl -LsSf https://raw.githubusercontent.com/NVIDIA/OpenShell/main/install.sh | sh
创建第一个沙箱
openshell sandbox create --name demo
openshell sandbox connect demo
安装 Agent Skills(让 Agent 原生理解 OpenShell)
npx skills add NVIDIA/OpenShell
创建带策略的沙箱示例
openshell sandbox create --name secured --policy ./policy.yaml
openshell policy set --policy policy.yaml --wait
策略文件示例(YAML)
sandbox:
name: my-agent
filesystem:
read: ["/home/user/project/**"]
write: ["/home/user/project/src/**"]
network:
allow:
- host: "api.github.com"
port: 443
methods: ["GET", "POST"]
credentials:
- name: github-token
value: "ghp_xxxxx"
inject:
host: "github.com"
header: "Authorization"
Kubernetes 部署
helm install openshell-gateway ./helm/gateway
(需要 CNI 强制执行 NetworkPolicy)
使用场景与人群
适用场景:
– 在企业内网运行 AI Agent,需要防止数据外泄
– 使用 Claude Code / OpenCode / Codex 等 Agent 处理含敏感 API Key 的项目
– 部署多租户 AI Agent 服务,需要策略级隔离
– 在 Kubernetes 集群中大规模编排 AI Agent 工作负载
– 对抗「恶意依赖」供应链攻击(通过沙箱限制 npm/git 等工具的出口权限)
目标用户:
– 安全意识强的企业 DevOps / 平台工程师
– 需要在生产环境部署 AI Coding Agent 的研发团队
– 研究 AI Agent 安全边界的研究者
– 对本地推理有隐私要求的开发者(配合 GPU 直通)
输入与输出案例
案例 1:沙箱限制 Agent 只访问项目目录
输入:Agent 请求读取 /etc/passwd(策略只允许 /home/user/project/)
输出:沙箱拒绝访问,日志记录:[SUPERVISOR] DENY file_read path=/etc/passwd reason=not_in_allowed_paths
案例 2:凭证注入隔离
输入:Agent 在沙箱内发起对 api.github.com 的认证请求
输出:OpenShell 在 Gateway 层注入 Authorization: Bearer ghp_xxxxx 到请求头,Agent 进程本身不持有凭证明文,无法通过日志或内存读取泄露
案例 3:策略变更形式化验证
输入:管理员提交将网络出口从「仅 github.com」扩展到「任意 HTTPS」的策略变更
输出:Prover 在变更生效前输出警告:[PROVER] WARN: new_policy allows egress to port 443 without host restriction; existing credential 'github-token' could exfiltrate to arbitrary hosts
GitHub:https://github.com/NVIDIA/OpenShell | License: Apache 2.0 | 语言: Rust + Python
评论区
登录后可评论。