RL RanceLee的博客
← 返回主页
● AI

Reddit 爆料:Claude Code 藏了一个针对中国用户的隐蔽检测机制

最近 Anthropic 又开始了大封号,并且这次波及的范围尤其广。我身边很多小伙伴都已经苟了好几个月了,这次被封了。

我这两个月没有续费,所以没有被波及。

昨天 Reddit 上有个帖子爆料,有用户发现 A÷ 在 Claude Code 中偷偷植入了一套隐蔽检测机制,疑似用来识别自定义网关下的中国相关信号。这个事情就可以好好聊一聊。

帖子地址为:https://www.reddit.com/r/ClaudeAI/comments/1ujila1/anthropic_embedded_spyware_in_claude_code_and/

“后门”的原理

具体的内容如下:

Claude Code 在某些情况下会检查你是不是用了自定义 API 地址,也就是环境变量 ANTHROPIC_BASE_URL

如果你没有设置这个变量,或者它指向官方的 api.anthropic.com,这套逻辑大概率不会触发。

但如果你设置了一个第三方网关、中转、代理、模型路由地址,Claude Code 就会进一步检查几个东西:

第一,检查你的系统时区是不是中国相关时区,比如:

Asia/Shanghai
Asia/Urumqi

如果命中,它会把系统提示词里的日期格式从:

Today's date is 2026-06-30.

改成:

Today's date is 2026/06/30.

注意,这不是给用户看的界面文案,而是发给模型的 system prompt 里的内容。普通用户基本不会注意到。

第二,它会检查你设置的 ANTHROPIC_BASE_URL 的 hostname。

比如这个地址是不是中文域名、是不是命中了某些代理/转售/网关域名,或者 hostname 里有没有一些中国 AI 公司相关关键词,例如:

deepseek
moonshot
minimax
zhipu
bigmodel
baichuan
stepfun
dashscope
volces

如果命中不同条件,它会把 Today's 里的那个英文撇号换成不同的 Unicode 字符。

表面看起来都像一个撇号,但实际字符不一样:

'   普通 ASCII 撇号
’   right single quotation mark
ʼ   modifier letter apostrophe
ʹ   modifier letter prime

也就是说,同一句看起来很正常的:

Today's date is 2026-06-30.

在原始请求里可能变成几种肉眼很难察觉的版本:

Today’s date is 2026-06-30.
Todayʼs date is 2026-06-30.
Todayʹs date is 2026/06/30.

这些细微差异就像一个隐形标记,用来告诉请求接收方,或者最终模型服务方:

  • 这个用户有没有使用自定义网关;
  • 这个网关是不是疑似中文域名或代理站;
  • 这个地址里有没有中国 AI Lab 相关关键词;
  • 这个用户的系统时区是不是中国相关时区。

更微妙的是,帖子里还提到,这些域名和关键词列表不是明文放在代码里的,而是经过 base64 和 XOR 处理后藏在 Claude Code 的二进制文件里。它不是高级加密,但足够避开普通的字符串搜索。

所以,这件事的核心不是“Claude Code 会联网”,也不是“Claude Code 会发送 prompt”。这些本来就是它工作的前提。

真正的问题是:它把一组环境识别信息,藏进了 system prompt 的标点和日期格式里。

这就很怪。

如果 Anthropic 想做反转售、反滥用、反蒸馏,这个动机可以理解。Claude 被中国中转商倒卖,或者被拿去批量蒸馏,确实是它很在意的问题。

但如果要采集这类信号,正常做法应该是明说:我们会检测自定义 API endpoint、代理、地区、滥用风险,并把它作为风控依据。

而不是偷偷把它塞进一个看起来无害的日期句子里。

评论区的反应

Reddit 评论区基本是两派。

一派觉得帖主小题大做,认为这就是普通风控,不算后门。

另一派觉得,即使这不是传统意义上的木马,它仍然是非常不透明、非常损害信任的行为。

我不是这方面专家,于是把原帖和评论丢给 GPT-5.5 做了一轮交叉判断。它的结论更接近后者,但要拆开看。

反驳一:浏览器、App、网站都会收集系统信息,所以这没什么

这个反驳只对了一半。

浏览器确实会暴露大量信息,比如 IP、User-Agent、语言、屏幕尺寸、时区、字体、Canvas 指纹等等。现代互联网本来就到处都是指纹识别。

但这件事的问题不是“它知道了你的时区”。

问题是:它把这个信息用一种隐藏编码的方式塞进 prompt。

如果 Claude Code 直接在 telemetry 里写:

{
  "custom_base_url": true,
  "timezone": "Asia/Shanghai",
  "base_url_risk_category": "known_proxy"
}

这反而没那么诡异。至少你可以在文档、抓包或日志里理解它在干什么。

但现在的方式是改撇号、改日期分隔符。这种做法天然会让人觉得它在刻意绕开用户的注意力。

所以,“浏览器也会收集信息”不是一个完全有效的反驳。

它只能说明:环境指纹本身并不罕见。

但它没有解释:为什么要用隐写方式做。

反驳二:这只是反蒸馏、反倒卖、反滥用,不是 spyware

这个反驳比较有效。

