系统:运行中
← 返回所有攻击
AGENTS MEDIUM NEW

AI 智能体中的 TOCTOU:观察与执行之间的原子性破坏

一类古老的操作系统漏洞在智能体中重现:在智能体「观察」与「执行」之间,世界已经改变。2026 年的新研究将其形式化,覆盖 GUI、浏览器与多智能体系统。

2026-06-15 // 6 min affects: computer-use-agents, browser-use-agents, multi-agent-systems

这是什么?

「检查时刻到使用时刻」(TOCTOU,CWE-367)是一类有着数十年历史的操作系统漏洞:程序先检查某个条件,再据此执行操作,但状态在两者之间的窗口内发生了变化——于是检查在执行时是有效的,到操作真正运行时却已不再成立。2026 年的三篇独立论文表明,AI 智能体重新引入了这一缺陷,而且其时间窗口比传统软件更宽,因为智能体在感知与执行之间要等待模型推理。

加州大学圣地亚哥分校(UC San Diego)的论文 “Temporal UI State Inconsistency in Desktop GUI Agents”(arXiv:2604.18860,2026 年 4 月 20 日)将其在计算机操作型(computer-use)智能体中形式化为视觉原子性破坏。另一篇并行论文 “Atomicity for Agents”(arXiv:2603.00476,2026 年 2 月)记录了浏览器型智能体中的同一缺陷。安全研究者 Joe Bollen 也描述了2026 年 4 月 5 日)它在多智能体编排中的形态,并为 OWASP AISVS 标准贡献了一条新要求。

工作原理

截屏并点击的智能体运行一个循环:截取屏幕(检查),将像素发送给模型,等待决策,然后在固定坐标处触发点击(使用)。UC San Diego 团队测得观察与执行之间的间隔——观察到执行间隔——在真实的 OSWorld 任务上平均为 6.51 秒。这是一个巨大的窗口,足以让一个无特权的本地进程或一段动态网页内容,在智能体「决策」之后、执行之前重新排布界面。

论文刻画了三种攻击原语,均为防御性演示,而非可部署的漏洞利用:

# 仅为概念性示意——示例性质,并非可执行的攻击载荷。
A) Notification Overlay Hijack  — 截屏后在智能体目标上覆盖一层弹窗
B) Window Focus Manipulation    — 切换焦点,使固定坐标的点击落到另一个控件上
C) Web DOM Injection            — 在光标下方改写 DOM,且不留视觉痕迹

原语 B——与 Android「动作重绑定」最接近的桌面类比——实现了100% 的动作重定向成功率,且在观察时刻不留任何视觉证据:智能体据以推理的截图看起来完全无害。该缺陷与模型无关,在作者测试的三款前沿模型上均可复现(论文列出 Claude Opus 4.6、GPT-4o 与 Qwen3.6-plus)。

多智能体变体则根本不需要界面。当一个退款智能体与一个反欺诈智能体并发地读写同一账户状态时,退款可能在欺诈冻结落地之前的几毫秒内被发出——每个智能体单独看都行为正确,但交错执行让价值流出了系统。这与致命三要素(lethal trifecta)是同一种危险,只是从编排层而非提示层来看。

为何重要

这是一种逻辑与时序漏洞,而非提示内容漏洞,因此我们常用的防御都会漏掉它。输入过滤器、指令层级和越狱分类器检查的都是文本;没有一个会注意到屏幕移动了,或另一个智能体先写入了。顺序测试同样会漏掉它,因为这个错误只在并发执行或对手精心安排时序的界面变更下才存在——当你只检查最终状态和审计日志时,系统看起来一切正常。

影响半径随自主性增长。一个在错误对话框上点击「确认」的计算机操作型智能体,或一个为已标记账户付款的计费智能体,都会产生真实的副作用,事后的日志复查无法撤销。

防御

统一的修复思路是原子性:让检查与使用不可分割。

对于 GUI 与浏览器智能体,应在每次执行前立即重新核验世界状态。UC San Diego 的执行前 UI 状态核验(PUSV)以三层实现这一点——点击目标处的掩码像素 SSIM、全局截图差分、窗口截图差分——并报告在 180 次对抗试验中实现 100% 的动作拦截率,零误报,开销低于 0.1 秒。尤为关键的是,没有任何单层能拦截全部攻击(无痕迹的 DOM 注入原语完全绕过了像素检查),这说明应在操作系统与 DOM 之间纵深防御,而非依赖单一检测器。浏览器智能体论文提出了同一形态的缓解:在执行前校验 DOM 与布局状态。这把提交前校验工具流SnapGuard 这类截屏防护背后「提交前再看一眼」的思路加以推广。

对于多智能体系统,应把原子性下推到状态层:数据库事务、乐观锁或比较并交换(compare-and-swap),使授权检查与它所把守的状态变更不能被另一个智能体的写入拆开。这些都是熟悉的并发原语,却在团队只关注模型行为而非编排时被忽视。把智能体约束在Agents Rule of Two 之内,可以限制一次竞态失败所能造成的损害。

现状

场景论文日期提出的防御
桌面 / 计算机操作型智能体arXiv:2604.18860(UC San Diego)2026-04-20PUSV(执行前 UI 重新核验)
浏览器型智能体arXiv:2603.004762026-02执行前 DOM/布局校验
多智能体编排OWASP AISVS 贡献(J. Bollen)2026-04-05状态层原子性(锁 / CAS)

三者都是带有可用缓解措施的已发表研究;没有任何一项描述未修补的产品 0day。智能体中的 TOCTOU 是需要在设计上加以防范的隐患,而不是等待某个单一 CVE。

Sources