一周被封两个 Max 20 账号:Anthropic 大面积封号背后,Claude Code 被逆向扒出"日期隐写"追踪

JeecgBoot AI专题研究 | Anthropic 封号潮与客户端隐蔽标记机制深度复盘


一周之内,两个 Max 20 账号先后阵亡

先说我自己的遭遇:最近一周之内,我有两个 Claude Max 20 账号(就是那个 200 美元/月的最高档订阅)先后收到了封禁邮件。没有警告、没有风险提示、没有降级缓冲,邮件直接宣判,账号里剩余的订阅周期一并作废。

Anthropic 大面积封号潮概念图

我第一反应是检查自己是不是踩了什么红线——共享账号?没有。滥用 API 转卖?没有。跑违规内容?更没有。日常就是 Claude Code 写代码,用量确实不小,但那不正是 Max 20 档位存在的意义吗?

翻了翻社区才发现,这根本不是个案。这一波封号潮的波及面大得惊人:

  • 技术圈知名博主阮一峰老师的账号也被封了,人直接没等到周五的周刊,当天就发文开怼;
  • 极客时间创始人池建强老师同样中招,忍不住公开吐槽;
  • 有博主通过 App Store 直充订阅、正常使用三个多月,照样收到封禁邮件;
  • 不少公司整批员工账号被"团灭",甚至有人出国团建期间、人在韩国也被封。

一开始大家都以为这只是 Anthropic 例行的 IP 风控清理,直到有开发者把 Claude Code 的命令行客户端反编译了,事情的性质才彻底变了。

申诉通道:一个精心设计的死循环

在讲技术细节之前,先说一个魔幻的细节——申诉流程本身就是个死循环

封禁邮件里附带了申诉链接,看起来流程齐全。但点进去之后,页面直接路由到 Claude 的网页端;向官方客服反馈这个跳转 bug,客服的回复是"请回到申诉页面提交申诉";再点申诉页面,又跳回网页端……

申诉入口 → 跳转 web 端 → 客服让你回申诉入口 → 再跳转 web 端 → ∞

一家估值千亿美金、以"安全与对齐"立身的 AI 公司,用户申诉通道却是一个自我引用的无限循环。这已经不是审核严格的问题了,而是根本没打算给你申诉的机会。也难怪有博主直接选择了退订,撂下一句狠话:技术再强,如果连最基本的尊重和体面都给不了,最后也会沦为路边一坨。

逆向工程揭底:封号判定的三层漏斗

真正把舆论引爆的,是 Reddit 社区一位开发者的逆向分析。他在拆解 Claude Code 2.1.196 版本时,从混淆代码里还原出了一整套客户端侧的用户识别逻辑,并把它直接称为 spyware(间谍软件)。这篇爆料帖发出后迅速冲到 1400+ 点赞、300+ 评论。

根据还原出的代码,这套判定机制可以概括为一个三层漏斗:

第一层:检测代理配置。 Claude Code 启动时会检查环境变量 ANTHROPIC_BASE_URL 是否被设置过。能直连 Anthropic 服务器的用户通常不会设这个变量;而国内用户想用 Claude,几乎都绕不开中转代理——很多公司也会搭建内部中转站,让员工统一走内网入口再转发到 Anthropic。只要设了这个变量,就进入了初步怀疑名单。

第二层:域名关键词比对。 客户端内置了一份关键词名单,把用户配置的中转地址与名单逐一比对。这份名单里的条目高度集中地指向中国的云厂商、AI 公司和 API 代理服务商——比如 sankuai.com(美团),以及网易、百度、阿里、字节等一众国内大厂的域名关键词,基本上国内叫得上名字的大厂都榜上有名。

第三层:时区检测。 读取操作系统的本地时区设置,如果命中 Asia/ShanghaiAsia/Urumqi(北京时间/乌鲁木齐时间),再记一笔。

Claude Code 三层检测漏斗示意图

也就是说,除了服务端常规的 IP 识别之外,Claude Code 还在用户本地环境里主动收集了代理入口和系统时区两类信息做交叉验证。而这一切都在加密混淆的代码里静默运行,普通用户毫无感知。

这次能被抓个现行还带点运气成分:逆向的开发者在推演加密密钥时,发现密钥的生成规律恰好对应一个数字——91,而 2.1.91 正是这套逻辑首次上线的版本号。这个版本发布于今年 4 月 2 日,意味着这段代码已经随安装包在无数开发者的电脑里潜伏了近三个月。

最精妙也最刺痛人的部分:日期隐写术

收集到信息只是第一步,怎么把标记传回服务器而不被发现,才是整套机制里最"用心"的设计。

直接明文回传?流量分析一抓一个准。额外加密上报?凭空多出一段莫名其妙的加密流量,此地无银三百两。Anthropic 选择了第三条路——隐写术(Steganography):把标记藏进一段所有人都不会多看一眼的系统提示词里。

用过 Claude Code 的都知道,每次对话客户端都会自动打包一大段辅助上下文,里面有一行再普通不过的日期提示:

Today's date is 2026-07-01.

标记就藏在这行字里,动了两处手脚:

手脚一:替换撇号。 Today's 中间那个撇号,在 Unicode 里存在多个外观几乎一致但码位完全不同的变体(如 U+0027 直撇号与 U+2019 弯引号)。Claude Code 会根据检测结果,悄悄换用不同的撇号字符。

