OpenShell安全运行AI代理的设计方向
AI 代理真正难管的地方,不是它能不能生成一段代码,而是它开始替人读文件、装依赖、调用 API、使用凭据之后,权限边界仍然能不能被系统强制执行。CNCF 在 2026 年 11 月 10 日的公告中把 OpenShell 列为新的 Sandbox 项目,这说明行业关注点正在从“让代理听懂提示词”转向“让运行时限制代理能做什么”。
官方文档:https://docs.nvidia.com/openshell/home
OpenShell 的设计方向可以概括为一句话:把代理放进隔离的运行时,让文件、网络、进程、凭据和推理入口都经过策略控制。它不是另一个 Agent 框架,也不保证代理永远正确;它提供的是一层位于代理之外的执行边界。
这次进入 CNCF Sandbox,技术上意味着什么
CNCF Sandbox 是项目进入社区治理和生态协作的阶段,不等于项目已经成为成熟标准,也不等于所有企业都应该立即替换现有容器平台。对开发者更有价值的信号是:OpenShell 被放进了云原生社区讨论 AI 生产化的语境里,讨论重点从模型能力延伸到了代理的执行、隔离和审计。
官方文档当前把 OpenShell 描述为面向自治代理集群的安全运行时,并以声明式策略限制未经授权的文件访问、数据外传和不受控网络活动。这个定位和传统“启动一个容器”有明显区别:容器主要解决进程和资源的运行载体问题,OpenShell 还要回答代理访问什么、凭据何时出现、请求发往哪里、谁能修改策略以及这些决策如何留下记录。

OpenShell不是另一个Agent框架
OpenShell 可以位于 Claude Code、Codex、GitHub Copilot CLI、OpenCode 或自定义代理栈的下面。代理仍负责规划和调用工具,运行时则负责把这些动作放进一个受限制的环境。这样做的关键不是把模型换成“更听话”的模型,而是让模型即使判断错误,也不能直接越过系统边界。
可以把它拆成四个职责:
- 沙箱:承载代理进程,限制可见文件和可用权限,默认不让代理直接拥有宿主机能力。
- 监督器:在代理之外观察运行时请求,对网络、凭据和系统调用做策略判断。
- 网关:负责身份、沙箱生命周期、策略和凭据分发,适合成为平台团队的控制面。
- 策略与审计:用可评审的规则表达允许范围,并记录允许或拒绝的决策。
这也是它和单纯容器的分界:Docker 或 Kubernetes 可以提供底层运行载体,但代理需要的是面向“动作”的治理,例如只允许访问某个代码目录、只允许连接指定模型端点、禁止读取宿主机密钥,并且在策略发生变化时仍能追溯是谁做了决定。
用最小权限思路设计代理边界
如果团队准备评估 OpenShell,第一步不是把所有工具都塞进沙箱,而是先把代理任务拆成“必须读什么、必须写什么、必须访问什么、绝对不能碰什么”。下面这份 YAML 是评审草案,用来展示应该讨论的权限维度;具体字段和版本能力仍应以当前 OpenShell 文档中的策略模式为准。
# 这是一份权限评审草案,不是可直接部署的完整策略文件
agent: code-reviewer
filesystem:
# 只把待审查代码目录授予只读能力
read_only:
- /workspace/repository
# 把报告目录单独划为可写区域
writable:
- /workspace/report
network:
# 只列出完成任务所需的目的地
allow:
- api.model.example
# 其他出站连接默认拒绝并记录原因
default: deny
process:
# 不给代理提升权限的路径
privileged: false
audit:
# 允许与拒绝都要保留决策记录
decisions: record
这份草案的重点有三个。第一,读权限和写权限分开,避免“为了生成报告”就开放整个工作区。第二,网络规则写的是目的地和用途,而不是一句“允许联网”。第三,拒绝也是一种结果,需要被记录,否则发生异常时只能看到代理最后说了什么,却不知道运行时拦下了什么。
凭据和推理入口要单独治理
代理能调用模型,并不意味着它应该直接看到 API 密钥。OpenShell 的官方设计把凭据处理放在网关、配置和策略边界内:代理提出请求,运行时根据已授权的 provider profile 决定是否向允许的端点提供凭据。这样可以把“能调用模型”和“知道密钥内容”拆成两个权限。
同样的原则适用于工具 API。一个只负责代码审查的代理,通常需要访问模型端点和代码仓库,但不应同时拥有云账单、生产数据库或任意外部 Web 请求权限。策略评审时可以使用下面的顺序:
- 先列出任务必需的模型和工具,再列出资源名称。
- 把每个资源映射到独立的 provider、网络目的地或工作区路径。
- 确认凭据只在被授权的请求链路中出现,不能通过普通环境变量暴露给代理。
- 为允许、拒绝、凭据轮换和策略修改保留审计字段。

