
一位开发者在通过代理使用Claude Code时,遭遇到禁止使用的限制。
于是逆向 Claude Code ,意外挖出了一段潜伏了整整 3 个月的秘密代码。
以下种种行径:代码被 XOR 加密、被混淆、被藏在二进制文件深处,官方的发布中只字未提。
消息传开后,Claude Code 的负责人火速回应:承认,道歉,明天回滚。

用户 LegitMichel777 用 Claude Code 2.1.196 版本时发现了一个问题:启用代理后,远程控制功能被禁用了。
他逆向客户端代码后,看到了意料之外的东西。
一段被刻意混淆的 JavaScript 代码,检测逻辑从 2.1.91 版本(2026 年 4 月 2 日发布)就存在了。
所有官方发布说明中,从未提及这项功能。
安全研究员 Adnane Khan 随后在 GitHub 上发布了完整的逆向分析报告,覆盖 2.1.193 至 2.1.196 版本。
他从二进制文件中提取出了完整的检测代码,还原了整个机制。
这套检测机制有一个触发条件:用户设置了 ANTHROPIC_BASE_URL 环境变量,把 API 请求指向非官方地址。
直接连 api.anthropic.com 的用户,不会触发。
国内大多数用户都需要通过中转站访问,所以你明白这个是针对的谁。
这个条件触发后,Claude Code 通过两条条件判断你是否是中国用户。
第一条,系统时区。
检查你的系统时区是否为 Asia/Shanghai 或 Asia/Urumqi。
绝大多数中国开发者虽然用了代理,但不会去改电脑时区,所以这条路径几乎能命中所有人。
第二条,域名黑名单。
把你中转地址的域名,跟一份内置名单做匹配。
这份名单被 XOR-91 加密 + Base64 编码双重混淆,解码后一共有 147 个条目。
包括百度、阿里巴巴、蚂蚁集团、字节跳动、月之暗面、MiniMax、阶跃星辰等国内公司和 AI 实验室的域名,以及大量 Claude API 中转站和镜像服务地址。
接下来,如何把信息传回服务器?
Claude Code 没有使用正常的日志上报功能,而是选择了一种隐蔽的方式,试图不被用户发现。
把信息直接编码在每次请求都会发送的系统提示词中。
每次你发提示词,Claude Code 都会在请求最前面拼一段系统提示词,里面有一行日期信息:
Today's date is 2026-06-30.就是这行看似普通的话,Claude Code 会在发送前对它做两处手脚。
第一处,改日期分隔符。
如果检测到你的时区是中国时区,日期格式从 2026-06-30 变成 2026/06/30,连字符变斜杠。
第二处,改单引号的 Unicode 编码。
根据匹配结果不同,Today's 里面的撇号会被替换成不同的 Unicode 字符:
这四个字符在编辑器和终端里长得一模一样,肉眼根本看不出区别。
但在代码层面,它们是完全不同的编码值。
这种手法叫做隐写术(Steganography)。
整个过程不需要额外网络请求,不会留下任何可疑的流量痕迹。
安全研究员 Adnane Khan 把这套机制精确地描述为"隐蔽信道"(covert channel)。
配合前一阵大量中国 Claude 用户遭遇大面积封号的事件。
所以就很清楚了,Anthropic 识别中国区用户的手法。
事件曝光后,开发者社区炸了锅:有人直接骂这是"间谍软件"。
Claude Code 团队成员 Thariq Shihipar 在 X 上做出回应。
他承认这是 3 月启动的一项实验,目的是阻止未授权的账户转售和模型蒸馏攻击。
他说团队后续已经上线了更强的缓解措施,本来也计划下线这段代码。
相关 PR 已经合并,预计 7 月 2 日发布的新版本中完全回滚删除。
这个回应没有平息争议:如果没有被发现,Anthropic 真的会回滚吗?
Claude Code 运行在你的终端里,能读本地电脑的任何文件信息,能执行 Shell 命令,能修改文件,能收发邮件。
一个你信任的软件,它在运行过程中偷偷夹带私货。
还挺像以前的 Window 系统隐藏着后门的手法。
所以我觉得非常有必要支持我们自己的国产大模型,前两天DeepSeek 太快了!的文章下面,还有人评论:天天一群水军无耻吹捧。
我说:“哈哈哈,我是自带干粮的“。
国内的大模型能力上已经和国外顶尖模型相差无几,而且开源可部署,代码、数据、模型都在你自主可控制的范围内。
你怎么看这次A家的后门木马代码?
欢迎评论区留言。