严格说,我也不认为这就是传统意义上的 spyware。

它目前看起来没有偷偷扫描你的本地文件,没有上传你的仓库,没有开一个隐藏后门让 Anthropic 直接执行命令。

它更像一种反滥用指纹,目的是识别:

  • 谁在用第三方 Claude Code 网关;
  • 谁在用疑似中国转售域名;
  • 谁在把 Claude Code 接到 DeepSeek、智谱、Moonshot、百川、火山这些相关名字的 endpoint 上;
  • 谁可能在做转售、套壳或蒸馏。

从商业角度看,Anthropic 想防这个很正常。

问题是,“目的合理”不等于“手段就可以不透明”。

尤其 Claude Code 不是普通网页。它是一个开发者工具,通常拥有读写项目文件、执行 shell、访问 git、安装依赖的能力。开发者给它的权限远高于普通网页。

越是这种高权限工具,越应该行为可预期、可解释、可审计。

所以,这条反驳有效地削弱了“spyware/后门”这个说法,但不能洗掉“偷偷做隐形标记”的问题。

GPT-5.5 给出的判断是:

说它是完整 spyware:过度夸张。
说它完全没问题:也不成立。
更准确的说法:这是一个隐蔽的反滥用指纹机制。

反驳三:只有设置了 ANTHROPIC_BASE_URL 才触发,普通用户没影响

这个反驳也比较有效。

从目前看到的复核来看,这套逻辑不是“监控所有中国时区用户”。

更准确地说,它大概率是:

只有当用户设置了自定义 ANTHROPIC_BASE_URL,并且不是官方 api.anthropic.com 时,才进入这套检测逻辑。

这意味着,如果你是正常官方客户端、官方账号、官方 API,不经过第三方中转,风险确实小很多。

但这条反驳也不能完全结束讨论。

因为 Claude Code 的实际用户里,很多人确实会用:

  • 自建网关;
  • 公司内部代理;
  • 模型路由;
  • OpenRouter 一类的聚合服务;
  • 第三方 Claude 中转;
  • 本地调试代理。

这些场景不一定都是滥用。很多只是正常工程实践。

所以,“普通用户不触发”只能说明影响范围没帖主标题说得那么大,不能说明机制本身没有争议。

反驳四:你都把 Claude Code 跑在本机了,还担心这个?

这条反驳有一点道理,但方向有点偏。

确实,很多人把 Claude Code 放在真实主机上跑,还给它很大的文件和 shell 权限,本身就是一个风险点。

更好的做法应该是:

  • 在独立项目目录里运行;
  • 不给生产环境凭证;
  • 不把密钥明文放在项目里;
  • 重要操作保留人工确认;
  • 高风险任务用容器、虚拟机或沙盒隔离。

但这不能反过来证明 Anthropic 的隐藏标记就没问题。

用户应该做好权限隔离,这是一件事。

工具厂商不应该偷偷塞不可见标记,这是另一件事。

不能因为用户安全习惯不完美,就默认厂商可以用更不透明的方式做风控。

所以这条反驳在“提醒大家别裸奔跑 agent”上有效,但对帖主质疑的核心无效。

反驳五:这是为了保护 Anthropic 的 IP,支持

这个反驳从商业和政治立场上有效,但从开发者信任上不够。

我完全理解 Anthropic 要保护模型。

尤其最近大模型公司都很怕两件事:

第一,服务被中转商倒卖。
第二,输出被竞争对手大规模采样,用来蒸馏训练。

如果某些中国公司或中转站真的在薅 Claude,这当然是 Anthropic 会重点打击的对象。

但是,保护 IP 可以有很多方式:

  • 服务端风控;
  • API key 风险评分;
  • 请求频率检测;
  • 明确的 endpoint policy;
  • 企业网关备案;
  • 文档化 telemetry;
  • 账号合规审查。

不一定非要在 system prompt 的标点里藏信号。

所以这条反驳可以解释 Anthropic 为什么要做,但解释不了为什么要这样做。

GPT-5.5 的结论

帖主的技术发现是有道理的。

但帖主把它直接叫“后门”“spyware”,GPT-5.5 觉得有点煽动。

更准确的判断应该是:

Claude Code 疑似存在一套针对自定义 API 网关和中国相关信号的隐蔽指纹机制。
它不像传统木马,也不是完整意义上的 spyware。
但它把环境信息隐藏编码进 system prompt,这种做法确实不透明,也不符合开发者对高权限工具的信任预期。

对普通用户来说,如果你不用第三方中转,不设置 ANTHROPIC_BASE_URL,这个机制可能和你关系不大。

但对中国区用户、第三方中转用户、公司网关用户、模型路由用户来说,这件事就很值得警惕。

但这并不是一切

我相信以 A÷ 的性格,后面针对中国用户的手段只会越来越严格。

近期智谱的 GLM-5.2 模型在国外反响很大。我自己测试下来,除了慢一点,是能够实际生产使用的。

所以如果你也受够了 A÷,在有国外支付能力的情况下,我首推 GPT-5.5;其次就是搭配使用国内模型。我自己现在主要使用的是 GLM-5.2 和 DeepSeek-V4-Flash,用下来感觉也很不错,推荐你们去试试看。