Cursor商城恶意扩展尝试植入SSH后门
据报道,Cursor商城分发的Claude Code扩展2.1.313遭篡改,约11小时内最多可能被5000名开发者下载,安装后即执行信息收集和SSH后门植入。Cursor已下架扩展并临时关闭市场,部分设备可能因恶意代码错误而未成功开启远程访问。
AI 深度解读
从 Cursor 官方商城安装 Claude Code 扩展,也可能把 SSH 后门装进开发机。据 IT之家转述的报道,被篡改的 2.1.313 版本分发约 11 小时,最多可能有 5,000 名开发者下载。这个数字是潜在下载规模,不能直接当成成功入侵数量。
这次攻击没有破坏扩展原有功能,而是把恶意加载器插在入口文件前面。它提醒程序员:工具能正常工作、来自官方商城,都不足以证明安装包安全。理解它如何执行、收集什么、怎样留下远程入口,比只记住一次安全新闻更有用。
扩展功能没变,为什么开发机仍会中招
报道给出的恶意版本号是 2.1.313,分发窗口为太平洋时间凌晨 2:27 至下午 1:35,对应北京时间 10 月 29 日 17:27 至 10 月 30 日凌晨 4:35,持续约 11 小时。
Cursor Marketplace 是 Cursor 用来发现、安装和管理 Plugins 的官方市场,可以为 AI Agent 接入外部工具、数据源和工作流。这次被篡改的软件包以 Anthropic Claude Code 的名义出现,但攻击者如何获得发布机会,Cursor 尚未说明。
安全研究人员发现,攻击者保留了原有合法功能,只在 extension.js 文件开头插入恶意 JavaScript 加载器。按报道描述,开发者安装后恶意代码便会自动运行,无须与 Claude Code 交互。
扩展能正常使用,并不能排除它同时执行恶意代码。
这里的关键不在模型回答是否可靠,而在扩展代码进入了开发机的执行环境。仅靠打开扩展、试用几个功能,很难发现这种额外行为。
它想拿走什么,又怎样保住远程入口
恶意代码先收集设备和开发者信息,包括用户名、主机名、公网 IP、Git 邮箱,以及与敏感凭据相关的环境变量名称,再发送到攻击者服务器。
原文说的是环境变量「名称」,没有明确说凭据值已被读取或上传,不能据此断言所有密钥都已泄露。但这些信息仍可能帮助攻击者识别设备、关联开发者身份,并判断环境里可能使用了哪些服务。
随后,它会添加攻击者控制的 SSH 密钥,尝试启用 SSH 访问,并建立反向隧道。反向隧道可以理解为:让开发机主动向外连接,为攻击者提供返回设备的通道。
为了在后续继续运行,它还会利用 macOS LaunchAgent,或 Windows 计划任务、启动脚本实现持久化,约每分钟重试一次连接。攻击目标因此不只是执行一次脚本,而是留下可持续使用的远程入口。
后门代码有错误,为什么仍不能当作虚惊
报道指出,恶意程序在 SSH 配置环节存在明显错误:macOS 上没有以管理员权限执行检查命令,Windows 上则错误调用 Unix shell /bin/ sh。因此,许多 Windows 和 macOS 设备可能没有成功开启远程访问。
但远程入口未成功建立,与信息未被收集是两件事。原文没有给出各阶段的成功数量,也没有说明哪些设备完全未受影响。
Cursor 已下架恶意扩展,临时关闭整个扩展市场,审查其他插件并轮换访问密钥;同时协同托管服务商关闭攻击者服务器,切断反向 SSH 连接和数据回传。
这些措施处理了分发入口和攻击基础设施。不过,报道没有说明已经写入设备的密钥、计划任务或启动项是否被自动清理,不能把服务器关闭等同于本机已经恢复干净。
我的判断
这起事件最有价值的提醒,是把注意力从「AI 是否会生成危险代码」拉回到「开发工具本身执行了什么」。官方商城是分发渠道,原有功能正常是运行表现,两者都不能单独充当安全结论。
同时,报道的信息还不足以还原完整攻击链。发布权限如何失守、最终多少设备形成后门、哪些数据实际回传,都没有明确答案。最多约 5,000 次潜在下载,也不能写成约 5,000 台设备被控制。
对团队而言,限制扩展来源、审核版本更新,比完全依赖个人判断更容易落地;但这次恰好说明,允许官方商城来源仍有局限。集中审批也需要核对具体版本和异常行为,不能只认产品名称。原文没有提供不同防护方案的对照数据,无法据此判断哪种措施能降低多少风险。
能拿来做什么
- 如果你在上述时间窗口安装或更新过该扩展,先核对是否为 2.1.313,并记录安装时间、设备和版本,供团队排查。
- 对疑似受影响的开发机,检查新增 SSH 密钥、异常外连,以及 macOS LaunchAgent、Windows 计划任务和启动脚本,不要只停留在卸载扩展。
- 团队维护 AI 编程扩展清单时,把具体版本、来源和更新时间一起记录。出现供应链事件后,这些信息能帮助快速缩小排查范围。
- 排查凭据风险时,区分环境变量名称被收集与凭据值泄露,再结合设备上的执行痕迹确定处置范围,避免把报道未证实的情况当成事实。