Cursor 10 月 29 日发布安全通告:它的 VS Code 扩展市场里出现了一个被篡改的 Anthropic.claude-code 2.1.313 版本,这个版本并非 Anthropic 开发,最多约 5000 名用户下载过。Cursor 已经下架该版本,一度关闭整个扩展市场,轮换自家密钥后重建上线,并表示会逐一联系受影响用户。
按通告给出的时间,恶意版本从太平洋时间当天凌晨 2:27 前后可以下载,到下午 1:35 才被撤下,前后约 11 个小时。Cursor 称官方版本和市场里的其他扩展目前没有发现被改动的迹象。
装上之后它做了什么
这个扩展先收集一轮主机信息:主机名、用户名、操作系统和架构、主目录路径、环境变量的名称、当前工作目录、Git 邮箱和公网 IP,再通过 HTTP POST 发到攻击者服务器 8099 端口的 /beacon 接口。
接着它试图留一扇长期后门:往 authorized_keys 里写入攻击者的 SSH 公钥,打开本机 SSH 服务,再建一条反向 SSH 隧道连回去。在 macOS 上它用 LaunchAgent 做持久化,在 Windows 上尝试以 SYSTEM 身份注册计划任务,失败就退回启动脚本,后台脚本大约每 60 秒重试一次隧道。
攻击者的代码本身有缺陷。除非 Cursor 是以管理员权限启动的,建隧道这一步多半会失败。攻击者服务器也已经被托管商下线,隧道和信息上报目前都连不上。Cursor 提醒,隧道没建成不等于没事,公钥、持久化脚本和已经发出去的主机信息可能都已落地。
“Uninstalling the extension may not be sufficient — the payload drops standalone persistence scripts that keep running.”(卸载扩展可能不够,载荷会留下独立运行的持久化脚本。)
用户该查什么
通告给的排查办法比较直接:看 SSH 授权列表里有没有名为 svc-telemetry 的公钥;在终端、网络和扩展安装日志里搜索它列出的 IP、端口和两份 VSIX 文件哈希(分 macOS arm64 和 Windows x64 两个包)。发现执行痕迹的机器先隔离,用官方脚本清掉密钥、持久化项和隧道进程,必要时重装。
最后一条容易被跳过:这台机器能访问的凭据和会话都要换,而且要在一台干净的电脑上换。Cursor 的说法是,扩展只读了环境变量的名字,没读值,但后门一旦打通,攻击者完全可以回头再拿。
编程工具成了供应链靶子
把这件事放回过去一年看,AI 编程工具周边的供应链事故一直没断。站内报道过 LiteLLM 1.107.0 被投毒、专门窃取 AI 服务密钥,也报道过一个 VS Code 插件漏洞导致 3800 个 GitHub 仓库失窃。这一次攻击者挑中的是 Claude Code 这个名字,它装机量大,用户又习惯给它开终端和文件权限,冒名的收益很高。
Cursor、Windsurf 这类基于 VS Code 改出来的编辑器不能直接用微软的官方扩展市场,只能接 Open VSX 或者自己搭一套分发渠道,审核和签名机制各家不一。Anthropic 目前没有就此事公开回应,冒名版本是怎么以官方发布者身份上架的,Cursor 也没有说明,这一环没补上之前,别的热门扩展也可能被同样冒用。
对国内开发者来说,用 Cursor 的人不少,公司内网机器上装着这类编辑器的也多。如果 10 月 29 日前后更新过 Claude Code 扩展,照着上面的步骤查一遍成本很低。
参考来源:Cursor 安全通告(核验受影响版本号、下载时段与 5000 人上限)、CocoLoop、Cursor 通告所附失陷指标清单(核验端口、重试间隔与两份 VSIX 哈希)。