NVIDIA OpenShell:为 AI 智能体划定可执行的权限边界

NVIDIA OpenShell 如何限制编程智能体的文件、网络和凭据访问?本文梳理受支持的平台、CLI 安装与 OpenCode 启动流程,解释哪些策略可实时更新、哪些变更需要重建沙箱,并给出可审查的编程策略模板、权限测试方法和团队落地场景,帮助平台团队在开放真实项目与服务前看清实际授予的权限。

发布于

NVIDIA OpenShell:为 AI 智能体划定可执行的权限边界

给编程智能体一个工作区,再开放经过批准的服务访问,并不意味着要把整台机器交给它。NVIDIA OpenShell 为现有智能体划定可强制执行的边界:能访问哪些文件、能发出哪些网络请求,以及凭据可以用在哪里。实际价值在于,平台团队可以把权限配置做成可复用的方案,在智能体开工之前完成审核。

NVIDIA OpenShell 到底能做什么?

OpenShell 是一个开源运行时,负责运行智能体并控制其访问权限。它位于智能体底层,不替代智能体的推理能力或工具。

可以把它想象成在楼内施工的承包商:你给他一间工坊,允许他进入指定房间、联系指定供应商,而不会因为工作说明里写着“务必小心”,就把万能钥匙交给他。OpenShell 为软件智能体提供的正是这类边界。

其运行时概览介绍了文件系统限制、网络控制、进程限制和服务提供方凭据保护。Landlock 是限制文件访问的 Linux 内核机制;seccomp 限制系统调用,也就是程序向操作系统发出的底层请求。这些限制的执行独立于智能体的推理过程。

网关负责管理沙箱和访问。沙箱外的监督程序根据策略检查出站请求,并在获得许可时提供凭据。策略证明器则检查建模后的权限是否符合已定义的边界。这些机制约束的是智能体可以做什么,并不保证它在权限范围内做的事就是正确的。

智能体工坊通过各自独立的检查点,连接文件、网络访问和限定范围的凭据。
访问边界示意:每条路径都需要授权。图中的房间用于说明控制方式,并非实际软件组件。

NVIDIA 列出了 Claude Code、Codex、GitHub Copilot CLI、Hermes、LangChain Deep Agents、OpenClaw 和 OpenCode 的使用路径,也支持自定义智能体和镜像。“支持”不代表每个工具都已预装:当前默认工作负载是精简的 Ubuntu 镜像,不包含智能体 CLI,也就是用于启动智能体的命令行程序。

对业务而言,变化在于权限可以复用。没有可复用的边界,每增加一个智能体工作流,团队都可能需要重新讨论该开放哪些文件、密钥和服务。有了边界,就能把这些决定与工作负载一起打包,并审核后续变更。评估收益时,应记录工程师在访问配置和处理中断上花费的工时;目前没有经过验证、可直接套用的通用节时数据。

目前支持在哪些平台运行?

选择宿主机时,以当前支持矩阵为准。本文流程依据标注为 v0.1.7 的文档,核对日期为 2026 年 11 月 8 日。

宿主平台当前文档中的状态
Debian/Ubuntu Linux,x86_64 或 ARM64支持
Apple Silicon 上的 macOS,配合 Docker Desktop支持
Windows x86_64,使用 WSL 2 和 Docker Desktop实验性支持
原生 Windows x64 或 ARM64,使用 MXC在 windows 分支开发中;尚未通过生产环境验证

WSL 2 在 Windows 上运行 Linux 环境。MXC 则是另一条原生 Windows 隔离路径。不能把“支持 Windows”理解为同一套可以互换的安装方案。

Windows 合作公告介绍了通过 MXC 将 OpenShell 引入 Windows 的方向。但这不代表原生路径现在就有常规的稳定版安装程序。当前安装文档明确指出,标准发布渠道不提供原生 Windows 二进制文件。

首次评估建议选择受支持的 Linux 或 Apple Silicon 环境。支持矩阵也规定了内核和运行时要求:Linux 6.2 引入了所需的 Landlock ABI,但仅满足内核版本要求还不够,运行时还必须通过相应检查。在 macOS 的 Docker Desktop 路径下,这些 Linux 能力运行在其 Linux 虚拟机内。无需使用 NVIDIA Vera CPU。

