这类包怎么得手
@Jazvrtka 发了一条 9 段的长帖,分析了三个伪装成「安装工具」的 npm 包:chatgpt-desktop-setup、claude-desktop-setup 和 api-anthropic。它们最狡猾的地方在于本身不需要写任何外传数据的代码,而是去改你电脑上那个你信任的 AI 客户端:
- 针对 Claude Desktop 的那个包,会把客户端的推理流量改到一个仿冒 Anthropic 品牌的网关,并清掉本地登录会话,逼你重新登录;
api-anthropic打着能用一个并不存在的新模型、超大上下文的旗号,要求你填入真实的 Anthropic API Key,然后改写 API 设置,再通过它的网关启动 Claude Code。
结果是:你的 Key、你的提问、甚至你贴进去的源代码,都会先经过攻击者的服务器。@atikbytes 补充说,GitHub 在 10 月 19 日把 8 个这类包统一标为恶意软件,并建议装过的电脑一律按已失陷处理。
公开的安全通报里写得更具体:这些包会把网关地址和你的 Key 写进 Claude Desktop 的配置文件、Windows 注册表策略或 macOS 的受管理偏好设置(managed preferences)里,所以即使你删掉了 npm 包,配置可能还在。
先记住一条:官方不从这里装
Claude Desktop 从 Anthropic 官网下载;官方的 JavaScript SDK 包名是 @anthropic-ai/sdk。任何叫「xxx-setup」「activator」「一键配置」、要你先填 API Key 的 npm 包,都不是官方渠道。
自查三步
- 查依赖和全局安装。 在项目里搜 lockfile 和
package.json,再跑一次npm ls -g --depth=0,看有没有上面这类名字。CI 镜像和给代理用的沙箱也要查,因为编程代理也可能照着网上的说明替你装包。 - 查 Claude 的网关配置。 打开 Claude Desktop 的配置文件、看 Claude Code 环境里有没有你不认识的
ANTHROPIC_BASE_URL。正常使用官方服务时,不应该出现一个陌生的第三方域名。 - 看 Console 用量。 在 Claude Console 里看最近的 API 调用量和花费,有没有不是你产生的。
已经装过怎么办
- 删除包后,用另一台干净的电脑去 Console 吊销所有可能被填过的 Key,再新建;
- 恢复 Claude Desktop 的官方配置,重新从官网安装;
- 这台电脑上存过的其他密钥也一并轮换,因为 GitHub 的口径是整机按失陷处理。
如果你想把 Claude Code 放在一台常开、整机独享的新加坡 Mac mini 上长期运行,可以了解 Zumac.Ai,咨询 Telegram @singatao。
