Cursor恶意插件没拿到管理员权限,还会有什么风险?

源自82位全网作者

14:21

10 月 29 日,Cursor 的 VS Code 扩展市场在架了一个被篡改的 Claude Code 官方扩展(Anthropic.claude-code 2.1.312 与 2.1.313,覆盖 Windows 和 macOS),恶意版本上架窗口约 11 个小时。这波恶意版本影响了全球约 5000 名开发者,这个数字出自 IT之家转引的 BleepingComputer 报道。Cursor 官方公告里也有一个看似的好消息:真正让攻击者远程登录的那一步——开启本地 SSH 服务、建立反向隧道——需要管理员权限,而大多数人并没有以管理员身份启动 Cursor,这一步大多失败。但这不等于"没事了":提权挡住的只是最后一步,信息收集、SSH 公钥写入、持久化落地,这三件事在普通用户权限下已经全部完成。没拿到管理员权限,意味着攻击者没能当场登录你的电脑,不意味着它什么都没拿走、什么都没留下。哔哩哔哩微博哔哩哔哩

已经拿走的:一台开发机的地图

按官方公告对恶意载荷的描述,扩展一加载就自动执行,收集并上报主机名、用户名、操作系统与架构、主目录路径、环境变量名称、工作目录、已配置的 Git 邮箱和公网 IP。这些都在用户权限之内,不需要任何提权动作。对一台普通电脑,这组信息只是一份指纹;对一台开发机,它是一张目标地图——Git 邮箱直接把这台机器和它背后的公司、代码库挂钩;环境变量值没有被收集,但变量名已经暴露了这台机器和团队在用哪些工具与秘密管理体系。泄露的价值不在事件当天,而在之后:攻击者可以用它筛选哪台机器值得二次攻击,也能针对特定的公司、特定的开发者定制钓鱼和社工话术。Cursor官网

已经留下的:一把钥匙,和一个每 60 秒重试的驻留程序

载荷的第二个动作是把攻击者的公钥写进受害用户的 SSH 授权密钥文件,密钥的注释标签伪装成 svc-telemetry——这个文件位于用户主目录,写入不需要任何权限。失败的是后面启用 SSH 服务那一步。也就是说门锁还没撬开,但钥匙已经插进了锁孔:远程登录是开发者常用的开关,未来任何一次手动打开、或被某个软件代劳打开 SSH 服务,这把已经写入的公钥都会立刻可用。Cursor官网

持久化同样已经落地:macOS 上伪装成系统服务的 LaunchAgent,Windows 上的计划任务(尝试以 SYSTEM 身份运行,失败则回退到登录启动脚本),后台脚本大约每 60 秒重试一次隧道建立。这就是为什么卸载扩展不等于清干净——官方明确提醒,有效载荷会释放独立的持久化脚本,卸载扩展之后仍会继续运行。Cursor官网

目前的止损情况:Cursor 已联合托管服务商关停攻击者服务器,反向 shell 和主机信息上报暂时失效。但驻留脚本还在按约 60 秒一次的频率重试,只要攻击者恢复服务端,留在机器里的组件就会自动重连,不需要任何新的入侵动作。Cursor官网

它比常见的"仿冒插件"难防在哪

以往的插件市场事故多是蹭名字,用户得自己挑错。这次不同:恶意包用的就是真实的官方扩展 ID(Anthropic.claude-code),发布者显示为 Anthropic,版本号顺着正常更新的序列往上走——用 B站科普视频的说法,“发布者是真的,东西是假的”。知乎上的复盘说得更直接:这和以往靠仿冒名字骗安装的"李鬼扩展"不一样,用户什么都没做错,自动更新就把恶意代码拉了下来。Cursor 审计后确认其他扩展没有被篡改,npm 上的 Claude Code CLI 和 Open VSX 版本也正常,公告中尚未解释攻击者为何能以 Anthropic 名义上架。对所有人有效的一句话结论是:"从官方市场安装"这个动作本身,已经不再构成完整的来源验证。哔哩哔哩知乎Cursor官网

可能中招的机器,现在要做三件事

自查:在 macOS 终端运行 `grep -qs svc-telemetry ~/.ssh/authorized_keys`,Windows 则检查 `%USERPROFILE%.sshauthorized_keys`、计划任务里有无名为 SysMon 的项目、启动文件夹有无 sysmon.cmd。有输出,说明机器已经被动过。

清理与升级:命中自查项的,运行官方提供的修复脚本(macOS 以受影响用户身份执行,Windows 需以管理员运行 PowerShell 脚本),官方同时建议把 Claude Code for VS Code 升级到 2.1.314 及以上版本。微博

凭证处置:在这台机器可访问的范围内轮换密钥、令牌和会话。官方公告写明,虽然载荷收集的环境变量有限,但仍不能排除攻击者之后通过后门访问凭证的可能;企业场景下还应评估是否重建主机。Cursor官网

回到选题的问题:没拿到管理员权限,意味着这个 SSH 后门在大多数机器上没有走完最后一步——进不来。但"拿走的"和"留下的"都不需要提权,并且已经发生。正确的姿态是把这台机器当作"已经泄露过、并且体内留了东西"来处置,先跑自查命令,再跑清理脚本,最后轮换凭证,而不是因为"它没拿到管理员"就不做任何清理。

内容由AI生成
0
扫一下,分享更方便,购买更轻松
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

最新文章 热门文章