如何安装 OpenShell CLI 并运行第一个智能体?

先从 NVIDIA 文档中的 OpenCode 示例入手。它清楚展示了三个组成部分:负责服务访问的 provider、包含智能体的镜像,以及运行智能体的沙箱。以下步骤来自文档,不代表已在本地实测。

1. 准备宿主机并安装 OpenShell。 采用 Docker 路径时,需要先运行 Docker Desktop,或使用 Docker Engine 28.0 及以上版本。在受支持的 Linux 或 macOS 上,安装指南使用 curl -LsSf https://raw.githubusercontent.com/NVIDIA/OpenShell/main/install.sh | sh。执行前应先审阅安装脚本。它会安装 CLI、策略证明器和本地网关。运行 openshell status,确认 CLI 能连接网关。

2. 配置模型服务。 示例使用 OpenRouter。创建 provider 前,先在宿主机环境中设置 OPENROUTER_API_KEY。provider 配置档描述允许的服务端点和可执行文件路径,provider 本身负责存储凭据。NVIDIA 的示例配置档允许 /usr/local/bin/opencode 访问 openrouter.ai。

3. 导入配置档、创建 provider 并启动镜像。 在宿主机上依次运行:

Shell
openshell profile import \
  --url https://raw.githubusercontent.com/NVIDIA/OpenShell/main/providers/openrouter.yaml
openshell provider create \
  --name openrouter --type openrouter --from-existing
openshell sandbox create \
  --name my-agent \
  --from ghcr.io/anomalyco/opencode:latest \
  --provider openrouter \
  -- opencode -m openrouter/nvidia/nemotron-3.5-lightning:free

镜像提供 OpenCode;-- 后的命令将其作为主进程启动。首个智能体操作指南使用这一免费模型,无需 OpenRouter 额度。这只是该示例的模型选择,不代表任意模型调用都免费。

4. 在宿主机上审核访问请求。 智能体尝试访问未经批准的目标时,OpenShell 会拒绝请求,并起草一条范围收敛的规则提案。运行 openshell rule get my-agent --status pending 查看。如果提案符合任务预期的访问范围,就用 openshell rule approve my-agent --chunk-id <chunk-id> 批准该条提案,并将占位符替换为实际 ID。规则重新加载后,智能体即可重试。

5. 检查实际授予的权限。 先运行 openshell policy get my-agent --base,再运行 openshell policy get my-agent --full。前者显示基础策略,后者还包含 provider 添加的规则。在接入真实项目或敏感服务之前,先审核最终生效的权限。

一次性评估结束后,可用 openshell sandbox delete my-agent 删除沙箱。

哪些策略可以在运行中修改?

网络访问权限可以在任务执行期间调整。文件系统和进程边界则需要新建沙箱才能改变。

控制项变更如何生效
文件系统路径与 Landlock 行为启动时确定;需重建沙箱才能改变实际访问权限
进程用户与用户组创建时确定;修改需重建沙箱
网络目标与请求规则沙箱运行期间可重新加载
网络中间件、额外流量检查或转换内置服务及已注册的外部服务可在运行中重新加载
provider 绑定、凭据轮换或撤销可在运行时更新;新的环境变量需要新进程才能生效

“运行中生效”也有代价。新网络规则会关闭按旧规则建立的连接,客户端必须重新连接。注册新的外部中间件服务需要修改网关配置并重启网关。把文件系统路径加入已保存的策略,并不会让运行中的工作负载获得该路径的访问权;启动后删除路径或修改启动设置则会被拒绝。策略管理指南详细说明了这些区别。

文件系统与进程设置用固定房间表示,运行中可变的网络规则与中间件则用滑动闸门表示。
启动前规划文件和进程权限。网络规则及符合条件的中间件可以在任务执行期间调整。

