首页/文章/Cursor 市场里的 Claude Code 扩展被投毒?在新加坡 Mac mini 上做一轮扩展与 SSH 审计

Cursor 市场里的 Claude Code 扩展被投毒?在新加坡 Mac mini 上做一轮扩展与 SSH 审计

· Zumac.Ai

编辑器扩展市场能一键装上 Claude Code,也意味着自动更新会把「看起来官方」的包直接推进你的开发机。近日社区与厂商通报:Cursor 的扩展市场曾短暂提供一份被篡改的 Claude Code VS Code 扩展(版本号约 2.1.313),影响面以厂商披露为准。卸载扩展本身未必清干净持久化痕迹。本文不复述未核实细节,只给你一套在新加坡常开 Mac mini 上可复现的审计步骤:核对本机扩展、查 SSH 痕迹、升级到安全版本、再做一轮登录验收。

账号由你自己开通与登录。本文只讨论稳定合规的使用环境与机器侧配置,不涉及共享账号或绕过平台规则。

为什么这次特别适合放在常开整机上查

笔记本上偶尔打开 Cursor / VS Code,扩展版本与 ~/.ssh 容易「每台机器一份」。投毒扩展若写入授权密钥,你需要单一审计现场:固定一台常开整机查,远程接入不改变现场。把主力运行面放在这台机器上,日常用终端 CLI,图形扩展收紧自动更新,比多台各自自动更新更好盘点。

第一步:固定到新加坡 Mac mini 再动手

用 SSH 或 UU 远程连接登录机器后:

whoami
hostname
date
sw_vers
# 确认是你要审计的那台常开机,再继续

约定:

  1. 只在这一台做扩展与 SSH 审计;笔记本先别混着改配置,以免对照错机器。
  2. 先记下时间点:后面要对照扩展目录的修改时间、authorized_keys 的 mtime。
  3. 长操作放 tmux:审计命令多、输出长,断线别丢现场。
tmux new -s ext-audit || tmux attach -t ext-audit

第二步:核对本机 Claude Code 扩展版本

命令与路径随 Cursor / VS Code / 安装渠道略有差异,以你机器上实际目录为准。按下面顺序排查:

# 若本机有 code / cursor CLI,先列扩展
command -v cursor >/dev/null && cursor --list-extensions --show-versions | rg -i 'claude|anthropic' || true
command -v code >/dev/null && code --list-extensions --show-versions | rg -i 'claude|anthropic' || true

# 常见扩展目录(存在哪个查哪个)
ls -la ~/.cursor/extensions 2>/dev/null | rg -i 'claude|anthropic' || true
ls -la ~/.vscode/extensions 2>/dev/null | rg -i 'claude|anthropic' || true

验收要点:

  1. 版本号是否落在通报的问题区间(社区讨论集中在约 2.1.313;以厂商与发行说明为准)。若仍是该版本,优先升级到已修复版本(通报中常见目标为 2.1.314 及之后),不要继续在问题版本上跑自动任务。
  2. 发布者 / 扩展 ID 是否异常:同名扩展若来自非预期渠道,或目录名、发布者字段对不上你平时安装的那份,先停用再核对来源。
  3. 安装时间与自动更新时间:对照目录 mtime,是否落在你记忆中的「某次打开编辑器后自动升了级」。

图形界面侧:在 Cursor / VS Code 的扩展面板搜索 Claude Code,核对已装版本与更新说明;能关闭该扩展自动更新的,先关掉,改为你确认后再更。

第三步:查 SSH 与持久化痕迹(别只卸扩展)

投毒扩展若尝试写入 SSH 相关配置,卸掉扩展不等于清干净。在同一台 Mac mini 上做只读盘点(先看、再决定改):

# 授权密钥与 known_hosts 变更时间
ls -la ~/.ssh
stat -f '%Sm %N' -t '%Y-%m-%d %H:%M:%S' ~/.ssh/authorized_keys 2>/dev/null || true
stat -f '%Sm %N' -t '%Y-%m-%d %H:%M:%S' ~/.ssh/config 2>/dev/null || true

# 看 authorized_keys 是否有陌生公钥(对照你自己的笔记)
# 不要在聊天或截图里完整贴出私钥;这里只检查有没有「不认识」的行
wc -l ~/.ssh/authorized_keys 2>/dev/null || true
# 可人工对照:每行注释/邮箱是否都是你留的

# 听一下异常监听(示例;以本机实际进程为准)
lsof -nP -iTCP -sTCP:LISTEN 2>/dev/null | head -40

实操清单:

  1. authorized_keys 里只保留你认识的公钥;出现陌生行先备份整文件,再删掉陌生行(改前备份:cp ~/.ssh/authorized_keys ~/authorized_keys.bak.$(date +%Y%m%d))。
  2. 核对本机对外 SSH 是否本就该开:租用机若只通过厂商提供的远程入口接入,本地是否还需要额外监听,按你的交付说明来;多出来的监听与陌生隧道相关进程,记下来再处理。
  3. 钥匙串与登录项:打开「系统设置 → 通用 → 登录项」,看是否有陌生后台项;钥匙串里近期新增的与 SSH / 远程相关条目,对照你自己的操作记录。
  4. 不要只删扩展文件夹就结束:若曾在问题版本窗口期自动更新过,按厂商建议升级到安全版本,并完成密钥轮换(下一节)。

