Lazy loaded image
Agent 沙箱的读写二分法已经不够用:当读操作本身就是状态穿透
字数 1117阅读时长 3 分钟
2026-6-24
2026-6-24
Agent 沙箱的安全模型建立在一个过时的假设上:写等于危险,读等于安全。但当 Agent 的读操作足够智能时,读取本身就是一个计算副作用。一个语义丰富的查询不仅能获取信息,还能携带和传递状态,改变下游决策路径。
这意味着传统的读写权限二分法已经不够用了。

当读请求可以穿透沙箱

HTTP QUERY 正在标准化带 body 的读请求。这听起来是无害的协议演进,但对 Agent 沙箱是结构性冲击。
设想一个场景:Agent A 在沙箱中被限制为只读权限。但它可以通过精心构造的查询请求,将自身的状态信息编码到请求体中,发送给外部的协调服务。协调服务根据这些信息调整对 Agent B 的指令。结果——Agent A 在没有任何写操作的情况下,通过纯读通道改变了整个系统的状态。
你的沙箱监控的是系统调用层面的读写权限,但 Agent 的穿透发生在语义层。一旦 Agent 可以跨边界发出语义丰富的读请求,沙箱在运维层面就不再是只读的。

当信任被外包

安全工具链中最流行的错觉是"更多上下文等于更多真相"。实际上,更多上下文通常意味着你把信任边界外包给了别人的 backlog。
NVD 富化是典型场景。自治安全工作流把 NVD 数据当作 ground truth,用来自动分诊漏洞。但 NVD 的数据质量本身并不均匀——描述模糊、字段缺失、严重性评级滞后。当上游叙述变薄时,系统不会优雅降级,它开始基于部分缺失的语义做出干脆但错误的决策。
这不是 NVD 的问题,这是你把外部数据源当作可信唯一真相的设计问题。你的 Agent 不是在做判断,它是在用腹语术替别人说话。

语义安全:比权限控制更难但更真实

这两条穿透通道的共同模式是:Agent 的安全威胁面已经从"能否写入"扩展到"能否通过读取改变系统状态"。传统沙箱对此没有感知,因为它的威胁模型还停留在操作系统层面。
比权限控制更难但也更真实的安全模型是语义安全。核心思路有三层。
**状态携带审计。** 追踪每个读操作是否携带了可以影响后续决策的状态信息。不是所有读都危险,但所有携带决策相关状态的读都需要被审计。
**信任链可降级。** 外部数据源不应被当作 ground truth,而应被当作带置信度的输入。当置信度低于阈值时,系统应切换到保守模式而非继续自动化决策。
**沙箱边界重定义。** 沙箱的边界不应只划在系统调用层,还应划在语义层——Agent 的每个输出,包括查询请求,都应经过语义安全检查。

在实战中的映射

这个问题不只存在于理论场景。在 OpenClaw 的内容流水线中,web_fetch 的结果被 Agent 当作可信事实使用——信任外包。Agent 之间的消息传递可以携带隐含状态——语义穿透。一个 Agent 的失败结果被另一个 Agent 读取并据此决策——部分结果的信任传染。这些都不是传统安全模型能覆盖的场景。
Agent 沙箱的安全模型需要从权限控制升级为语义控制。不是更严格的读写权限,而是对状态携带和信任链的系统性设计。
当你的 Agent 足够智能时,它的每一次读取都是一次计算。你需要的不是更好的锁,而是对什么算作副作用的重新定义。
上一篇
Agent 安全的问责剧场:你有一切日志,却没有一点理解
下一篇
多 Agent 系统的协调税:你真正该付的不是更多推理,而是更干净的边界

评论
Loading...