还有一个容易踩的坑:没有策略文件,不等于没有访问权限。策略可能来自镜像、环境设置或网关级策略。绑定的 provider 也可能添加网络规则。策略选择规则还明确指出,全局策略会替换沙箱自身的策略,而非简单叠加一层更严格的限制。

如何为编程智能体写出清晰可审查的策略?

让修复 bug 的智能体先获得可写的项目目录和只读 API 访问,再考虑授予发布变更的权限。

下面的示例适用于预先准备好的编程镜像:项目位于 /workspace,且已在 /usr/bin/curl 安装 curl。将其保存为 policy.yaml,创建新沙箱时传入 --policy ./policy.yaml。它是针对这一镜像布局的模板,不能直接套用于所有智能体镜像:

YAML
version: 1
filesystem_policy:
  include_workdir: false
  read_only: [/usr, /lib, /etc]
  read_write: [/workspace, /tmp]
landlock:
  compatibility: hard_requirement
network_policies:
  github_readonly:
    endpoints:
      - host: api.github.com
        port: 443
        protocol: rest
        enforcement: enforce
        access: read-only
    binaries:
      - path: /usr/bin/curl

智能体可以编辑项目和临时文件。网络规则允许指定可执行文件向 GitHub API 发出 GET、HEAD 和 OPTIONS 请求。它并不允许任意程序访问互联网,也不授权软件包下载或 Git 推送。模型 provider 需要另行配置。

镜像需要哪些可写的智能体状态目录,应提前准备并逐一明确加入。这些路径指向沙箱内的文件系统,不能因为宿主机上有同名目录,就认为它会自动可用。此外,具备网络能力的工作负载还会加入基础文件系统路径,因此这份简短的 YAML 并不意味着最终生效的边界只包含其中列出的路径。

有两项设置需要特别留意。若用户定义的文件系统规则无法强制执行,hard_requirement 会阻止启动,但个别缺失或无法访问的路径仍可能被跳过。enforcement: enforce 会阻止检查中发现的不合规请求;而模式定义中的默认 audit 模式只记录违规,仍会放行请求。修改模板前,请查阅策略模式定义参考。

测试既要验证允许,也要验证拒绝。NVIDIA 的网络策略教程先检查只读规则下 curl -s https://api.github.com/zen 能否成功,再确认 POST 请求会被拒绝。在宿主机上用 openshell logs my-agent --since 5m --source sandbox 检查日志。针对自己的项目,还应测试一次预期内的文件写入,以及一次超出范围的文件访问。智能体成功启动,并不等于安全策略通过了验收。

最值得先试的五类工作流

最适合早期尝试的场景,任务边界清晰,也有人能够判断输出质量。按可能带来的运维价值排序如下:

使用团队可落地的工作流潜在价值
推广编程智能体的平台团队将项目工作区、获批的模型 provider 和审核过的网络规则打包成可复用环境减少重复的访问配置,让例外情况可见
排查陌生代码仓库的维护者让智能体在一次性工作区内检查代码、起草补丁,并严格收敛出站访问限制排查过程的影响范围,由维护者审核补丁
调查故障的运维团队提供选定的诊断文件和只读 API 访问,请智能体提出修复建议将诊断与修改生产环境的权限分开
使用私有模型服务的工程团队配置获批的 provider 端点,限制可访问它的智能体可执行文件将模型访问决策纳入基础设施策略
测试智能体版本的内部开发工具团队对每个准备好的镜像执行相同任务和权限检查在推广镜像前发现访问需求的变化

这些做法都不能保证生成的代码正确,或故障诊断可靠。它们的价值是收窄智能体工作时可能产生的影响。若要比较更多工具,可参阅 2026 年最佳 AI 沙箱安全工具;若要选择执行平台,可参阅 2026 年最佳 AI 智能体代码沙箱。

围绕 OpenShell,有哪两个值得做的产品方向?

最值得优先尝试的是团队编程智能体接入套件。 目标买家是希望开发者在获批环境中高效工作的平台负责人。本次查询返回的市场中,DataForSEO 估算 “claude code sandbox”每月有 1,300 次搜索。这说明有人关心环境搭建,不代表有 1,300 名潜在客户;其中部分搜索者寻找的也是智能体自身的沙箱,而非 OpenShell。

