Incident notes · 2026 年 11 月 14 日
Cursor 安全事件更新:中文全文与后续报道
Cursor 在 2026 年 11 月 13 日发布调查更新,说明 10 月底安全事件的起因和影响范围。本页给出原文中文全文,并整理 Fireworks、Anthropic、Microsoft、Notion 和安全研究者的后续信息。
先说结论
据 Cursor 说,攻击的起点是 Cursor 发给推理服务商 Fireworks 的一把访问密钥,这把密钥在 Fireworks 一侧泄露。攻击者先拷走一批 2025 年为主的 agent 记录,再用其中没有脱敏的凭据进入 Cursor 的 SaaS 工具,最后在 10 月 29 日把带 SSH 后门的 Claude Code 扩展放进 Cursor 扩展市场的缓存,约 11 小时,最多 5,000 名用户可能装到。
Fireworks 在 10 月 6 日和 10 月 24 日各有一次入侵,同一时期 Notion 也因为 Fireworks 泄露了部分 AI 对话记录。Fireworks 的公告没有点名 Cursor,Cursor 也没有说密钥是在哪一次入侵中泄露的。
一、Cursor 原文中文译文
原题:An update on our recent security incident。作者:Cursor Team。发布:2026 年 11 月 13 日。Cursor 官方账号 2026 年 11 月 14 日 01:13 UTC 在 X 上转发了这篇文章。
10 月 29 日,我们发布通告:我们正在调查一起安全事件,Cursor VS Code 扩展市场里出现了 Anthropic Claude Code 扩展的一个恶意、未经授权的副本。过去两周我们做了深入调查,现在说明这次攻击的更多背景和相关影响。
绝大多数客户没有受到影响。每一位受影响的客户,我们都已经直接联系,并告知适用于他们的细节。
保护客户数据安全是我们认真对待的核心优先事项。这次事件涉及我们存储和共享的数据、我们签发的凭据,以及我们运营的系统。我们正在处理这些影响,并根据这次的教训加强安全措施。
发生了什么
调查拼出了下面这幅图景:
- 起点在 Fireworks。攻击者拿到了我们发给 Fireworks 的一把访问密钥。这把密钥由 Fireworks 泄露,攻击者用它从一个只读存储桶里拷贝数据。这个存储桶是我们和 Fireworks 共享数据用的,里面有少量 coding agent 记录(trace),大多来自 2025 年,来自没有开启隐私模式(Privacy Mode)的会话,我们获准把这些数据用于模型训练。其中少数记录含有没有脱敏的凭据;不到 0.01% 的客户有 API 凭据暴露。攻击者从这些凭据出发,进入了 Cursor 使用的部分 SaaS 工具。通过这些工具,攻击者访问了:部分已归档、非生产环境的 Cursor 源代码仓库(有些含有商务联系信息);有限的客户支持数据和邮件往来;产品使用指标和联系方式;部分 coding agent 对话的摘要;以及一些用户发给 Cursor 支持团队的凭据。
- 我们的监控系统发现了未经授权的活动。发现后,我们停用了这家供应商的密钥,启动了事件响应,开始吊销和轮换凭据,并排查是否还有其他未经授权的访问。每发现一处新的访问,我们就切断它。出于谨慎,我们临时停用的内部服务和产品服务远超证据所需的范围,这让部分 Cursor 功能短暂中断。每项服务在确认安全后都已恢复。
- 攻击者发布了一个恶意扩展。10 月 29 日,攻击者用从我们内部系统泄露数据中偷到的一个凭据,把 Anthropic Claude Code 扩展的恶意、未经授权副本直接放进了为 Cursor VS Code 扩展市场提供服务的缓存。这个副本不是 Anthropic 发布的,也不是 Anthropic 产品的漏洞。扩展市场的源头 Open VSX 从来没有这个恶意软件。10 月 29 日请求了特定缓存版本的用户中,最多 5,000 人可能收到了恶意版本。它在线约 11 小时后被我们移除。我们下架了它,让扩展市场整体下线,并和托管攻击者服务器的云服务商合作,关停了那台服务器。
- 我们通知了客户。10 月 30 日,我们在博客和 X 上发布安全通告,给出入侵指标、修复步骤和检查系统用的脚本,并开始通过应用内通知和邮件通知受影响的用户和团队管理员。凡有凭据暴露,我们都给团队管理员发邮件,列出需要轮换的具体密钥,并请签发这些凭据的第三方服务吊销它们。凡可能涉及客户支持数据或商务数据,我们都直接通知了客户。如果你在暴露窗口内从 Cursor VS Code 扩展市场安装或更新到了被篡改的 Anthropic.claude-code 2.1.312 或 2.1.313,请按安全通告里的步骤处理。只卸载扩展可能不够。
- 我们认为事件已经得到控制。我们看到的攻击者最后一次活动在 11 月 1 日,且已被拦截。我们会继续监控系统里的异常活动,继续加强安全控制。如果发现影响客户的新信息,我们会直接联系客户。
没有受影响的部分
- 如果你开启了隐私模式,你的提示词和代码不受影响。
- 没有开启隐私模式的用户中,coding agent 记录被暴露的不到 0.05%。我们已经找出这些用户,并逐一直接通知。没有收到通知,就说明你的数据不在这些记录里。
- 你现在发给 Cursor 的任何数据或实时流量不受影响。暴露的记录数据只限于用于历史离线分析的存储。
- 运行 Cursor 的生产系统和基础设施不受影响。
- Cursor 应用及其官方更新、我们发到客户端和云服务的代码不受影响。我们从一个独立的代码托管系统发布 Cursor,攻击者从未访问过它,发布签名密钥也没有暴露。
- 我们的其他产品不受影响,包括面向客户团队的 Cloud Agents、Grok Bot 和其他所有 SpaceX SI 产品。
- 扩展市场里的其他扩展不受影响。我们验证了其他所有扩展都是正版,并审查、重建了扩展商店。
- 进行中的推理请求没有暴露。出于预防,我们把所有推理都从这家第三方训练和推理供应商迁走了。
- 从 Cursor Marketplace 下载的插件不受影响。
- 客户的代码仓库不受影响。
我们已经做的事
- 把所有推理流量从 Fireworks 迁走,停用发给它的密钥,切断它对我们共享的所有数据集的访问。
- 按风险从高到低,轮换了找到的每一个暴露的 Cursor 凭据;出于预防,还轮换了内部系统里在用的所有凭据,包括没有暴露证据的。
- 验证扩展市场里其他所有扩展都是正版,审查并重建了 VS Code 扩展市场。
- 在可行的地方,扩大对各服务商的网络访问限制,让被盗的凭据离开预定位置就无法使用。
- 给所有代码仓库加上密钥扫描和防护,并把扫描扩展到其他内部数据源。
- 出于预防,重新部署全部生产基础设施和服务;每个内部服务恢复前都经过审查。
- 请外部取证专家协助调查。
- 联系了所有受影响的人。
接下来
我们向受这次事件影响的人道歉。隐私和安全是最高优先级,我们能做得更好,也必须做得更好。我们正在用这次的教训让 Cursor 更安全。如果有重要变化,我们会更新这篇文章。
有问题请发邮件到 [email protected]。
二、攻击链和时间线
攻击链五步
下面按 Cursor 的说法整理。每一步都依赖上一步拿到的东西。
- Cursor 发给 Fireworks 一把访问密钥,用来读取一个共享存储桶。密钥在 Fireworks 一侧泄露。
- 攻击者用密钥拷走存储桶里的 agent 记录。这些记录来自没开隐私模式的会话,大多是 2025 年的。
- 少数记录里有没脱敏的凭据。攻击者用这些凭据进入 Cursor 用的 SaaS 工具,拿到归档代码、客服数据、使用指标、对话摘要和用户发给客服的凭据。
- 从这些内部数据里,攻击者又偷到一个能写入扩展市场缓存的凭据。
- 10 月 29 日,攻击者把带后门的 Claude Code 2.1.312 和 2.1.313 放进缓存。最多 5,000 名 Cursor 用户可能装到。
合并时间线
时间来自各方公告。没有注明时区的,按原文日期。
| 日期 | 事件 | 来源 |
|---|---|---|
| 2025 | 被拷走的 agent 记录大多产生于这一年 | Cursor 更新1 |
| 10-06 | Fireworks 发现第一次入侵:攻击者用 Fireworks 内部凭据读取部分客户评测任务的环境变量,里面有 API 密钥和令牌 | Fireworks 公告3 |
| 10-09 | Fireworks 发布第一份公告 | Fireworks 公告3 |
| 10-23 | 托管 Fireworks 研发机器的第三方云服务商发生安全事件 | Fireworks 更新4 |
| 10-24 | 攻击者借此进入 Fireworks 开发机,运行未授权任务,造成更多客户数据暴露;Fireworks 当天发现 | Fireworks 更新4 |
| 10-29 | 太平洋时间约 02:27 到 13:35,恶意扩展在 Cursor 扩展市场缓存里可下载;Cursor 发布安全通告 | Cursor 通告2 |
| 10-30 | Phorion 05:30 UTC 发布分析,Hacker News 讨论帖到 1,014 分、553 条评论;Anthropic 的 Felix Rieseberg 说 Anthropic 系统没有被入侵;Microsoft、Socket 发布分析;Anthropic 在 npm 发布 2.1.314 | 5 6 7 8 9 |
| 10-30 | Cursor 太平洋时间 11:30 更新通告,补充入侵指标,把受影响版本扩大到 2.1.312 | Cursor 通告2 |
| 11-01 | Cursor 看到的攻击者最后一次活动,已被拦截 | Cursor 更新1 |
| 11-02 | Google 威胁情报组和 Mandiant 发文介绍 LLMJacking;同一晚 Fireworks 通知 Notion 有数据被访问 | 12 11 |
| 11-03 | Notion 切断与 Fireworks 的连接,删除 Fireworks 系统里的数据 | Notion 公告11 |
| 11-08 | Fireworks 向 Notion 确认一批含真实对话记录的数据被访问 | Notion 公告11 |
| 11-09 | Fireworks 发布更新公告;Notion 发布安全通告 | 4 11 |
| 11-12 | Quinn Batten 发文,认为 Notion 违反了自己的数据不留存政策 | 14 |
| 11-13 | Cursor 发布本页翻译的调查更新 | Cursor 更新1 |
三、其他来源补充的信息
Fireworks 的两份公告
Fireworks 一共发了两份公告,两份都没有提到 Cursor,也没有提到“发给 Fireworks 的客户存储密钥”。
- 10 月 9 日第一份:攻击者用 Fireworks 内部凭据,读取了“少量客户账户”评测任务里的环境变量,其中有作为密钥存储的 API 密钥和令牌。Fireworks 提醒客户:只删除存储的密钥不会让底层凭据失效,要到签发方那里轮换3。
- 11 月 9 日更新:第三方云服务商 10 月 23 日出事,攻击者 10 月 24 日借此进入 Fireworks 开发机。被访问的数据包括资源元数据、账单信息,以及部分客户的未完成模型权重和数据集。Fireworks 说证据指向一个以 LLMJacking 牟利的犯罪团伙,即盗用大模型访问额度再转卖。Fireworks 请了 Palo Alto Networks Unit 42 协助取证,并暂停了批量推理和数据集训练的自助上传下载4。
Cursor 原文里“由 Fireworks 泄露”的链接指向 Fireworks 公告列表页,没有指向具体哪一份。
恶意扩展的技术细节
Phorion 的 Calum Hall 最早公开分析这个扩展,Microsoft 安全团队第二天补充了检测方法。两份分析的主要内容如下6 7:
- 恶意代码插在压缩后的
extension.js开头,Node 加载文件时立即执行,早于扩展自己的activate,不需要用户操作。 - 它把注释为
svc-telemetry的攻击者公钥写进~/.ssh/authorized_keys,尝试开启本机 SSH,再用内置私钥向 134.209.82.225 建立反向隧道,每 60 秒重试。 - 它通过明文 HTTP 向攻击者 8099 端口发一次信标,内容有主机名、用户名、系统、Git 邮箱、公网 IP,以及名字里带 KEY、TOKEN、SECRET 的环境变量名(最多 40 个,只发名字不发值)。
- 它会写入持久化脚本:macOS 用伪装成
com.apple.sysmond的 LaunchAgent,Linux 用 crontab 的@reboot,Windows 用名为 SysMon 的计划任务。 - Phorion 指出代码有几处错误:macOS 上没有管理员权限时,检查 SSH 状态的命令输出报错但返回 0,脚本因此不会执行开启命令;Linux 上检查 crontab 的写法可能清掉已有任务。Microsoft 提醒,错误被静默吞掉,所以看到残留文件不等于攻击成功,没看到也要按指标排查。
Anthropic 的回应
10 月 30 日,Anthropic 技术人员 Felix Rieseberg 在 Hacker News 和 X 上回应:
We’re working with Cursor on this incident, but it wasn’t a compromise of Anthropic’s systems or employee laptops. A malicious actor used access to Cursor’s marketplace to publish a tampered copy of the Claude Code extension, which we didn’t build or publish.Felix Rieseberg,Hacker News 评论,2026-10-30
Microsoft 的分析也写道:Anthropic 告诉 Microsoft 其系统没有被入侵;恶意包从未出现在 Visual Studio Marketplace 和 npm 的 @anthropic-ai/claude-code 上7。Cursor 11 月 13 日的更新与这一说法一致。
分发渠道的更正
事件刚曝光时,多篇报道说恶意版本出现在 Open VSX 上,后来都改了:
- Phorion 在 10 月 30 日 09:13 UTC 把受影响的市场更正为 Cursor,10 月 31 日把 2.1.312 加进受影响版本6。
- Socket 检查了 Open VSX 的变更记录:2.1.312 和 2.1.314 各有 8 个平台的发布记录,2.1.313 没有任何发布或删除记录;npm 上也没有 2.1.313。Socket 还指出,最早流传的那张“2.1.313 发布于 3 小时前”的截图,文件大小和正版 2.1.314 一致,疑似经过编辑,原发布者后来删掉了它8。
- Cursor 11 月 13 日的更新说,恶意副本放在 Cursor 自己的缓存里,源头 Open VSX 从没有过这个恶意软件1。
Notion 也受 Fireworks 牵连
Notion 在 11 月 9 日发布通告。Fireworks 先在 11 月 2 日说被访问的只是合成测试数据,11 月 6 日改口说可能涉及客户数据,11 月 8 日确认了一批 Notion AI 对话记录,用于 Insights 功能。Notion 说受影响的不到 1% 的工作区,大部分记录没有作者和工作区标识。Notion 已关闭 Insights,不再通过 Fireworks 提供开源权重模型11。Hacker News 上这条通告的讨论有 166 分、66 条评论。
有报道把 Cursor、Notion、Harvey 都列为 Fireworks 第二次入侵的受害客户15,但 Fireworks 公告没有点名任何客户,这份名单待确认。
评论者的看法
- Quinn Batten(11 月 12 日)认为 Notion 走的是 Fireworks 的批量推理接口,而 Fireworks 文档写明这个接口不支持数据不留存;多名企业管理员说 Insights 默认开启,没有找到“强制不留存”的开关。文中引用了一位 Fireworks 联合创始人的公开帖子,说是 Notion 选择了批量接口。作者也承认部分来源匿名、部分结论是推断14。这篇讲的是 Notion,但问题同样适用于 Cursor:拿去做训练的记录放在供应商可读的存储里,就要承担供应商的安全水平。
- DEV Community 上的一篇解读把教训写成一句:“供应商密钥就是爆炸半径的决定”,入侵不是从 Cursor 自己的基础设施开始的13。这是短评,没有新事实。
- CIO.com 的文章主张把 Claude Code、Codex、Cursor 这类工具当作有特权的供应商来管,连同它们的插件、连接的服务器和模型提供商一起审查16。
- Hacker News 讨论里,用户 orlp 指出 VS Code 的“自动更新延迟”对 Microsoft、GitHub、OpenAI 等受信任发布者不生效,用户也不能自己设定受信任名单5。另一位用户 anon-3988 说,用 Claude Code、Codex 的人每天都在运行一段能执行任意命令的程序。
四、仍未说清的问题
- 密钥在哪次入侵中泄露。Fireworks 有 10 月 6 日和 10 月 24 日两次事件。Cursor 没有说是哪一次,也没有说密钥什么时候泄露、Cursor 什么时候发现。待确认。
- 为什么记录里有没脱敏的凭据。Cursor 只说“少数记录”含凭据,没有说送给供应商前做过什么过滤。改进措施里有“扩展密钥扫描到其他内部数据源”,可以推测之前这些记录没有经过密钥扫描,但原文没有明说。
- 写入扩展缓存的凭据是什么。原文只说是“从内部系统泄露数据中偷到的一个凭据”,没有说它属于哪个系统、为什么能直接改写缓存。
- 5,000 这个数字怎么算的。原文说“最多 5,000 名请求了特定缓存版本的用户可能收到”,没有给出实际装上并运行的人数。
- 受影响用户有没有被真正登录。Cursor 10 月 29 日的通告说大多数 macOS 和 Windows 机器上开启 SSH 会失败。Microsoft 提醒 Linux 路径不同,结果取决于主机权限和 SSH 配置。
五、自查方法
只在 2026 年 10 月 29 日从 Cursor 扩展市场安装或更新过 Anthropic.claude-code 2.1.312 或 2.1.313 的机器需要查。以下命令照抄自 Cursor 10 月 29 日通告2。
macOS:
grep -qs svc-telemetry ~/.ssh/authorized_keys && echo "svc-telemetry key found" || echo "No key found; machine not impacted"
Windows PowerShell:
$files = "$HOME\.ssh\authorized_keys", "C:\ProgramData\ssh\administrators_authorized_keys" | Where-Object { Test-Path $_ }
if ($files -and (Select-String svc-telemetry $files)) { "svc-telemetry key found" } else { "No key found; machine not impacted" }
找到这把密钥,就按通告运行 remediate-macos.sh(以受影响用户身份运行,不用 root)或 remediate-windows.ps1(以管理员身份运行),再从一台可信的机器上轮换这台机器能访问的凭据。
其他入侵指标:
- 攻击者地址
- 134.209.82.225(SSH 22 端口,HTTP 8099 端口 /beacon)
- 公钥指纹
- SHA256:0Z6R+DF64Do2nwQic8a7kkfDLNNk4IiK+2U2Rci4htk
- 恶意 extension.js
- SHA-256 ecb58cb29078d9646ad1dcdbe51526f2d9cfea06be5fb2ab183e8ecc3ab6bf15
- macOS 持久化
- ~/Library/LaunchAgents/com.apple.sysmond.plist、~/.config/.smt、~/.config/.smtk
- Linux 持久化
- crontab @reboot 运行 ~/.config/.smt;/tmp/.stk_ 开头的文件
- Windows 持久化
- 计划任务 SysMon;Startup 目录下的 sysmon.cmd;%USERPROFILE%\.config\smt.cmd
六、方法与来源
译文根据 2026 年 11 月 14 日抓取的 Cursor 博客原文翻译,没有删减。推文数据通过 fxtwitter 接口读取:取样时浏览 110,814 次、点赞 960 次、回复 91 条。补充信息来自网页搜索和直接抓取原文,Hacker News 数据来自 Algolia 接口。Dark Reading、The Hacker News、eSecurityPlanet 的文章拒绝抓取,没有用作来源。没有找到 Cursor 或 Fireworks 对“密钥在哪次入侵中泄露”的说明。
- Cursor,《An update on our recent security incident》,2026-11-13,cursor.com/blog/security-incident-update;X 转发:x.com/cursor_ai
- Cursor,《Security notice — malicious version of Anthropic.claude-code》,2026-10-29,10-30 更新,cursor.com/blog/claude-code-extension-security-notice
- Fireworks AI,《Fireworks October 2026 security incident》,2026-10-10 更新,fireworks.ai/security/bulletins
- Fireworks AI,《Update on October 2026 security incident》,2026-11-09,fireworks.ai/security/bulletins
- Hacker News,《Backdoor in Claude Code for VS Code extension on the Cursor Marketplace》讨论帖,2026-10-30,news.ycombinator.com
- Phorion,Calum Hall,《Official Claude Code VSX compromise》,2026-10-30,10-31 更新,phorion.io
- Microsoft Security Blog,《Inside malicious Claude Code-branded Cursor extension》,2026-10-30,microsoft.com/security/blog
- Socket,《Cursor Removes Malicious Claude Code 2.1.313 Extension From Its Marketplace》,2026-10-30,socket.dev
- The Register,Anthropic 否认系统被入侵的报道,2026-10-30,theregister.com
- Implicator,Anthropic 声明报道,2026-10-31,implicator.ai
- Notion,《Security incident involving a third-party AI vendor》,2026-11-09,notion.com/security/advisories
- Google Cloud Blog,GTIG 与 Mandiant,《The Rise of LLMJacking》,2026-11-02,cloud.google.com/blog
- DEV Community,《Cursor's Security Incident, Explained》,dev.to
- Quinn Batten,《Notion violated their own security policy》,2026-11-12,quinnbatten.com
- Tech Insider,Fireworks 第二次入侵报道(客户名单未经 Fireworks 证实),tech-insider.org
- CIO.com,《Claude Code, Codex and Cursor have become part of your software supply chain》,cio.com
- BleepingComputer,《Fireworks AI discloses new breach after cloud provider hack》,2026-11-10,bleepingcomputer.com