第四步:升级到安全版本,并收紧自动更新

目标:离开问题版本,且避免「下一次自动更新又静默换包」时你毫无感知。

  1. 升级扩展:在扩展面板将 Claude Code 更新到厂商确认的安全版本(通报中常见为 2.1.314 及之后),或先卸载再从你信任的渠道重装,然后再次 list-extensions --show-versions 核对。
  2. 关闭该扩展的自动更新(若编辑器提供单扩展开关):改为手动确认后再更;全局自动更新策略按你团队规范收紧。
  3. 主力改走官方 CLI(推荐):在同一台 Mac mini 上用终端安装并固定 Claude Code CLI,长任务放 tmux,编辑器扩展仅作辅助:
claude --version
# 在仓库根启动,避免工作目录漂移
cd ~/work/your-repo
tmux new -s claude || tmux attach -t claude
claude
  1. 写进本机约定(示例,按你仓库调整):
# Claude Code 本机约定(仅 Claude)
- 主力入口:本机终端 CLI + tmux;编辑器扩展为可选
- 扩展自动更新默认关闭;升级前先核对版本号与发布说明
- 任何扩展升级后:复查 ~/.ssh/authorized_keys 与登录项

第五步:一轮「升级后验收」

用同一台机器做可勾选验收,不要跨设备宣称「已经没事」:

  1. 版本验收:cursor --list-extensions --show-versions(或对应 CLI)显示的 Claude Code 版本已离开问题区间。
  2. SSH 验收:authorized_keys 无陌生公钥;你用惯用方式仍能登录这台 Mac mini。
  3. 会话验收:终端里 claude --version 正常;在测试仓库跑一个只读小任务(例如解释某文件),确认工具调用可用。
  4. 若曾怀疑中招:在你自己的 Git 远程仓库与云账号侧轮换相关访问令牌;本机 SSH 密钥对按你的流程轮换,并更新所有仍指向旧公钥的授权位置。轮换范围按你实际暴露面决定,本文不编造「必须改哪些服务」的清单。

验收标准:

  • 问题版本不在已装列表中。
  • SSH 授权文件与登录项无不明新增。
  • CLI 主力路径可复现;扩展若保留,自动更新已收紧。

常见踩坑

| 现象 | 常见原因 | 处理 | | --- | --- | --- | | 卸了扩展仍不放心 | 持久化可能写在 SSH / 登录项 | 按第三节做授权与监听盘点 | | 笔记本查过、租用机没查 | 自动更新可能只发生在常开机 | 固定单机审计 | | 升完又变回旧行为 | 自动更新或装了多份扩展 | 关自动更新,清重复安装 | | 只信扩展面板文案 | 面板与磁盘目录可能不一致 | CLI list-extensions + 目录 mtime 双核对 | | 审计时改乱了登录 | 误删自己的公钥 | 改前备份;留一条你确知可用的登录方式 |

为什么放在新加坡常开的 Mac mini 上

(与假安装包类风险不同:这次走的是编辑器市场自动更新通道。应对重点是收紧自动更新、固定单机审计、升级后查 SSH,主力尽量走可版本核对的 CLI。)

扩展与 SSH 审计依赖稳定、可复现的环境:同一用户目录、同一密钥文件、同一扩展安装路径。把 Claude Code 固定在新加坡的一台常开整机上,好处很直接:

  • 审计现场唯一:不用在多台笔记本之间猜「哪台自动更新过」。
  • 网络侧稳定合规的使用环境:长会话与工具调用更不容易因本机休眠中断;你远程接入时,现场仍在那台机器上。
  • 真 macOS 工具链:iOS / macOS 开发与日常 Claude Code 工作流在同一台机器上,扩展策略与 CLI 策略可以统一。
  • 整机独享:配置、密钥与扩展目录不与他人混用,轮换与验收边界清晰。

Zumac.Ai 提供位于新加坡的实体 Mac mini M6,整机独享,支持 SSH 与 UU 远程连接,FileVault 全盘加密,退租时抹机重装。新客户整机租用 ¥999/月起,季付 ¥2,697.30,半年付 6 送 1 为 ¥5,994,年付 12 送 2 为 ¥11,988;已购买客户续费保持原价。新客户首单自审核开通当天起租,续费及老客户新订单自付款当天起租。建议先租一个月,把「单机核对扩展 → SSH 盘点 → 升级验收 → CLI 主力」在同一台机器上跑通。实际延迟取决于你本地的网络线路。

小结

  • 编辑器市场自动更新可能把被篡改的 Claude Code 扩展推进开发机;以厂商披露为准核对版本。
  • 固定到常开新加坡 Mac mini,用 CLI 与目录 mtime 双核对扩展版本。
  • 不要只卸扩展:检查 authorized_keys、登录项与异常监听。
  • 升级到安全版本,收紧该扩展自动更新;长任务优先官方 CLI + tmux。
  • 升级后做版本 / SSH / 会话三轮验收;有怀疑再按暴露面轮换密钥与令牌。

有问题可以在 Telegram 联系 @singatao,或直接看 价格与付款周期。

Zumac.Ai 新加坡 Mac mini M6,整机独享,¥999/月起,联系 Telegram @singatao。
查看方案与费用 · 帮助中心

返回首页 · 更多文章

Telegram 客服