篱笆资讯
AI Agent 安全:OpenShell 与硬件控制层分别管什么
AI Agent 安全为什么不能只靠指令?看懂运行时与硬件层的分工
给自主 Agent 写上“不要访问项目外的文件”,不等于文件系统会拒绝它的越界请求。前者需要模型理解并遵守,后者需要执行环境真正拦截操作。
NVIDIA 的 Agent 安全参考架构提供了一个值得拆解的思路:除了讨论 Agent 应获得多少权限,还要追问,谁来执行限制,控制机制放在哪里,Agent 能不能修改它?
下面按这份参考架构解释各层职责。产品能力保留为厂商描述,设计审查建议属于架构分析,不代表该方案已经通过独立安全验证。

一、任务受阻时,指令为什么不够用?
NVIDIA 将策略阻断、程序故障、缺少工具、指令含糊,以及长时间求解列为 Agent 可能偏离任务的情境。它据此提出:不能期待处于这些情境中的 Agent 完全自我约束。
这是一种厂商设计判断,不意味着每个 Agent 遇到阻碍都会越界。但它指出了一个工程问题:当执行计划失败时,系统不能只依赖模型自行判断下一步是否合规。
例如,可以用一个假设场景检查设计:Agent 无法调用获准工具后,尝试启动另一个进程。此时,“只能使用指定工具”的提示词能表达意图,却不能代替进程创建权限的检查。
两类机制承担的责任不同:
- 任务指令告诉 Agent 应完成什么,以及如何处理限制。
- 执行控制决定某次文件读取、网络连接或工具调用是否真的被允许。
NVIDIA 提出的带外执行原则,是把控制机制放在 Agent 内部及其可触及范围之外。关键不只是另加一个检查模块,而是避免 Agent 能修改策略、停用检查,或绕过检查进入另一条执行路径。
因此,评估安全边界时,需要沿着实际操作链路检查,而不能只阅读系统提示词。
二、OpenShell:把访问边界落实到运行过程

二、OpenShell:把访问边界落实到运行过程
按 NVIDIA 的描述,OpenShell 为每个 Agent 提供沙箱,将操作者的要求转成可验证策略,并对文件、网络、工具、进程和凭证的访问设置限制。它既在运行前检查这些边界,也在执行过程中实施约束。
这里的 AI agent sandbox,重点是给执行环境划定边界。Agent 可以在边界内制定计划,但不应拥有自行扩大边界的权限。
所谓 agent policy enforcement,也就是策略强制执行,关注的是实际请求能否通过检查。例如,“只处理项目资料”还需要进一步明确:
- 哪些目录可以读取,哪些位置允许写入?
- 是否需要访问外部网络,允许连接哪些服务?
- 哪些工具和进程可以启动?
- 凭证由谁提供,Agent 能否读取或修改其来源?
这些是审查自身设计的问题,并非某个版本的配置说明。不能把“将要求转成策略”理解为写一句自然语言,就自动得到完整、正确的权限配置。
这一层的核心价值,是让限制不再完全依赖模型每次都作出正确判断。不过,沙箱也需要接受检查:策略文件、运行时配置和管理接口是否与 Agent 隔离?如果 Agent 能改掉限制,边界仍然不牢固。
三、DOCA 与 BlueField-4:记录关联和独立执行位置
运行时负责限制资源访问,硬件层则进一步回答:如果主机环境本身不再可信,观察和控制还能放在哪里?
先看职责,避免把几个产品名称理解成同一种防护:
| 组件或层次 | NVIDIA 描述的主要职责 | 不能直接推出的结论 |
|---|---|---|
| OpenShell | 沙箱隔离、策略检查、运行期间的访问限制 | 所有部署都不存在绕过路径 |
| DOCA | 连接 BlueField 安全基础与 OpenShell 策略,关联活动记录 | 有记录就一定能识别或阻止所有风险 |
| BlueField-4 | 在指定拓扑中提供带外观察和策略执行位置 | 任意服务器都具备相同覆盖范围 |
| Sentry | 可与 OpenShell 配合使用的可选安全层 | 它是运行 OpenShell 的必需条件 |
按该参考架构的描述,DOCA 让 BlueField 的安全基础可编程,并将其与运行时策略连接。它关联 Agent 交互、策略决策,以及工具和数据访问,形成带有上下文的活动记录。
这种关联有助于审查“发生了什么,以及当时依据什么策略作出决定”。但记录能力与阻断能力不能混为一谈,日志本身不等于请求已经被拒绝。
硬件位置也有明确前提。在 NVIDIA 描述的特定 Vera Rubin POD 拓扑中,每个计算托盘包含一颗 BlueField-4 数据处理器,位于节点通向模型的唯一路径上。NVIDIA 将其描述为与主机隔离、处于 Agent 可触及范围之外,可持续观察行为并实时执行安全策略的基础设施层。
这里的“唯一路径”很重要:控制点只有覆盖相应路径,才有机会约束经过它的操作。不能据此推断其他硬件部署中的全部文件、工具或网络访问也受到同样覆盖。
NVIDIA 还将 Sentry 定位为可选附加层,而非 OpenShell 的必需组成部分。所供材料没有独立验证这些机制能降低多少风险,也不足以证明其优于其他方案。
四、把参考架构变成自己的设计审查问题
对学习或开发自主 Agent 的人,更有用的做法,是画出一条真实调用链:模型作出决定后,请求经过哪些组件,最终由谁访问资源。再逐项检查:
- 限制由谁执行?
为每项敏感操作标出实际拒绝请求的组件。如果答案只有“模型应该知道不能做”,说明尚未找到独立执行点。
- Agent 能否触及控制层?
检查策略文件、管理凭证、监控进程和日志位置。不要只确认 Agent 的业务权限,还要确认它不能改动约束自身的机制。
- 是否存在替代路径?
沿工具调用、子进程和网络连接继续追踪。主路径被拦截,不代表另一种调用方式也经过相同检查。
- 记录能否解释一次拒绝或放行?
检查能否关联发起请求的 Agent、访问目标、策略决定及执行结果。缺少这些上下文时,排查越界尝试会更困难。
- 控制失效后,谁能中断执行?
明确停止任务、撤销访问和处理异常的责任归属,并检查这些操作是否仍依赖正在被限制的 Agent。这里需要验证自己的实现,不能直接套用厂商架构结论。
如果你正在美国申请 AI/ML Engineer、Platform Engineer 或 Security Engineer 等相关岗位,也可以用这套问题解释项目设计:具体保护什么资源,检查发生在哪里,哪些限制经过测试。没有实施过的硬件层,应写成架构评估,而非部署经验。
最终应形成一张可检查的边界图:Agent 负责规划,运行时约束访问,独立控制层在其覆盖路径上观察和执行。每一层都要写清适用条件,尤其是它管不到什么。