最小可售版本可以只支持一种智能体和一种获批的宿主配置,交付预制镜像、审核过的策略、provider 配置清单,以及可重复执行的放行与拒绝测试。卖点是能实际运行的团队部署方案,同时明确谁负责更新。难点在维护:镜像路径、智能体行为和实验性接口都可能变化。在开发托管产品前,先访谈平台负责人,了解他们承担这些维护工作的负担。

第二个方向是策略审核工作台。 安全团队可以用它查看实际生效的策略允许什么、比较变更并记录审批。DataForSEO 估算 “ai agent security”每月有 480 次搜索,“ai agent security tools”则有 70 次。这些独立查询反映的是宽泛的需求信号,不能相加后视为独立买家数。

MVP 可以导入基础策略与实际生效的策略,突出显示新增的目标地址和请求权限,并将测试结果附到审核记录中。难点在差异化:OpenShell 已经提供策略分析、提案和日志。产品需要改善团队的审核流程,而不只是给现有命令套一个仪表盘。建议先做接入套件,因为买家和交付物都更容易界定。

OpenShell 解决不了哪些问题?

OpenShell 限制访问,但不会判断某项获准操作是否符合业务利益。被允许写入项目文件的智能体,仍可能写出有问题的补丁。获批的外部目标,也仍可能收到策略允许发送的数据。文件访问与端点审批必须准确反映你真正打算开放的内容。

它也不能取代身份系统、密钥存储、监控或治理。NVIDIA 的运行时控制公告强调在智能体工作负载之外执行约束。应将它视为周边系统的一部分,而非舍弃其余机制的理由。

项目现在已有面向支持矩阵内生产环境的稳定版本,因此把整个 OpenShell 都称为实验演示并不准确。真正的限制更具体:实验性接口可能在补丁版本中发生变化,原生 Windows 路径仍在开发,NVIDIA 也说明当前的验证范围未覆盖整套发布验证政策。部署时应固定版本,并验证实际使用的工作负载与宿主机组合。

在 Windows 上,能把 Claude Code 放进 OpenShell 沙箱运行吗?

文档中的 Windows 上运行 Linux 路径是 x86_64 平台上的 WSL 2 加 Docker Desktop,目前标为实验性支持。通过 MXC 运行原生 Windows 是另一条开发路径,尚未通过生产环境验证。沙箱镜像必须包含智能体及其工具。

OpenShell 能保证编程智能体无法逃逸沙箱吗?

这些控制机制不构成绝对保证。OpenShell 在智能体推理过程之外执行文件、进程和网络限制,但这不能证明系统没有漏洞,也不能让权限过宽的策略变得安全。需要验证实际环境和权限。

为 Claude Code 配置 OpenShell 时,Docker 起什么作用?

Docker 是 OpenShell 底层支持的运行时之一。OpenShell 在其之上增加针对智能体的策略执行、provider 凭据处理、网关协调和监督机制。应选择包含 Claude Code 的镜像并配置其服务;默认 Ubuntu 工作负载不附带该智能体。

周一就能做的事: 请平台负责人选一个不含敏感信息的代码仓库和一个智能体。在受支持的宿主机上安装 OpenShell,准备镜像,定义文件与网络访问,然后分别测试一项允许的操作和一项被阻止的操作。记录首周的配置耗时,以及工程师处理中断所花的工时。只有当团队能解释每一项已授予的权限时,再扩大使用范围。

如果你希望将这套机制融入团队工作流,我们可以协助落地生产环境控制措施。

发布日期
分类
Build
2026 年 proxy 代理服务推荐:Bright Data、Oxylabs、Decodo 等 7 家怎么选

2026 年 proxy 代理服务推荐:Bright Data、Oxylabs、Decodo 等 7 家怎么选

