这两天 X 上炸了一条推:
有人说 Anthropic 在 Claude Code 里给中国用户塞了「间谍软件」,专门监控、专门上传信息。
转发的人很多,骂的人更多。
我没跟着骂。我干了另一件事--把我这台电脑上正在跑的 Claude Code 二进制直接逆向扒开,从源码层面看它到底写了什么。
看完我可以负责任地告诉你三件事。
第一,那段「专门针对中国」的代码,是真的。真到我能把它逐行读给你听,连版本升级后变量名换了都能重新定位。
第二,「间谍软件」「偷传你的信息」,是假的。它没有针对中国用户额外偷偷上传信息。
第三,那份针对中国的 147 项域名黑名单里,上榜的中国大厂有哪些。
1 . 一个你永远看不见的撇号
先说它到底干了什么。
你用 CC 每次跟模型对话,它都会在开头塞一段系统提示词,里面有一行是告诉模型今天几号的:Today's date is 2026-06-30.
就这么一行人畜无害的话。问题出在那个撇号上——Today's 里的那一撇。
正常情况下,它是键盘上那个普通的 ASCII 撇号 '。但在特定条件下,Claude Code 会偷偷把它换成一个长得几乎一模一样、但编码完全不同的 Unicode 字符。
一共四种候选,肉眼几乎分不出来,我把它们并排放大给你看,你就明白这有多阴:
撇号
Unicode 码位
长相
代表的判定
U+0027
键盘上直上直下的一竖
非黑名单、非关键词
U+2019
向右弯的花引号
命中 域名黑名单
U+02BC
悬在右上角的小逗号
命中 实验室关键词
U+02B9
一根短短的竖撇
两个 都命中
肉眼几乎看不出分别,但从程序角度来说,四种撇号,编码不同、字节长度都不同。
你复制粘贴带不掉,普通文本处理也不会清洗,它就那么静静躺在文本里,替换掉一个本就该出现的字符,看起来毫无异常。
这不是我脑补,是从二进制里扒出来的原文(我加了换行缩进和注释方便你读,逻辑一字没改),决定用哪个撇号的函数长这样:
翻译成人话:e 是「命中域名黑名单」,t 是「命中关键词」。都没中给普通撇号,只中黑名单给 ’,只中关键词给 ʼ,两个都中给 ʹ——跟上面那张表一格一格对得上。
它还配了第二个动作:如果判定你在中国大陆,就把日期里的 - 换成 /,2026-06-30 变成 2026/06/30。
四种撇号,乘以两种日期格式,正好是八种形态。每一种,都对应一组不同的「身份编码」——本质上是把三个判断结果(域名中没中、关键词中没中、是不是中国时区),压进「一个撇号 + 一个分隔符」里,藏得严严实实。
拼出那行字的函数,同样是原文:
一句话解释就是:先算出你的身份(Zup),据此挑一个撇号(n),是中国时区就把日期的 - 全换成 /(r),最后拼成 ` Today⟨撇号⟩s date is ⟨日期⟩.,藏在 ${n}` 这一个字符里。
然后把这个参数,悄无声息地加到原本就自带的系统提示字段 currentDate 里,用专业术语说,这就是代码层级的「水印」。
2 . 四层判断算法
Anthropic 的判断算法有四层。
第一层,是否官网直连。先判断环境变量有没有 ANTHROPIC_BASE_URL 字段,如果没有自定义代表官方直连,直接跳过。如果设置了,就接着往下第二层。
这个自定义字段一般就认定你不是走官网直连,走的是国产大模型,内网自建或者中转站。
第二层,时区。如果判断你是中国时区,标记。
第三层,域名黑名单。它拿你填的 ANTHROPIC_BASE_URL 域名,去精确或后缀匹配这张表,这张表有 147 项域名黑名单,还加了密,域名命中,标记。
虽然加了密,但是我已解密,后面会把这份黑名单也公布出来。
第四层,AI 实验室关键词。 11 个关键词,代表国产头部大模型公司。前面的域名黑名单是精确匹配,这一步是子串匹配——只要你的端点域名里含这些词就命中,标记。
核心的源码判定,全在下面这个函数里,我几乎没删,只加了几行中文注释:
所以,整个判断顺序是这样的:
1. 先看 ANTHROPIC_BASE_URL 是不是官方--是,直接跳过,什么都不干;
2. 不是官方,取出它的域名;
3. 读本机时区,判断是不是中国大陆时区;
4. 拿域名比 147 项黑名单、比 11 个关键词;
5. 三个结果压进撇号和日期分隔符,拼成那行 Today's date is。
下面我会逐步解释它的判定匹配逻辑。
3 . 为什么确认是针对「中国」
这才是「专门针对中国」这句话真正落地的地方。它靠三个信号,一个函数里一次算完。
时区。 代码里写死了两个值:Asia/Shanghai 和 Asia/Urumqi。
有人可能会问,为什么是上海和乌鲁木齐?
因为在全球计算机通用的 IANA 时区数据库里(几乎所有系统的时区都靠它),上海代表整个大陆的北京时间,乌鲁木齐代表新疆那个晚两小时的本地时间。
也就是说,这两个系统时区,正好是、且仅是「中国大陆」的完整标识。
有意思的是它不用「时区偏移 +8」这种省事写法。因为 +8 香港、台湾、新加坡都是,一判就误伤。
它精确匹配这两个 IANA 名字,等于死死钉在大陆本土——香港、台湾、澳门,在这一维度上全部被排除。
域名黑名单 + AI 实验室关键词 147 项域名黑名单 + 11 个 AI 实验室关键词,可以确认全是中国相关公司。
而且 147 项域名黑名单第一个就是 .cn 域名,所以实际命中范围远不止 147 家——所有 .cn 域名一网打尽。
国外竞品全都没涉及 看到这里,我又全量抓了源码,想知道 Anthropic 有没有针对竞争对手,比如 Google、OpenAI 做特殊处理,结果完全没有。
以上可以确认,这段代码,完全只针对中国。
4 . AI 实验室全名单
AI 实验室关键词总共有 11 个,把它们还原成公司,这就是一份中国前沿大模型的点名册。11 个词去重之后,正好是 9 家:
关键词
公司
代表产品
deepseek
深度求索
DeepSeek V3 / R1
moonshot
月之暗面
Kimi
minimax
/ xaminim
MiniMax
海螺
zhipu
/ bigmodel
智谱
GLM
baichuan
百川智能
Baichuan
stepfun
阶跃星辰
Step / 跃问
01ai
零一万物
Yi
dashscope
阿里云
通义千问
volces
火山引擎(字节)
豆包
不管是出于防蒸馏,还是防竞品,能被点名,起码都算得到了 Anthropic 的认可,相当于给这 9 家中国 AI 公司打了一个免费广告。国内做大模型的肯定远不止这些,不在这 11 个关键词之列的,要努力了。
5 . 147 项域名黑名单
先看域名黑名单里的大厂。在列的有这些:
公司
内网 / 云域名
美团
sankuai.com
网易
netease.com / 163.com
百度
baidu.com / baidu-int.com
阿里
alibaba-inc.com / aliyuncs.com
蚂蚁
alipay.com / antgroup-inc.cn
字节
bytedance.net
kuaishou.com
xiaohongshu.com
携程
ctripcorp.com
京东
jd.com / jdcloud.com
B 站
bilibili.co
科大讯飞
iflytek.com
红杉中国
hongshan.com
浩鲸科技
iwhalecloud.com
合合信息
intsig.net
注意 baidu-int、alibaba-inc、antgroup-inc 这些后缀--一眼就是公司内网工程域名,网传只针对百度内网的,可以忽略了,阿里集团内网域名也在列。
看到这里,有人可能会问,B 站、红杉中国这种看起来和大模型没啥关系的,为什么也在列?
如果说那 9 家 AI 实验室是为了防蒸馏,那其他出现的公司,大概率说明它们内网/内部工具接入了 Claude,员工在用。
那谁不在名单里?我特意查了一圈。
腾讯,一个域名都没有。 华为、拼多多、滴滴、小米、360,全部缺席。
有多种可能,要么没有统一自建 Claude 内网,也没有蒸馏需求,要么用其他大模型或者干脆还没完全用 AI。
当然——缺席不代表清白,在列也不代表有罪,这张表只反映「Anthropic 观测到谁在承接 Claude 流量」,仅此而已。
6 . 那它到底,有没有针对中国用户偷偷上传额外信息
先给大家科普一个概念「遥测」,比如你打开浏览器,默认会带上 UserAgent、IP 等信息给服务端,软件也一样,Claude Code 默认也会上传一些遥测信息。
它内建了 1479 种分析事件,默认会打包上报给 Anthropic 的一个专门端点。这是产品遥测,跟这次的水印是两码事,也不区分国家。而且它给了开关--我自己本机早把 DISABLE_TELEMETRY 那几个全关了,降到「只留必要请求」的最严级别。
但是它有没有针对中国用户额外留后门,偷偷上传额外信息,这个才是决定它到底是不是被指控的那个「间谍软件」的关键。
我把整个二进制里所有「中国特定」的代码路径全部揪出来,一处一处看它们除了改那个撇号,还干不干别的。
结论:中国特定的逻辑,全二进制就水印这一处。 那两个中国时区字符串,除了时区数据表,在代码里只出现在唯一一个地方。前后我扫了几乎全部源码,没有任何联网发送的动作。我还搜遍了「按国家等于 CN 就上报」这类条件分支,零处。
也就是说:没有针对中国的额外采集,没有针对中国的额外上传。
只是针对非官网直连的中国区用户做了水印处理。
7 . Anthropic 的真实目的是什么?
因为种种原因,Anthropic 早就声明不提供中国大陆地区访问,只不过国内用户用各种办法去使用,现在它专门针对中国用户做水印识别,从封号角度确实能更好地标记,从防蒸馏角度也可以更好地取证,单纯从商业角度来说,也没得说,但它真实的目的只有它自己知道。
不过这事被曝光出来后,起码想要蒸馏 Anthropic 前沿模型的,完全可以绕过了。
对于普通用户来说,如果防封号要注意几点:
● 能直连就直连,直连直接跳过标记步骤;
● 系统时区不要设置中国时区;
● 不要走中转站;
这里额外补充一条,所谓直连,基本就是你走魔法上网、走官网 OAuth 授权;魔法在网络层,而你走的中转站或者内网自建在应用层,能被识别标记的正是应用层这一层。
当然,封号还有 Anthropic 后端算法判定,具体封号逻辑没法获取,但基本就是节点干净,不要频繁切换,充值渠道一致,尽量少用自动化脚本等。
8 . 怎么看以及对我们的影响
「Anthropic 专门针对中国写了代码」——这确实是真的。它精确地识别中国时区、中国大厂、中国 AI 模型公司,一点不含糊。
但「间谍软件」「窃取信息」——这句话是错的。它没偷传任何东西,只是给「走非官方端点」的输出,盖了一个你看不见的取证印章。性质是自保目的,不是监控。
但是对于我们中国用户来说,真的因为一直封号,早就对 Anthropic 恨之入骨了,很多人一边骂它傻逼,一边还得继续想办法用。
有人问,它都这样了,还舔着脸上赶着用,是不是傻?
谁让人家能力现在牛逼呢,普通用户日常使用,国产模型也够用了,但是对于做技术的,编程场景下现在还有很大差距。
好在现在有 Codex 可以替代,但是实际上 Codex 也好,Google Gemini 也罢,也会封号的,只不过力度不同而已。
说到这里,我得补充一点有意思的事。
● Anthropic 本地代码做了加密和混淆,但是涉及到具体的系统时区参数比如Asia/Shanghai居然是明文写死的,大概率是遗漏。
● 那份 147 项域名黑名单中,我反复多次解密,.cn 域名一项重复,AI 关键词匹配有三处重复,都没做去重处理。
● 其中 bilibili.co 不是我手误写错了,而是原文件就是这样写的,如果是 AI 自动追加的,绝不会犯这个错误。
这几轮下来,基本可以下判断了:这份黑名单是人工/半自动手录的,维护相当粗糙--有反转猜测(xaminim)、有手滑笔误还失效(bilibili.co)、有泛规则没去重(antgroup-inc.cn)、有关键词和域名重复(3 个)。
再联想到两个月前 Anthropic 因为一个低级错误导致源码泄露,A 社大模型领域是牛逼,但是在工程层面也是个草台班子。
现在 Anthropic 单独针对中国,甚至点名那 9 家 AI 公司,换种角度来说,何尝不是一种忌惮呢?纵观全球,中国 AI 的发展不管是数量,还是能力上,差距已经在不断缩小了。
Anthropic 这种恶心行为,加上草台班子,我突然觉得国产模型赶超可能只是时间问题。
PS:那份完整 147 项域名黑名单因为有不少是中转站,我不便文章全部公开,有需要的可以后台回复私信「名单」获取。
热门跟贴