技术

Cursor为训练AI保存的编程会话遭窃,其中的密码让黑客投放了假冒Claude Code扩展

Adrian Kessler
在 Google 中添加我们

基于微软开源项目 Visual Studio Code 构建的 AI 代码编辑器 Cursor 表示,最近这起安全事件的源头,可能是大多数用户从未留意过的地方:公司留存下来用于训练 AI 模型的旧编程会话。部分已保存的对话中仍包含密码和 API 密钥。攻击者利用这些信息进一步渗透 Cursor 的系统,最终将植入后门的 Anthropic Claude Code 扩展副本塞进了编辑器自有的扩展市场。

这条攻击链真正值得所有曾把秘密信息粘贴给 AI 助手的人警惕。输入聊天窗口的密钥,不会随着会话结束而消失。如果工具保存了对话,这些秘密就会留在数据集中;任何能够访问该数据集的人,也就能拿到密钥。

根据 Cursor 的事件报告,问题始于外部公司 Fireworks AI。Cursor 曾使用这家公司提供模型训练和推理服务。攻击者拿到了 Cursor 发给 Fireworks 的访问密钥;Cursor 称,该密钥是 Fireworks 暴露出去的。攻击者随后利用它复制了两家公司共用的一个只读存储桶。里面存有代码智能体的运行记录,大多来自 2025 年,涉及用户未开启隐私模式的会话。隐私模式可以阻止 Cursor 将用户数据用于训练。Cursor 表示,受影响的运行记录涉及不到 0.05% 的用户,API 凭据暴露的客户则不到 0.01%。

这些遗留凭据让攻击者得以进入 Cursor 使用的多个软件即服务工具。随后,攻击者又接触到归档的非生产环境源代码、客户支持邮件、使用情况指标和联系信息、部分 AI 智能体对话的摘要,以及客户此前曾与 Cursor 支持团队分享的凭据。正如 BleepingComputer 所报道的,其中一项被盗凭据还能向 Cursor 扩展市场背后的缓存发布内容。

这就是伪造的 Claude Code 扩展得以出现的经过。编号为 2.1.312 和 2.1.313 的篡改版本在市场上停留了约 11 个小时。Cursor 估计,申请下载这两个版本的用户中,最多有 5,000 人可能拿到了恶意版本。该版本会运行代码,试图植入攻击者的 SSH 密钥,并持续远程访问开发者的电脑。Cursor 强调,这个副本并非由 Anthropic 发布,漏洞也不在 Anthropic 的产品中;Cursor 获取扩展的开放市场 Open VSX 从未上架过这款恶意软件。

这份报告也留下了一些疑问。Cursor 尚未说明这 5,000 台电脑中,究竟有多少台最终成功植入了后门。据 BleepingComputer 报道,安全研究人员发现了代码错误;在许多尚未启用 SSH 的 Windows 和 macOS 电脑上,这些错误很可能阻止了攻击。这意味着,原本就开启 SSH 的电脑暴露风险最高。公司也没有解释,为什么交给训练合作伙伴的数据中,凭据没有经过脱敏处理。这才是每一款从用户数据中学习的 AI 编程工具都应吸取的教训。开启隐私模式的用户得到了保护,但默认设置却让其他人的会话可用于训练。

Cursor 并非唯一的攻击目标。安全公司 Wiz 统计发现,至少有九家 AI 开发者平台在 10 月披露了安全事件。Wiz 将这波攻势称为“黑色十月”(Black October),攻击者的目标是寻找能够解锁付费 AI 模型的存储密钥。Fireworks 自身也披露了不止一起安全事件;Notion 则表示,少数工作区的 AI 聊天记录通过 Fireworks 遭到泄露。被盗的访问权限会被转卖,也可能被用于消耗由受害者付费的 AI 服务。在云托管服务 Railway,BleepingComputer 报道称,攻击者利用窃取的秘密信息进行调用,造成约 74 万美元的欺诈性 AI 费用。

Cursor 表示,公司已将所有推理流量迁出 Fireworks,轮换了内部系统中的全部凭据,重建扩展市场,并重新部署了生产基础设施。隐私模式用户、Cursor 应用及其官方更新均未受影响,也没有发布签名密钥遭到泄露。该服务在全球各地的运行方式相同,因此无论身处哪个市场,都应遵循同样的建议:凡是在 10 月 29 日从 Cursor 市场安装或更新到 Claude Code 2.1.312 或 2.1.313 的用户,都应按照公司的补救步骤处理;团队管理员则应核对 Cursor 通过邮件发送的密钥清单。

恶意扩展于 10 月 29 日上线,Cursor 在 10 月 30 日发布首份安全公告;公司检测到的最后一次攻击者活动则于 11 月 1 日被拦截。完整事件报告随后于 11 月 13 日发布。公司表示,如果发现其他受影响客户,将直接联系他们。对开发者来说,最稳妥的假设比任何补丁都简单:粘贴进 AI 聊天的密码,应当视为已经被记录在别处。

标签: , , , , ,

在 Google 中添加我们

讨论

有 0 条评论。