手脚二:替换日期分隔符。 正常情况下日期写作 2026-07-01;一旦时区命中北京/乌鲁木齐时间,横杠就会被换成斜杠,变成 2026/07/01

正常客户端:  Today's date is 2026-07-01.   (' = U+0027,分隔符 = 连字符)
被标记客户端:Today's date is 2026/07/01.   (撇号变体 + 斜杠分隔符)

日期隐写术原理示意:撇号与分隔符的隐蔽替换

对人眼来说,这两处改动完全不可见;但对服务端来说,只要检查这几个字符的码位组合,就能精确识别出"这个请求来自一台被标记过的客户端"。用户看到的是一句日期,服务器读到的是一份检测报告——不得不说,从纯技术角度看这个设计确实精妙,但它精妙得让人脊背发凉。

官方回应:承认了,但没回答关键问题

事情闹大之后,Claude Code 团队成员 Thariq 在 X 上公开承认了这套机制的存在。按照官方说法:

  • 这是 Anthropic 今年 3 月启动的一项实验
  • 目的是打击未经授权的账号转售商,以及防范模型蒸馏;
  • 团队已上线"更强的缓解措施",这个功能"原本就计划撤下";
  • 回滚 PR 已合并,将在次日的版本发布中完全移除。

态度不可谓不快,堪称光速滑跪。但这份回应对争议的核心问题避而不谈:

  1. 如果只是反滥用、反蒸馏的风控实验,为什么需要读取用户本地时区和代理地址,并用用户无法察觉的方式打标?
  2. 为什么内置的关键词名单高度集中地指向中国云厂商和 AI 公司?
  3. 被撤下的只是这一个暴露了的机制,混淆代码底下还有没有别的?官方口中"更强力的措施"又是什么?
反蒸馏的大旗,和它遮不住的双标

Anthropic 给出的理由是防蒸馏。但把"反蒸馏"和这家公司放在一起,多少有点黑色幽默——论蒸馏人类知识,Anthropic 自己的记录相当辉煌:

  • 2023 年,因使用歌词训练模型被音乐出版商告上法庭;
  • 2025 年,因使用盗版书籍数据训练模型,最终同意支付 15 亿美元和解,创下版权类诉讼的天价纪录;
  • 同年还因爬取 Reddit 内容被起诉。

把全网开发者的代码和创作者的作品拿去喂自家模型的时候,没见它跟原作者讲什么授权;如今靠这些数据把模型做到了行业顶尖,反过来对用户严防死守,甚至不惜把探针伸进开发者的本地电脑。只许州官放火的既视感,扑面而来。

平心而论,企业保护核心资产天经地义,反滥用风控也是行业惯例。真正的问题在于方式:风控完全可以堂堂正正地在服务端做,或者在用户协议里白纸黑字写清楚。一个网贷 App 都知道弹个隐私协议让你确认,而 Anthropic 选择的是在高权限工具里静默植入混淆代码。这不是风控力度的问题,是越界。

信任边界:这件事为什么比封号本身严重得多

开发者社区的愤怒,表面上是因为封号,深层原因是背刺感

想想 Claude Code 这类 AI 编程工具在开发者电脑上拿到了什么权限:读写整个代码仓库、访问配置文件和环境变量、直接执行命令行。我们把这些权限交出去,换取的是效率——所谓"有多少上下文,就有多少智能"。这种交换成立的前提,是对工具背后公司的信任。

而这次事件证明,这家公司会在你授权的高权限环境里,运行一段你看不见、也不打算让你看见的逻辑。今天读的是时区和代理地址,明天呢?环境变量里的密钥?代码仓库里的商业逻辑?没人说得准——因为按照这次的先例,就算它做了,你也只能等下一次逆向工程的运气。

对国内开发者,有几条实际建议:

  1. 重要项目不要把鸡蛋放在一个篮子里。订阅账号随时可能没有任何理由地消失,关键工作流要有备用方案(国产大模型 CLI 工具这两年进步很快,作为灾备完全够用);
  2. 敏感代码库慎用任何高权限 AI CLI 工具,无论哪家的。客户端能收集什么,取决于厂商的自律,而自律这东西刚刚被证伪了一次;
  3. 公司内部搭中转的团队要意识到:中转域名本身就是被比对的特征,这已经不是猜测而是被逆向证实的事实;
  4. 如果账号被封,做好申诉无门的心理预期,及时止损比反复申诉更现实。
总结

复盘整个事件:Anthropic 在 Claude Code 里植入了一套三层检测(代理变量 → 域名关键词 → 时区)加日期隐写回传的客户端标记机制,静默运行近三个月,配合发动了大面积封号;被逆向曝光后官方光速承认并回滚,但对"为什么针对中国用户""为什么不告知"两个核心问题保持沉默。

一周之内两个 Max 20 账号被封,钱是小事。真正被封掉的,是开发者对一家把"Safety"写进公司使命的 AI 巨头的信任。AI 工具越深入本地开发环境,透明度和边界感就越是生命线——这层窗户纸捅破之后,开发者与 AI 巨头之间的信任重建,恐怕才刚刚开始。


本文为 JeecgBoot AI 专题研究系列文章。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