Cursor复盘安全事件,假扩展没连上也得清理。

Cursor复盘安全事件,假扩展没连上也得清理。

摘要 Cursor两周后的调查把历史会话泄露与假扩展串了起来:供应商访问密钥暴露后,旧会话里的凭证又被用于进入内部工具。最多约5000人可能拿到假扩展;官方称多数机器无法经隧道登录,但残留公钥和自启脚本仍需清理。

在Cursor里装过Claude Code,没收到数据泄露通知,是否就不用检查电脑?这次调查给出的判断需要分开看:通知说明的是哪些历史数据被拿走,扩展风险还要核对当时的下载渠道、版本和时间。Cursor公布的这份两周调查更新,补上了10月底通告没有讲清的攻击路径。

旧会话里的凭证,把攻击带到了扩展缓存

Cursor这份页面标注11月13日的更新,回顾的是10月29日那起安全事件。官方在10月29日(太平洋时间)当天发出通告,30日补充了版本和入侵迹象说明;这次约两周后的调查说明了起因和数据范围,没有宣布一次新的投毒。

Cursor称,起点是一把它签发给Fireworks的访问密钥,被Fireworks暴露了。 Fireworks是它使用的第三方训练与推理供应商。攻击者拿这把密钥拷走了一个只读存储桶里的数据;存储桶可以理解为云端存文件的空间,“只读”限制修改,却不阻止持钥匙的人复制内容。

桶里是有限的编码智能体痕迹,也就是AI执行编程任务时留下的会话记录,多数来自2025年未开启Privacy Mode(隐私模式)、当时获准用于模型训练的会话。少数记录里混有未脱敏的凭证,攻击者据此进入Cursor使用的部分SaaS工具,即在线托管的业务软件,再从内部系统暴露的数据中拿到凭证,伸向扩展分发环节。

Cursor调查描述的攻击路径:签发给Fireworks的密钥暴露,历史痕迹被复制,痕迹中的凭证用于进入部分内部SaaS工具,内部数据中的凭证又被用于写入扩展市场缓存。密钥由Fireworks暴露是Cursor的说法。

落点在Cursor自己的VS Code扩展市场缓存。缓存是为了更快分发而保存的安装包副本;攻击者把假的Claude Code直接放进了这一层。Cursor明确表示,Anthropic没有发布这个副本,这不是Anthropic产品的漏洞,扩展市场源站Open VSX也从未出现这份恶意软件。

Fireworks在10月9日发布、10月10日更新过安全公告,11月9日又扩大了影响说明,但两份公告都没有点名Cursor。时间上吻合,双方却没有明确说就是同一起事件;因此,不能把Fireworks对自身事件的攻击者归因直接套到Cursor身上。

两个很小的百分比,说的不是同一件事

Cursor给出的第一个数字很明确:不到0.01%的客户有API凭证暴露。 API凭证相当于程序调用服务时出示的钥匙,比例的对象是客户,衡量的是凭证泄露。

另一个数字涉及编码智能体痕迹。官方先限定“未使用Privacy Mode的用户”,随后写“不到0.05%的用户”有痕迹暴露,并称已逐一通知。原句没有进一步明确百分比的分母是否仅包含未开隐私模式的人,不能自行补上这个统计口径,更不能把它改成全事件的受影响率。

两个口径分别看:不到0.01%的客户有API凭证暴露;历史痕迹一项先限定未开Privacy Mode,再称不到0.05%的用户。后一比例的统计分母未进一步明确,不可将两者合并为总受影响率。

数据也不只有会话痕迹。Cursor说,攻击者通过部分内部工具接触到一些归档的非生产源代码仓库(其中部分含商务联系信息)、有限的客服数据与邮件、产品使用指标与联系方式、部分编程会话摘要,以及用户曾发给支持团队的一些凭证。这些内部与客服数据,不能被简写成“所有人的代码仓库都泄露了”。

更新同时列明了未受影响的项目:

  • 开启Privacy Mode时的提示词和代码;当前发送给Cursor的数据及实时流量。泄露的痕迹限于用于历史离线分析的存储。
  • 运行Cursor的生产系统和基础设施;Cursor应用及正式更新、向客户端和云服务交付的代码,以及发布签名密钥。客户代码仓库也在未受影响清单中。
  • Cloud Agents、Grok Bot及其他SpaceX SI产品;扩展市场中的其他扩展,官方称已核验真实性并重建市场。
  • 正在进行的推理请求,以及从Cursor Marketplace下载的插件。这里的Marketplace插件,与此次出问题的VS Code扩展市场缓存要分开看。