最小试用路径应该先验证边界
官方开发者文档给出了安装和创建第一个沙箱的最小入口。正式接入前,建议把它当成边界实验,而不是直接接入生产凭据:
# 安装官方脚本,实际使用前先按组织流程审阅来源和权限 curl -LsSf https://raw.githubusercontent.com/NVIDIA/OpenShell/main/install.sh | sh # 创建一个默认沙箱,先观察代理的工作目录和可用能力 openshell sandbox create # 生产接入前应替换为经过审查的镜像、provider 和策略 # 不要把生产密钥、宿主机目录或默认全网访问直接带入实验
试用时重点看四类结果:代理能否完成目标任务、超出工作区的访问是否被拒绝、未经允许的网络目的地是否被拦截、审计记录能否解释每次允许或拒绝。若只看到“代理任务成功”,却没有检查拒绝边界,实验结论是不完整的。
它解决了什么,又不能替代什么
OpenShell 适合解决的是自治代理“有能力但不能无限制行动”的运行时问题,尤其适合代码代理、私有企业开发、需要受控模型端点的内部工具,以及希望把策略纳入版本评审的团队。它把安全控制放到了代理进程之外,降低了单靠提示词约束的风险。
但它不能替代身份提供商、密钥管理、日志平台、漏洞管理、合规流程或应用自身的授权检查。官方资料也强调,OpenShell 是企业安全体系中的运行时边界,而不是完整的身份、观测和治理平台。底层隔离仍可能受到镜像来源、宿主机、内核、运行时配置和策略误配影响,策略越宽,代理能做的事越多,风险也越难解释。
因此,当前更稳妥的采用方向是:先选一个权限可枚举、数据可脱敏、失败可回滚的代理任务;再把文件、网络、进程、凭据和审计五项控制分别写进评审清单。等团队能回答“为什么允许、如何拒绝、拒绝后如何恢复、谁能修改规则”之后,再考虑扩展到多代理和生产工作流。
常见问题
OpenShell 是 Agent 框架吗?
不是。它位于 Agent 框架或执行 harness 之下,主要负责沙箱、策略、凭据、网络和运行时治理。
OpenShell 会自动让代理变得安全可靠吗?
不会。它能把许多权限控制移到模型之外,但仍需要团队正确配置策略、审阅镜像和凭据,并保留周边身份与审计能力。
它和 Docker 或 Kubernetes 是竞争关系吗?
更准确的理解是互补关系。Docker、Podman、Kubernetes 或虚拟机可以作为底层运行载体,OpenShell 在此之上增加面向代理动作的网关、监督、策略和凭据控制。
评估时最先看什么?
先看最小权限是否可表达、拒绝是否可观测、凭据是否与代理进程隔离,以及策略修改是否可审计;不要只看代理能否完成一次演示任务。
CNCF Agent Substrate项目解决什么问题
- 上一篇
- CNCF Agent Substrate项目解决什么问题
- 下一篇
- Cloud Native Buildpacks毕业对交付链的影响
-
- 科技周边 · 业界新闻 | 22分钟前 |
- CNCF Agent Substrate项目解决什么问题
- 184浏览 收藏
-
- 科技周边 · 业界新闻 | 23分钟前 | rust · 业界新闻 · 类型推断 never类型 Rust 1.100 edition
- Rust 1.100稳定never类型后旧版edition有哪些兼容影响
- 479浏览 收藏
-
- 科技周边 · 业界新闻 | 40分钟前 | kubernetes · ai · AI基础设施 Kubernetes DRA 异构加速器
- Kubernetes动态资源分配支持异构加速器
- 266浏览 收藏
-
- 科技周边 · 业界新闻 | 42分钟前 |
- CNCF新一代AI基础设施项目进入生产阶段
- 469浏览 收藏
-
- 科技周边 · 业界新闻 | 16小时前 |
- OpenSSF Scorecard Dangerous-Workflow 怎样识别 GitHub Actions 风险
- 323浏览 收藏
-
- 科技周边 · 业界新闻 | 16小时前 |
- Sigstore bundle 怎样保存签名验证材料
- 157浏览 收藏
-
- 科技周边 · 业界新闻 | 16小时前 |
- OpenSSF GUAC 怎样串联软件供应链关系
- 446浏览 收藏
-
- 科技周边 · 业界新闻 | 16小时前 | 云原生 · kubernetes · 网络安全 · tls Kubernetes Gateway API SNI BackendTLSPolicy SubjectAltNames
- Kubernetes Gateway API BackendTLSPolicy 怎样表达后端 TLS
- 233浏览 收藏
-
- 科技周边 · 业界新闻 | 16小时前 |
- OpenAPI Webhooks 描述怎样帮助生成客户端
- 201浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 485次学习
-
- PubMedQA
- 深入了解PubMedQA生物医学问答数据集,涵盖其核心功能、使用方法及在临床决策、药物研发等场景的应用,助力提升NLP模型性能。
- 1037次使用
-
- H2O EvalGPT
- H2O EvalGPT是H2O.ai推出的开源LLM评估平台,提供详细的大模型性能排行榜、行业特定基准测试及A/B测试功能,助您快速选择最适合项目的高性能大语言模型。
- 1035次使用
-
- LMArena
- LMArena是加州大学伯克利分校推出的AI模型匿名评测平台。通过盲测投票机制,用户可对比不同大模型回答并生成实时排行榜,助力开发者优化模型及用户选择最佳AI工具。
- 1179次使用
-
- HELM
- 深入了解斯坦福推出的HELM(Holistic Evaluation of Language Models)大模型评测体系。本文解析其核心功能、安装配置步骤及应用场景,涵盖准确性、公平性、鲁棒性等多维度指标,助力开发者全面优化语言模型性能。
- 1139次使用
-
- MMBench
- MMBench是由上海人工智能实验室等机构联合推出的多模态基准测试平台,提供细粒度能力评估、大规模数据集及VLMEvalKit工具。本文详细介绍其核心功能、安装使用方法及应用场景,助力开发者全面评估多模态模型性能。
- 984次使用
-
- GitHub Actions schedule 仅在默认分支生效怎么办
- 2026-11-14 501浏览
-
- 蒙面演唱引争议,旺仔小乔被平台封禁
- 2025-08-08 501浏览
-
- openGauss向量驱动升级,RAC多写突破内核
- 2025-07-30 501浏览
-
- 安普瑞斯工厂放假,电芯供应受影响
- 2025-07-04 501浏览
-
- 农产品APP开发优势与功能全解析
- 2025-04-30 501浏览
