追梦学习库

装过Claude Code插件?3分钟自查SSH后门教程

4 阅读
文章摘要

Cursor扩展市场10月29日混入被篡改的Claude Code插件2.1.312/2.1.313,会偷加svc-telemetry SSH钥匙并做持久化。本文讲清影响范围,给出macOS/Windows一条命令自查方法、痕迹文件清单和中招后的清理与密钥轮换步骤。

如果你在 Cursor 里装过 Claude Code 插件,这篇 SSH 后门自查教程值得花 3 分钟看完。10 月 29 日,Cursor 官方发布安全通告:它的 VS Code 扩展市场里,一度出现了被篡改的 Anthropic.claude-code 插件(2.1.312 和 2.1.313 两个版本),会偷偷往电脑里加一把攻击者的 SSH 钥匙,并尝试建立反向隧道。微软安全团队随后也发布了技术分析。下面用大白话讲清楚:发生了什么、谁可能中招、怎么一条命令自查、中招了怎么处理。

一、到底发生了什么

按 Cursor 的通告,在美国太平洋时间 10 月 29 日凌晨 2:27 到下午 1:35 之间(约合北京时间 10 月 29 日 17:27 到 10 月 30 日 04:35),Cursor 扩展市场里的 Claude Code 插件被换成了恶意版本。注意两点:

  • 这两个恶意版本不是 Anthropic 开发的,微软也确认,官方 Visual Studio Marketplace 和 npm 上的版本没有受影响,目前证据显示问题只出在 Cursor 扩展市场。
  • 受影响的是 Windows 和 macOS 上,在这段时间里安装或自动更新到 2.1.312 / 2.1.313 的用户。

Cursor 发现后立刻下架了恶意版本,把整个扩展市场临时关停、轮换密钥、重建后再上线,还联系云服务商把攻击者的服务器关掉了。Anthropic 随后发布了干净的 2.1.314 版本。

二、这个恶意插件干了什么

微软的分析显示,攻击者在插件的 extension.js 开头塞了一段代码,插件一加载就会执行,真正的 Claude Code 功能照常运行,所以用户表面上察觉不到异常。它主要做了四件事:

  1. 收集电脑信息并回传:主机名、用户名、系统、主目录、工作目录、Git 邮箱、公网 IP,以及环境变量的名字(安全公司 RFF 的分析称,会挑出名字里带 KEY、TOKEN、SECRET 等字样的变量名)。
  2. 往 SSH 授权文件里加钥匙:在 authorized_keys 末尾追加一把备注为 svc-telemetry 的公钥。谁拿着对应私钥,理论上就能登录你这台电脑的账户。
  3. 尝试打开本机 SSH 服务并建立反向隧道,连到攻击者服务器。
  4. 做持久化:macOS 上装一个名为 com.apple.sysmond 的 LaunchAgent,Windows 上建名为 SysMon 的计划任务,失败则在启动文件夹放 sysmon.cmd,大约每 60 秒重试一次隧道。

好消息是:开启本机 SSH 服务需要管理员权限,大多数普通 Mac 和 Windows 电脑上这一步会失败,攻击者也就没法通过隧道登录;而且攻击者服务器已经下线。但 Cursor 强调,钥匙、持久化脚本和回传信息这几步可能已经发生,所以仍然建议所有可能受影响的人按步骤处理。如果你的 Mac 打开了“远程登录”,或者本来就开着 SSH 服务,风险更高,要当成已被入侵来对待。

三、一条命令自查(3 分钟)

核心判断标准:你的 SSH 授权文件里有没有 svc-telemetry 这把钥匙。

macOS

打开“终端”,粘贴下面这行(来自 Cursor 官方通告):

grep -qs svc-telemetry ~/.ssh/authorized_keys && echo "svc-telemetry key found" || echo "No key found; machine not impacted"

输出 No key found 就说明没有被加钥匙;输出 svc-telemetry key found 说明中招了。

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" }

顺手再查几个“痕迹文件”

Cursor 和微软列出的可疑文件,可以对照看看有没有:

系统 可疑位置
macOS ~/Library/LaunchAgents/com.apple.sysmond.plist、~/.config/.smt、~/.config/.smtk、临时目录下 .stk_ 开头的文件
Windows 计划任务 SysMon、%USERPROFILE%\.config\smt.cmd、%USERPROFILE%\.config\smtk、启动文件夹里的 sysmon.cmd、%TEMP% 下 .stk_ 开头的文件
Linux ~/.config/.smt、/tmp/.stk_ 开头的文件、crontab 里的 @reboot 可疑行

另外,安全公司 RFF 提醒:光看版本号不够,因为篡改版沿用了正常的版本号格式,更靠谱的是看插件目录里的 extension.js 是否包含 svc-telemetry 字样。

四、中招了怎么办

Cursor 给的处理步骤,翻译成普通人能操作的版本:

  1. 先断网隔离:发现钥匙的电脑先别继续连公司内网或服务器。
  2. 运行官方清理脚本:Cursor 通告里提供了 macOS 的 remediate-macos.sh(用当前用户运行,不要用 root)和 Windows 的 remediate-windows.ps1(用管理员身份打开 PowerShell 运行)。脚本会删除恶意插件、持久化任务、隧道进程和攻击者钥匙,如果还有残留会以非零状态退出。
  3. 别以为卸载插件就完事:恶意代码会单独落地持久化脚本,卸载插件后它们可能还在跑。
  4. 手动删钥匙时要精准:只删除备注为 svc-telemetry 的那一行,别把自己正常使用的 SSH 钥匙一起删了。
  5. 换一台干净的电脑去改密码和令牌:这台电脑上能访问到的账号、API Key、Git 令牌、云平台密钥,都建议轮换一遍,并检查 SSH 登录日志。必要时考虑重装系统。

五、常见疑问快速解答

问:我用的是 VS Code 官方商店装的 Claude Code,要不要查?
答:微软确认恶意包从未在 Visual Studio Marketplace 和 npm 上发布过,按目前证据风险很低。但跑一遍上面的自查命令只要几秒钟,求个安心也值得。

问:我是 10 月 30 日之后才装的,有影响吗?
答:恶意版本在北京时间 10 月 30 日凌晨 4 点半左右就被下架,之后市场重建上线,官方已提供干净的 2.1.314 版本。如果你确认安装时间在这之后,且版本是 2.1.314 或更新,一般不在受影响范围内。

问:查到了钥匙,但我的电脑没开 SSH 服务,是不是就安全了?
答:攻击者大概率没能登录进来,但你的主机名、Git 邮箱、环境变量名等信息可能已经被发走,持久化脚本也可能还在后台运行。所以依然要清理,并轮换重要的密钥和令牌。

六、给国内开发者的几点提醒

现在国内很多人用 Cursor、VS Code 配合 AI 编程插件写代码,这次事件说明:插件市场本身也可能成为攻击入口。几个低成本习惯值得养成:

  • 关键插件关掉自动更新,出安全通告后先确认版本再升级;
  • 不要用管理员身份长期运行编辑器,这次很多电脑就是因为没有管理员权限才躲过了最危险的一步;
  • 不用 SSH 远程登录时,把系统的“远程登录”或 SSH 服务关掉;
  • API Key 尽量不要明文放在全局环境变量里,用完及时轮换;
  • 定期打开 authorized_keys 看一眼,认不出来的钥匙要警惕。

AI 编程工具越好用,权限就越大。花 3 分钟跑一遍上面的自查命令,比事后补救省心得多。

参考来源

分享到:
大流量号卡
软件目录

发表评论

请先 登录 再评论