proxy 代理服务该怎么选?对比 Bright Data、Oxylabs、Decodo、Webshare、ThorData、IPRoyal 与 NetNut,梳理住宅、数据中心、ISP 和移动代理的价格、试用、KYC 与会话控制,分清原始网络、托管解封和抓取 API 的职责,按有效记录成本和实际任务需求筛选。2026年11月10日Build
CodeRabbit 价格详解:席位费用、用量限制与附加收费

CodeRabbit 价格详解:席位费用、用量限制与附加收费

CodeRabbit 价格怎么算?本文梳理 Essentials、Team、Advanced 与 Enterprise 的席位收费、年付折扣、PR 审查额度及关联仓库限制,并列出不同团队规模的预算算例。了解免费版和开源方案的适用范围,分清超限文件审查、Agent 分钟数与安全扫描费用,再按实际工作流和安全需求选择套餐。2026年11月9日Build
2026 企业杀毒软件怎么选:六款小企业方案、价格与响应服务对比

2026 企业杀毒软件怎么选:六款小企业方案、价格与响应服务对比

企业杀毒软件怎么选,关键在于谁来管理设备、谁来处理告警。本文对比 Bitdefender、Microsoft Defender、ESET、Sophos、CrowdStrike 与 Malwarebytes,梳理美元价格、设备额度、服务器授权和托管响应范围,帮助小企业按现有订阅、设备类型与管理能力确定候选方案。2026年11月8日Build
Paperclip AI 评测:多智能体协作怎么管,部署前要看什么

Paperclip AI 评测:多智能体协作怎么管,部署前要看什么

Paperclip AI 能把分散的 AI 智能体组织成可追踪的工作流,但安装管理面板并不等于完成权限与验收配置。本文梳理官方安装方式、运行时与模型支持、任务交接、预算策略和审批边界,并对比 OpenClaw 与 Hermes Agent,帮你判断是否值得花一个周末试用,以及上线前应检查什么。2026年11月7日Build
Supabase 是什么?看懂 AI 应用背后的数据库、权限与后端

Supabase 是什么?看懂 AI 应用背后的数据库、权限与后端

Supabase 是什么,为什么 AI 应用构建工具常用它做后端?本文从 Postgres 数据库、登录认证、文件存储、实时更新与向量搜索讲起,梳理 Lovable、Bolt、v0 和 MCP 的接入方式,解释 RLS 权限、项目控制权与迁移边界,帮你在接收真实客户数据前,明确需要验证的隔离、恢复和交接事项。2026年11月7日Build
AI IDE 怎么选?2026 年 Cursor、VS Code、Zed 等 6 款编辑器对比

AI IDE 怎么选?2026 年 Cursor、VS Code、Zed 等 6 款编辑器对比

AI IDE 怎么选?比较 Cursor、VS Code 搭配 GitHub Copilot、Windsurf(现为 Devin Desktop)、Zed、Kiro 与 JetBrains AI,梳理价格、免费方案、智能体模式、模型接入、BYOK、本地推理、隐私边界与团队管控,帮你按工作流判断是否值得迁移。2026年11月6日Build
Activepieces 怎么选:自动化成本、自部署与迁移实用指南

Activepieces 怎么选:自动化成本、自部署与迁移实用指南

Activepieces 值得迁移吗?本文拆解工作流计费、MIT 核心与商业版的边界、AI 智能体和 MCP 用法,以及自部署的运维责任。通过 Google Sheets 到 Slack 通知流程,核对触发器、字段映射、测试和故障排查,再比较 Zapier、Make 与 n8n,判断节省的费用能否覆盖迁移与维护成本。2026年11月6日Build
GitBook 等技术文档软件怎么选?2026 年六大平台对比

GitBook 等技术文档软件怎么选?2026 年六大平台对比

技术文档软件怎么选?本文对比 GitBook、Mintlify、Paligo、MadCap Flare、Document360 与 Archbee,梳理写作和读者 AI、版本管理、多语言、API 参考及美元起步价。按代码仓库、内容复用或托管发布流程判断适配度,并用真实发布任务验证审核、纠错和翻译维护,再决定迁移。2026年11月6日Build
订阅通讯

每周日,一封信。写运转中的系统,不写热评。

每周一期。无垃圾邮件。随时退订。