NewToken 新词元关注新智能
读懂

Cursor 的训练数据里躺着没脱敏的密钥

Cursor 承认 10 月的扩展投毒起于交给 Fireworks 的一把钥匙,钥匙能读的训练数据里留着没脱敏的凭据,最多 5000 名用户收到后门。

专题Fireworks AI:持续追踪主线监管·安全·出口

读懂|Cursor 的训练数据里躺着没脱敏的密钥
本文提纲3 节
  1. 从一把供应商钥匙到扩展市场缓存
  2. 只读权限挡不住能读到的密钥
  3. 三家客户的账都绕开了 Fireworks 的边界

一份交给推理供应商的训练数据里留着凭据,一把外泄的钥匙就这样走到了用户电脑上的后门。据 Cursor 11 月 13 日发布的事故更新,10 月 29 日那次扩展投毒,起点是 Cursor 发给推理平台 Fireworks AI 的一把访问密钥。

钥匙能读的存储桶里,有一批没脱敏、还留着凭据的编程智能体记录。我们的判断是:Fireworks 丢了钥匙,让这把钥匙一路走到用户电脑的,是 Cursor 自己的数据管道。

从一把供应商钥匙到扩展市场缓存

把 Cursor 和 Fireworks 的公告排在一起,链条是这样的,日期按美国太平洋时间:

  • 10 月 6 日:据 Fireworks 10 月 10 日更新的公告,它发现内部凭据被盗用,部分客户账户里存作密钥的 API 密钥和令牌被截获,9 日晚公开发布并要求受影响客户去发证方轮换。
  • 10 月 24 日:据 Fireworks 11 月 9 日的更新,攻击者借一家云服务商的事故进入其开发机,波及更多客户数据。
  • 10 月 29 日之前,日期未披露:攻击者用 Cursor 发给 Fireworks 的钥匙,从双方共享的只读存储桶复制编程智能体记录。
  • 同一段时间:攻击者用记录里的凭据,进入 Cursor 使用的部分 SaaS 工具。
  • 10 月 29 日:攻击者用从内部系统偷到的凭据,把篡改版 Claude Code 扩展直接放进 Cursor 扩展市场的缓存,挂了约 11 小时。
  • 11 月 1 日:Cursor 看到的最后一次攻击活动,被拦下。

Cursor 10 月 29 日的安全通知只写了 2:27 到 13:35 这段窗口和清除办法,没提 Fireworks。11 月 13 日的更新才写明起点。

最多 5,000 名用户可能收到带后门版本,这个上限此前只见安全公司转述,这次写进了 Cursor 自己的公告。Cursor 称篡改版不是 Anthropic 发布的。

还有一处没查清。Cursor 没说这把钥匙在 Fireworks 哪一次入侵中外泄,也没说 10 月 9 日之后是否收到过受影响通知。如果它在 10 月 6 日那批被截获的密钥里,从公开要求轮换到投毒隔了 20 天。这一条无法核实,我们不写进结论。

只读权限挡不住能读到的密钥

更新里最该看的,是存储桶里装了什么。据 Cursor,这些记录多数来自 2025 年,出自没开隐私模式、Cursor 获准用于模型训练的会话。其中「少量」记录里的凭据没有脱敏。

影响面按 Cursor 自己的数:不到 0.01% 的客户 API 凭据外泄;不开隐私模式的用户里,不到 0.05% 的人记录被看到。

钥匙本身是只读的。只读挡住了改写,挡不住被读走的凭据,而读走的凭据又打开了别的门。据 Unite.AI 的梳理,攻击者顺着这些凭据拿到了归档的非生产代码仓库、客服邮件、用量数据,还有用户发给客服的凭据。扩展投毒只是这条链的最后一环。

Cursor 列出的补救里有一条:在全部代码仓库加上密钥扫描,并把扫描扩到其他内部数据源。事发前这批训练数据多半不在扫描范围内,这是分析推断,依据是更新用的是「新增」和「扩展」。

有人会说,Fireworks 先被攻破,Cursor 也是受害者。它切断供应商、轮换全部内部凭据,隐私模式用户和发布签名密钥都没受影响。应急这一段我们认。

我们不接受的是另一件事:把留着凭据的记录放进外部供应商读得到的地方,是 Cursor 自己定的,和 Fireworks 守不守得住无关。

三家客户的账都绕开了 Fireworks 的边界

这是一周里第三家查明事故源头在 Fireworks 的公司。本站 11 月 12 日写过 Notion 交去分类的 AI 对话,11 月 14 日写过 Uber 的司机驾照,现在是 Cursor 的智能体记录和扩展市场。

Fireworks 10 月的公告说,未发现「在 Fireworks 安全边界或控制范围内」的个人信息被访问。Uber 和 Cursor 的数据都放在自家存储里,是被存在 Fireworks 的钥匙打开的,这句话字面上站得住。

可它对受害的用户没有用处。Notion 的对话就存在 Fireworks 的系统里,Fireworks 11 月 9 日的更新也改口承认部分数据集被访问,却仍没写这些钥匙通向了哪里。

Fireworks 要为丢钥匙负责,Cursor 要为钥匙能开什么负责。最多 5,000 名用户收到的那个后门,账先记在 Cursor 把未脱敏凭据送进训练数据管道的那一步上。

来源

引用与数据Markdown 镜像