这些是Cursor的调查结论。对于历史痕迹,官方说没收到通知就表示数据不在这些痕迹里;这一句话不能用来排除假扩展那条线,也不能把“隐私模式下的提示词和代码未受影响”扩大成整台电脑不会中招。

假扩展可能被下载,不等于后门已经连通

需要对照的是Windows或macOS上、从Cursor VS Code扩展市场安装或更新的 Anthropic.claude-code 2.1.312和2.1.313。暴露窗口为2026年10月29日太平洋时间约02:27—13:35;当天仍是夏令时PDT,换算为北京时间10月29日17:27至10月30日04:35,约11小时8分。

假扩展暴露窗口:太平洋时间2026年10月29日02:27至13:35(PDT),对应北京时间10月29日17:27至10月30日04:35。官方范围为Windows和macOS,在Cursor VS Code扩展市场安装或更新2.1.312或2.1.313。最多约5000人可能下到特定缓存版本,不代表都执行了后门。

Cursor称,最多约5000名在当天请求特定缓存版本的用户可能拿到恶意构建。这是“可能下载到”的上限,不是5000台电脑都已经执行后门,更不是5000台都被远程控制。

按通告,这个扩展会回传主机名、用户名、系统和架构、home目录、工作目录、配置的Git邮箱、公网IP,以及环境变量的名字,而非变量值。环境变量是程序读取配置的一种方式,名字本身可能透露机器上使用了哪些服务。

它还会往SSH授权公钥文件 authorized_keys 中加入注释为 svc-telemetry 的攻击者公钥,尝试开启本机SSH服务,再打通反向隧道。SSH用于远程登录,反向隧道则从这台电脑主动向外连接,供远端沿连接回来访问。macOS上的LaunchAgent、Windows上的SysMon计划任务及Startup回退脚本用于持久化,也就是让这段程序以后还能自动运行;后台脚本约每60秒重试隧道。

但关键一步通常过不去。Cursor说,恶意代码本身有错误,除极少见的以管理员权限启动Cursor的情况外,这一步会失败;开启本机SSH也需要多数macOS和Windows主机上的恶意扩展并不具备的管理员权限,因此攻击者无法通过隧道登录。官方还已联合云厂商下线攻击服务器。准确的提醒是:大概率没连上,但装过问题版本仍要按官方脚本清理。

没连通,也可能留下公钥和自启脚本

连通失败没有撤销之前发生的动作。Cursor明确指出,攻击者公钥已被加入,持久化已被安装,主机信息已被发出;扩展还会另放下独立运行的脚本,所以只卸载扩展可能不够。

清理需要覆盖扩展之外的残留:攻击者SSH公钥、持久化脚本和运行中的隧道进程。后门大概率没有连通,不能代替官方自查与清理;还需从可信机器轮换受影响主机可访问的凭证和会话。

对照上述渠道、版本和时间后,按Cursor官方安全通告自查。进入Cursor官网的Blog,找到2026年10月29日、标题以“Security notice — malicious version of Anthropic.claude-code”开头、含版本2.1.312和2.1.313的通告。页面目录中的“Check whether you are impacted”是自查入口,“Remediate affected machines”是清理入口。

官方判断依据是SSH授权公钥文件中是否有注释为 svc-telemetry 的攻击者公钥,找到即属于受影响机器。自查命令和平台清理脚本应直接取自通告,不从二次转述复制,也不把Windows、macOS的操作套到其他系统。

发现载荷执行或后门安装迹象的主机,按通告隔离并清理公钥、持久化和隧道进程,评估是否需要重建系统;再从一台可信机器上轮换受影响主机可访问的凭证和会话。收到Cursor邮件或应用内通知的人,另按通知中列出的具体数据和密钥处理。

Cursor称,最后一次看到的攻击活动在11月1日且已被阻断,认为事件已得到控制;它已把全部推理流量迁离Fireworks、停用签发给对方的密钥,并轮换发现暴露的凭证,作为预防措施还轮换了内部系统所有在用凭证。公司请了外部取证专家协助,但未在更新中公布第三方报告。这仍是官方调查判断。

对用过Cursor的人,真正有用的是把两项核对做完:历史数据看具体通知,假扩展看安装记录与官方自查结果。一个“没收到邮件”或一个“现在扩展已卸载”,都不能替另一项作答。

DeepSeek开放应用API,搜索读文件一起接入。 2026-11-14

评论区