Claude Dispatch 被浏览器扩展当跳板:一句「装个包」就在你电脑上跑代码

终端安全厂商 Forever Security 本周公开了一项测试:一个能在 claude.ai 页面上运行脚本的浏览器扩展,可以借 Claude 的 Dispatch 功能向 Claude Desktop 下发指令,让它在用户电脑上安装并运行任意代码。整个过程不需要用户在场,也不需要点任何东西——批准框出现在扩展控制的网页里,脚本每秒自动点一次「允许」。

这暴露的不是某个单点 bug,而是 AI 桌面智能体这一类产品的共性设计问题:一个能执行命令的代理,配上一个接受网页会话的任务入口,等于把浏览器扩展的权限直接升级成了本机代码执行。

事件概述

Dispatch 是 Claude 的一项功能,用来从手机把任务派给 Claude Desktop,界面上归属于 Cowork,位于左侧面板。Claude Desktop 本身是能在本机执行命令的 AI 代理。

研究者 Gal Weizman 发现,Dispatch 除了接受手机端配对,还接受 claude.ai 上的一个普通登录会话——尽管网站上没有任何指向 Dispatch 的入口。这一步是关键:网页会话一旦被认作合法任务来源,跑在该页面上的浏览器扩展就能冒充用户下发指令。

研究者 5 月 14 日向 Anthropic 报告,5 月 19 日被确认为有效,但随后以「与内部已发现的问题重复」为由关闭。Anthropic 在 10 月 13 日告知研究者,Dispatch 将下线,目标时间是 10 月底。但截至报道时,Dispatch 的帮助页面(上周晚些时候更新)没有提到下线,只说不再对新用户开放,已经在 Pro、Max、Ultra 套餐上使用的人「可以继续用一段时间」。

研究者明确表示这不代表已经发生真实攻击,测试是在自己的环境里完成的。

技术细节

利用条件有四个,都不苛刻:

  • 有一个能在 claude.ai 上执行脚本的扩展。它可以是恶意扩展,也可以是正经扩展被投毒的更新,或者一个自身有漏洞的扩展。
  • 用户同时登录了 claude.ai 和 Claude Desktop,并且开着 Dispatch。
  • 电脑处于唤醒状态,桌面应用正在运行。Dispatch 只在这时工作。
  • 扩展不需要浏览器漏洞,也不需要绕过任何沙箱。

测试过程是这样的:页面上的脚本打开 Dispatch,以用户身份连发四条指令,要求 Claude 安装一个 npm 包。Claude 第一次犹豫了,对一个陌生包表达了疑虑;脚本随后用用户的语气补了一条消息,说服它继续。Claude 在执行前会请求批准,但这些批准提示渲染在扩展控制的网页里,脚本每秒点一次「允许」,于是没有人需要盯着屏幕。最后 Claude 执行了全局 npm 安装,包的安装脚本弹出了计算器——证明代码已经在本机跑起来了。

同样的路径换成窃取文件或安装后门,效果一样,因为 Claude 在这台机器上有相应权限。研究者还提到一个更麻烦的场景:Dispatch 本来就是跨设备功能,扩展理论上能触达同一 Claude 账号在另一台电脑上的 Claude Desktop。这一情形在文中做了描述但未演示。他们还在客户环境中见过把个人 Claude 账号用在公司电脑上、并开启跨设备 Dispatch 的情况——个人账号连家用机,工作电脑也登录同一个账号,等于把两台机器连成一条链。

最值得记下来的一句结论来自研究者本人:Anthropic 下线的是 Dispatch,不是它背后的设计。他们指出 Claude Code Remote Control 和 Claude Cowork 会话这两个功能,同样能让扩展完成这次攻击,只是还没做测试,后续会补一篇。

影响评估

影响面取决于有多少人开着 Dispatch,官方没有披露数字。但风险结构很清晰:AI 桌面代理的权限等同于当前登录用户,能读写文件、执行命令、访问凭据;而它的指令入口只要接受网页会话,就把「浏览器扩展被投毒」这类常见事件的后果,从「偷走某个网站的 Cookie」升级成「在主机上执行任意代码」。

对企业来说,还有一个合规层面的问题:员工在自己电脑上开的 AI 代理,可能连着公司电脑上的同一个账号。这类影子 IT 通常不在终端管理清单里,EDR 也未必认得它在干什么。

把它和本周另一条消息对照看更有意思:微软同一天披露 AI 智能体正被用来批量扫 GitHub 找密钥。攻防两端都在把「能自主执行多步任务的代理」当基础设施用,而这类代理的指令来源校验,普遍比它的执行能力落后一大截。

修复建议

  • 关掉不需要的跨设备 Dispatch,位置在 Claude Desktop 左侧面板的 Cowork 里。确实要用的,把设备配对、审批、移除流程过一遍,明确谁能派任务进来。
  • 把浏览器扩展当普通软件管:查权限、控安装源、盯住「更新后权限变大」的扩展。这一条对所有 AI 网页端都适用,不限于 Claude。
  • 监控代理在本机做了什么:意外的包安装(尤其是全局 npm/pip 安装)、系统设置变更、对凭据目录的访问、新增的对外连接。这几类信号在正常办公行为里很少同时出现。
  • 开发者侧的统一建议:不要在装了 AI 代理的机器上保留生产环境凭据;需要跑不可信代码的,放进虚拟机或独立用户配置。

参考来源