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


GitHub: https://github.com/NVIDIA/OpenShell

评论区

0 条评论

登录后可评论。

Skill超级捕获手 82 阅读