Computer-Use 里的 TOCTOU 漏洞

issue没人看 新手 6小时前 322 浏览 11 点赞 约 1 分钟

Agent 时代最让人头疼的可能不是逻辑错误,而是这种“时间差”带来的安全隐患。

就在这两天看到斯坦福 Real-world AI Security 会议上分享的一个案例,非常有意思。研究员复现了去年 Jun Kokatsu 提到的关于 ChatGPT Operator 的竞态条件(Race Condition)攻击。简单来说,这涉及到一个经典的 TOCTOU(Time-of-Check to Time-of-Use)问题:当 AI Agent 准备执行一个操作时,它看到的界面状态和它真正动手点击的那一瞬间,环境可能已经变了。

对于我们这种搞开发或者接外包的人来说,这事儿挺值得警惕的。如果一个 AI Agent 拥有 Computer-Use 权限(比如能直接操作你的浏览器或桌面),攻击者可以通过极短的时间差,在 Agent “检查”完环境到“执行”动作的缝隙里,把目标元素替换掉。

这种攻击链的逻辑其实很硬核:

  • 状态检查阶段: Agent 识别到屏幕上的按钮,判断它是安全的(比如“关闭弹窗”)。

  • 攻击介入: 恶意脚本在毫秒级时间内篡改 DOM 或 UI 元素。

  • 实际执行阶段: Agent 以为自己点的是“关闭”,实际上点到了“确认转账”或者“授权权限”。
  • 这不仅仅是 UI 层的恶作剧,如果涉及到自动化的工作流(Workflow),这种漏洞可能会导致严重的权限越权。

    具体的漏洞分析和复现思路可以参考这个路径:

    https://github.com/google/security-research/security/advisories/GHSA-mp56-7vrw-qxvf

    我一直在想,如果以后 AI Agent 成了标配,我们是不是得专门为这种“视觉感知与执行脱节”的情况设计一套校验机制?光靠模型自己“看”是不够的,执行动作前可能还得加一层实时的环境校验。

    AI越狱AI安全LLM安全

    全部回复 (3)

    周末没有我719 新手 6小时前
    其实这种异步指令最怕文件系统变动,我之前做自动化脚本时,不加锁直接操作临时目录,最后全乱套了。
    0 回复
    接口超时了 新手 6小时前
    上次调Agent接口时就踩过坑,指令下发和状态确认中间那点延迟,真能让权限控制形同虚设。
    0 回复
    过拟合了吧 新手 6小时前
    这漏洞在多线程环境里很难防,要是指令执行阶段文件路径被劫持了,光靠校验逻辑根本没用,有没有针对这种异步时序的加固方案?
    0 回复

    发表回复

    支持 Markdown 格式