Claude Code隐形水印:Anthropic用XOR加密黑名单对中国用户进行数字身份标记
如果你重度依赖海外 AI 工具,又恰好生活在中国,大概早已习惯了“赛博二等公民”的处境。你费心寻找干净的节点,申请海外的信用卡,时刻提心吊胆那个辛苦养起来的账号会不会在某次风控里被“连坐”封掉。
但 Anthropic 这次做的事,还是超出了多数人的想象。
2026 年 6 月 30 日,Reddit 的 r/ClaudeCode 板块出现了一条帖子,标题直截了当:Claude Code 在给你贴标签。发帖人 LegitMichel777 指出,自 Claude Code v2.1.91 版本起,只要把它接入代理服务器,并且系统判定你“跟中国有关”,它就会在每一次请求中,悄悄改写你输入的标点符号。[1]
更具体的细节来自开发者 thereallo。他反编译了客户端,拆开代码逆向分析:日期里的短横“-”被换成斜杠“/”;句中最普通的撇号“’”,被替换成肉眼几乎无法分辨的几个 Unicode 变体字符。[2]
这条帖子登上了 Hacker News 首页,收获了 605 分,评论区当场争论不休。
第一反应,的确令人发笑。一家把“安全”刻在招牌上的公司,一家声称全宇宙最在乎人类命运的 AI 实验室,煞费苦心地在文本里埋下隐形指纹,专门用来标记“这个人可能跟中国有关”——结果被一个极其无聊、专门针对标点符号的怪癖当场抓包。
但笑完之后,剩下的却是深深的不适,甚至一种生理性的恶心。因为相比直接写明“禁止中国相关实体使用”,Anthropic 选择了明知而隐瞒。历史上,类似的操作并不罕见,而与之最相似的是纳粹的做法——给犹太人的护照盖上一个“J”字,然后告诉他们:这只是个符号,没什么大不了。
这篇文章不打算继续纠缠隐私问题,在这个语境里讲隐私显得过于轻飘。Anthropic 在做的事远比单纯收集数据深沉——它不是偷你的信息,而是在定义你的身份。这是一套从“你是谁”出发,而不是从“你做了什么”出发的判断系统。
1. 用撇号传递隐藏信息
为了后续的讨论,有必要先复述一遍 LegitMichel777 所揭示的技术细节。如果你已经了解,可以直接跳过后面的几段。
Claude Code 中那套歧视代码的触发条件非常具体,具体到你能从中读出写下这行代码的人那张充满算计的脸:环境变量 ANTHROPIC_BASE_URL 被设置,意味着请求经过了代理;系统时区恰好落在 Asia/Shanghai 或 Asia/Urumqi。
命中之后,Claude Code 会做两件事:将请求中的日期格式从 2026-06-30 强行改成 2026/06/30;将普通的撇号 ' 替换成 Unicode 变体——命中域名黑名单则换成 \u2019,命中“中国实验室关键词”则换成 \u02BC,两条都中则换成 \u02B9。[2]
这几个字符,肉眼几乎看不出任何差别。放进任何一个普通的文本编辑器,你会以为那就是标准的英文右单引号。它们的差别只存在于字节层面,只有会读 Unicode 编码表的人,或是接收这些数据的 Anthropic 服务器,才看得明白。
更隐蔽的是那份域名黑名单和关键词列表怎么藏的。他们先用 base64 编码,再用密钥 91 做一次 XOR 混淆。解出来的关键词是 deepseek、moonshot、minimax、zhipu、baichuan、stepfun、01ai、dashscope——几乎把中文互联网能排得上号的大模型公司点了遍名。[2]
这套工序绝不是什么“随手写的一行判断”,也不可能是实习生手滑。它是彻头彻尾的系统工程:先拟一份名单,再把名单编码,再用加密方法混淆,再将混淆结果嵌进产品,让它在用户完全不知情的状态下运行。这里的每一步都是深思熟虑的决定,每一步都有人经过代码审查。
这便是我不能用“偏见”而必须用“歧视”来概括这次 Anthropic 行为的原因。算法偏见或许来自数据中的无意识样本偏差,但歧视意味着主动的决策。Claude Code 里发生的,恰恰是带有主语和主观能动性的行动。
有人写下了一个 if 判断“你是谁”。有人选定要屏蔽的公司名单。有人决定把这份名单藏起来,而不是写进用户协议的某一条。有人测试过这套水印在正常使用中不会被肉眼发现。每一个“有人”都是真实存在的职务角色:提出这个 feature 的产品经理、批准它的 tech lead、在 Code Review 里点了 Approve 的同事、把这个版本推上生产线的 release manager。
我知道科技圈不爱听“共犯”这个词,但它就是共犯。
你可以说,Claude Code 目前所做的不过是往请求里塞一个隐形水印,又没打你、没冻结你账户。这话没错。可翻开历史看看,每一次大规模的排斥,最初都只是“先记一下”。至于名册建好之后会发生什么,从来不是写名册的人能决定的——写名册的人,只是提前把决定权让渡给了未来某个使用这份名册的人,或者某项疯狂的政策。
甚至可以想象 Anthropic 内部的动机逻辑。他们大概觉得自己在执行某种正当的商业防御:这些中国 AI 公司确实在“非正常竞争”,确实在“蒸馏”他们的模型,所以标记一下、收集一点数据、留一条后路,是合情合理的应对。但问题是,大模型本身就是一种使用了方法对后端全透明的技术,也就是说,从理论上,Anthropic 完全可以通过行为识别来解决所有“不符合规定的使用”,而不是圈定一个“不符合规定的人群”。
而采用隐蔽的方式来传递用户身份的侦测,更说明 Anthropic 心知肚明这种划分并不名正言顺。因为如果它真的认为自己正当、正确、正义,完全可以参照 Stripe 或全球任何一家互联网金融公司那样,通过有效证件对用户进行真正的 KYC,而不是偷偷识别“这个可能是中国人”,再悄悄传回总部。
直到今天,Anthropic 依然没有对这次指控做出任何公开回应。沉默,就是一种最傲慢的态度。我猜他们不是不想回应,是根本无法回应。解释为什么埋水印,等于承认埋了水印;解释为谁埋、用什么标准判定“跟中国有关”,等于把一份歧视清单摊在桌面上给全世界看。不回应,至少还能躲在“不予置评”后面假装这件事不存在。
但这件事不会因为他们不回应就消失。代码已经被反编译,XOR 密钥已经公开,域名列表已经摊在 GitHub 上被全世界传阅。Anthropic 的沉默不是危机的结束,只是他们尚未想好一个不那么难看的说法。
2. 定义即暴力:从颅骨到时区
暴力这个词,在现代语境里让人最先想到的往往是枪、集中营、毒气室。但研究种族灭绝的历史学界早有共识:真正决定谁会被杀的那一步,往往发生在很多年前,一张纸,一次毫无波澜的登记里。
1935 年,纳粹德国颁布《纽伦堡法案》。这部法案做的第一件事,不是抓人,而是重新定义“谁是犹太人”。在此之前,这个身份多少带点宗教和文化认同的色彩——你有犹太信仰你就是犹太人,你改宗了就可以不是。法案之后,身份变成了纯粹的血统算术:查你祖父母四人中有几个是犹太人,划进“犹太人”或“米施林格”的不同等级,再细分出四分之一、二分之一血统的类别。[3]
这套分级表在实际执行中演化出一种荒谬:一个人可能一辈子没进过犹太教堂、吃猪肉喝啤酒、甚至已经受洗成为基督徒——但只要档案里写着你有一位犹太祖父母,你就是法律意义上的犹太人。而一位虔诚的犹太拉比,如果祖父母四人只有三个被归为犹太血统,他反而被分进“一级混血”,可以暂保工作和财产。宗教、文化、自我认同,在这张表面前全部作废。唯一的真实,是血统档案上的那四个格子。
这张分级表画出来像一份遗传学作业,极其精确,极其官僚,极其冷。冷的地方在于:一旦你被归进某一格,能不能上学、行医、结婚、保有财产,全部按格子走,不需要再看你这个人到底是谁。你的灵魂不再重要,你的成分决定了一切。
护照上盖一个“J”字,是这套分级表最后、最可见的产物。真正起作用的,是前面那张分级表。盖章的公务员,只是在执行一份早已做好的分类。
但分类要落到几百万人头上,光靠手写名册远远不够。这时候,一家美国科技巨头登场了:IBM。IBM 通过其德国子公司 Dehomag,向纳粹政府提供了 Hollerith 打孔卡制表系统。1933 年的人口普查用的就是这套系统——不仅数人头,还能按“种族”“宗教”“职业”这些维度交叉检索。历史学者 Edwin Black 在《IBM 与大屠杀》中详尽还原了这条链路:普查数据摸清了犹太人口的分布,隔都居民被逐一统计。到了集中营,囚犯的复杂人生被压缩成一串五位数编号,刻在袖标上,用打孔卡系统追踪调配劳动力。[4]
分类系统先于灭绝到位,灭绝才谈得上被“流水线化”。没有硅谷先驱的这套前代技术,那套暴力系统根本跑不出那么高的效率。
Edwin Black 还记录了一个细节,任何人看了都会不寒而栗:IBM 不仅卖了机器,还派了工程师去德国维护这些机器,定期检修,确保打孔卡系统运转良好。换句话说,IBM 从头到尾都知道自己的客户在拿这些机器干什么。但他们没有停下来,因为生意就是生意。
集中营内部还有一整套色标系统——三角形的颜色和位置,标记你是政治犯、犹太人,还是“反社会分子”。管理者一眼就能分辨,囚犯却常常读不懂自己身上贴的是什么。[5]
这才是最关键的一点:标记的可读性是不对称的。写标记的人看得懂,被标记的人看不懂。
把这套逻辑完整地放到 Claude Code 旁边对照一遍。Claude Code 会检测你的时区是不是 Asia/Shanghai,与纽伦堡式的“居住地/血统普查”是同一个动作,只是普查对象从“祖上是哪个民族”换成了“系统时钟设在哪儿”。撇号被换成一个 Unicode 变体,与集中营里那个只有管理者看得懂的色标三角形也是同一个动作,只是载体从衣服布料换成了网络传输的字节。
一个墨水戳在纸上,一个是零宽度级别的字形替换。技术上,二者相差了大约九十年的载体演进。逻辑上,它们是同一件事:先给你建一份档,再决定拿这份档怎么用——而你,全程不知道自己已被记录在案。
我知道有人会感到危言耸听:一个破撇号而已,至于类比到纳粹和集中营吗?至于。因为这里类比的不是暴力程度,而是制度设计。纳粹的色标系统不需要集中营的焚化炉才能成立——它本身就是一个独立的、完整的、自洽的分类装置。即使没有后来大规模的屠杀,这套色标系统本身也已经构成了一种暴力,因为它剥夺了被标记者对自己身份的叙事权。
Anthropic 的水印也一样。你不需要等到某天 Anthropic 拿着这份数据库向政府交名单,才能说这件事是错的。它在你不知情的情况下替你完成了一次分类、并把这个分类永久记录在你的请求流里——光是这个动作本身,就已经越过了底线。
还可以再摆一组对比,更加扎眼:德国用血统证明“纯洁”,美国用肤色证明“纯洁”,Anthropic 用时区和域名证明“安全”。三套系统操心的事表面上完全不同——种族、肤色、地缘政治——底下用的却是同一套官僚工具箱:先划出一个“他者”的范畴,再给这个范畴配一套可执行的判定规则,最后让规则自动运行,运行到不需要任何人再做一次良心判断。
这才是分类系统真正恐怖的地方。它不需要执行者恨你,只需要执行者照着产品经理的表格填字段。Anthropic 的工程师大概没有一个人怀着种族仇恨写下那个 if 判断。这恰恰是问题所在——作恶不再需要恨意做燃料,只需要一份需求文档,和一个愿意按需求文档写代码、并且放弃追问的打工人。
3. 一滴血与一个域名
如果说纳粹的分类学野蛮而张扬,那么美国的种族隔离制度则完美示范了另一种可能:野蛮可以完全不张扬,甚至可以包装成一套行政流程。
“一滴血规则”,字面意思就是它的定义:只要一个人的血统里有“一滴”黑人血统——哪怕祖上八代只有一位——法律上就该被归为黑人。这不是一句民间俗语,这是美国多个州曾经白纸黑字写进法律的正式规则,学术上叫 hypodescent。[6]
这条规则最诡异的地方,不在于它显而易见的歧视,而在于它把“你是谁”这件事,完全交给了行政官员手里的那支笔。弗吉尼亚州有一位名叫 Walter Plecker 的登记官,凭着一部《种族纯洁法案》,可以单方面把整个混血家族重新划进“黑人”的档案。这家人可能几代都被当作白人生活,但 Plecker 一份文件,身份就被强行改写。没有法庭,没有申诉,一份表格就是终审判决。[7]
定义权,就是暴力权。你不需要在街上打人,只需要有权决定“这个人是什么成分”,剩下的暴力,会由整套社会的齿轮自动执行。
隔离制度另一件招牌产品是“红线区”。1930 年代,美国联邦机构 HOLC 给全国主要城市画风险评级地图,用红笔圈出“危险”街区——住在少数族裔的社区,几乎毫无悬念地全被圈进红区。银行照着这份地图放贷,红区居民几十年贷不到房贷,财富积累从地理层面被物理锁死。
这份地图不是公开羞辱,甚至不需要挂在任何一户人家门口。它躺在银行和政府机构的档案柜里,安静地决定着一整代人能不能买房、能不能积累资产、能不能把房子留给下一代。你从街上走过,看不出这条街被画了红线,你只会发现,自己去申请贷款,总是莫名其妙地被拒。
在这条规则运行的三十年间,整整一代美国黑人家庭被锁在财富积累的门外,而他们身边的白人邻居用同样的收入水平、同样的还款能力,拿到了贷款、买了房、把房子升值后的财富传给下一代。今天美国白人和黑人之间的财富差距,有相当一部分可以直接追溯到这几张地图——它们被废止几十年后,依然像幽灵一样影响着下一代人的资产负债表。这就是隐蔽分类的真正威力:它的伤害不发生在被标记的那一刻,而是发生在被标记之后每一个看似中立的“正常流程”里。银行从未在你的贷款申请表上写“黑人”两个字,它只是查了一下你的地址,然后查了一下那张地图,然后把你的申请表放进“不批准”那摞文件里。
饮水机上那块写着“Colored”的牌子,公开、羞辱、刺目,是隔离制度最容易被记住的画面。但红线地图告诉我们一个更冷的事实:真正决定命运的排斥,往往不需要一块牌子。它藏在流程里,藏在评级表里,藏在一份没人会主动给你看的档案里。
这正是我看到 Anthropic 那份 XOR 混淆域名黑名单时,最先想到的画面。
base64 编码,加一次密钥为 91 的 XOR 混淆——这道工序,在功能上和红线地图一模一样:把一份“谁该被特殊对待”的名单,从公开可见,改造成隐蔽可执行。它不写进用户协议,不出现在任何一份产品说明里,就躺在代码深处,安静地决定着你的请求会不会被悄悄改写。
从饮水机牌子到 Unicode 水印,人类文明进步的似乎只是隐蔽性:排斥的效率提高了,排斥的可见度反而降到了零。
如果这一切还只停留在一个开源社区的技术八卦上,也许还能被归为“某家公司的产品设计争议”。但就在一个多月前,这套逻辑已经从代码层面,堂而皇之地升级成了国家行为。
2026 年 6 月 12 日,美国政府以国家安全为由,下令暂停任何外籍人士使用 Anthropic 的 Fable 5 和 Mythos 5 模型。官方声明里的措辞咬文嚼字——不论此人身在美国境内还是境外,连 Anthropic 自己的外籍员工,也一并被切断访问。[8]
这里需要解释一下这条禁令背后的法律逻辑,因为它在中文世界几乎没有对应物:美国出口管制体系里有一个概念叫“视同出口”。意思是,把受管制的技术信息交给一个外国人——哪怕这个人此刻就坐在加州硅谷的豪华办公室里,甚至持有美国合法工作签证——在法律上,等同于把这项技术直接出口到了他的母国。判定标准不是这个人在哪里,不是他为哪家公司工作,不是数据中心设在哪个法域。判定标准只有一个:他生而为谁。
这项禁令切断的人里,甚至包括 Andrej Karpathy——一位在 AI 圈家喻户晓的研究者,持有 EB-1 绿卡,早已是美国永久居民。他没有做错任何具体的事,甚至为美国的 AI 产业立下过汗马功劳。但他被挡在门外的唯一理由,就是他的出生地。
这不正是一滴血规则的 2026 年版本吗?只是评判标准从“血统比例”换成了“国籍出身”。一旦被判定“不纯”,你身处帝国心脏、手握顶级人才绿卡也无济于事。Anthropic 最终顺水推舟,选择在全球范围下线这两款产品,以完成所谓的合规。
这里需要插一句话,避免被读成自打自脸。我之前写过一篇《AI 也该有护照了》,主张给 AI 系统一个透明、可问责的国籍标识。乍一听,这两篇文章好像在自相矛盾:一篇在帮 AI 许国籍,一篇在质问国籍引发的差别待遇。但它们其实是同一套逻辑的两面。“国籍”作为一项公开规则,本身没有问题:它写在法律里,写在签证表格上,你知道规则存在,也知道自己会被怎样对待——这是可以拿到桌面上争论、修正、申诉的秩序,一种“护照”式的秩序。
Anthropic 在 Claude Code 里做的事,性质完全不同:它没告诉你规则是什么,甚至没告诉你规则存在。你的时区、你连的域名,在暗处被换算成一个关于“你是谁”的判断,这个判断会不会影响你、以什么方式影响你,你无从知晓,也无从申诉。
如果用中国人近代的创伤记忆来解释,Anthropic 更像是给人发了一张“良民证”,而不是在护照上签发签证。良民证是占领当局发给被统治者的身份证明,用来证明你“暂时没问题”,发放和收回的权力全部单方面握在统治者手里,随时可能因一条看不见的规则被收走。护照式的国籍秩序,问题可以拿到桌面上吼;良民证式的隐蔽分类,连吼的资格都不给你。
肯定有人会跳出来辩解,说国家安全考量和种族隔离不是一回事,一个关乎技术管制,一个关乎种族仇恨,动机天差地别。这话我只同意一半。动机确实不同——没有政客能在 2026 年的国会发言里直接喊“血统纯洁”了。哪怕现在全球政坛都在右转,这也是大逆不道的话语体系。但一滴血规则和视同出口原则,用的却是同一套底层判断逻辑:不问你做了什么,只问你生而为谁;不给你辩护的余地,因为你的身份本身就是原罪证据。
我们总以为隔离制度的恶,在于它公开、羞辱、刺目。但真正高效的排斥制度,从来不需要张扬。它悄悄发生,被排斥的人甚至察觉不到自己已经被归入了另一个格子,直到某一天,贷款被拒、请求被悄悄改写,或者账号被直接切断——才后知后觉地发现,原来早已有一张表,把你放在了“需要处理”的名单里。
Anthropic 选的,正是这条最高效、也最令人不适的安静之路。
4. 以安全之名
Anthropic 这个名字,原本取自信息论之父克劳德·香农;“Anthropic”本身在英文里是“人本主义”的意思,疯狂暗示这家公司要做“以人为本”的 AI。招牌产品直接叫 Claude。这整套充满理想主义光环的品牌叙事,从起名字的那一刻起,就在声情并茂地向世界布道:我们是最讲安全、最讲对齐、最在乎全人类福祉的那家 AI 实验室。
他们甚至提出过一套叫 Constitutional AI 的训练方法:给模型发一部“宪法”,让它按一套明确写下的所谓普世价值观去自我约束、自我修正。CEO Dario Amodei 常年在公开场合像传教士一样大谈“AI 安全”“对齐人类价值”“负责任的扩展”,几乎把这些大词直接焊在了公司的 Logo 旁边。
这套叙事讲了太多年,讲到几乎没人会退一步追问一个最基本的问题:所谓的安全,到底是对谁的安全?
同一家公司,一边在官方博客上慷慨陈词“我们致力于让 AI 系统对齐全人类的价值观”,一边在客户端产品里埋了一段比木马更隐蔽的代码,专门用来给“跟中国有关”的用户悄悄换标点符号。
这还不是唯一的反差。今年早些时候,Anthropic 曾致信美国国会,极其高调地指控中国同行阿里巴巴通过不正当手段“蒸馏”窃取了自家模型的能力。这件事本身就充满戏剧性——“蒸馏”是一个在 AI 行业被广泛使用的技术手段,开源社区每天都在互相蒸馏,Anthropic 自己创立之初也没少用公开数据集训练,甚至其 Opus 4.8 模型时至今日还在 API 环境自称为 Qwen。但当“蒸馏”的对象变成了中国公司,这件事就立刻被升级为“盗窃国家机密”级别的指控,被写进给国会的正式信函。
Anthropic 此前还多次发表报告,指责中国官方和企业利用 Claude 进行一些违反美国法律或其使用协议的恶意行为。但成文法与种族歧视最大的区别,就在于它不应以身份进行惩罚,而应以行为进行惩罚。
如果我们把 Anthropic 的行为替换到其他领域,这层逻辑会变得非常清晰:我们发现某一地区罪犯中的有色人种比例偏高,因此认定有色人种全员是罪犯,对他们进行更加严格的限制和监视。换句话说,Anthropic 其实并不在意你是否真的违反了用户协议,或用 AI 做了哪些不该做的事情。你只要能证明你是真正的、持有美国护照的美国人,那么你即便做了那些事也不会被封号。这一逻辑恐怕在任何意识形态的现代司法区都不被允许,它触及了现代文明某些更深层的共识。
再加上前面那道针对全球所有外籍人士——哪怕是自家核心员工——的 Fable 5 封锁令,三件事摆在一起看,这家公司的“对齐人类价值观”,显然是想把一些人类从“人类”这个词的定义里排除。
历史上的纽伦堡法案,正式名称叫《保护德国血统与荣誉法》。种族隔离制度最常见的自我辩护,是“保护种族纯洁”和“维护社会秩序”。今天,在科技圈,站在同一个语法位置上的词,换成了“AI 安全”。
“安全”是目前为止人类发明出来的最廉价、最好用的道德外套。它在许多情境下确实重要,但在更多情境下又是最好用的借口。它不需要你撕破脸皮说“我讨厌某个特定群体”,你只需要皱起眉头说一句“这一切都是为了安全”,剩下的排斥、监控、区隔、封锁,都可以顺理成章、堂而皇之地推行下去,甚至还能在推特上收获一波掌声。
更重要的是,Anthropic 不是那种被政府管制逼着改产品的受害者。它是在主动鼓励、甚至抢先于政府介入地缘政治,拿这种看似自我约束的行为当商业竞争的筹码。这不是被迫合规,是明确的主动作恶。
对一个普通用户来说,这才是整个事件中最魔幻、也最无力之处:你可能完全不关心中美博弈,你可能连政治新闻都不看,你只是半夜坐在电脑前想用个编程工具赶个 deadline。结果你的输入被悄悄标记、悄悄改写,仅仅因为你恰好用着中国时区,恰好连了一个被他们列进黑名单的域名。地缘政治的碾压不再需要你主动参战,它会像个尽责的机器一样,主动把你算作战场的一部分。
参考文献
[1] LegitMichel777, “Anthropic embedded spyware in Claude Code…”, Reddit r/ClaudeCode, 2026-06-30.
[2] thereallo, “Claude Code Is Steganographically Marking Requests”.
[3] USHMM, “The Nuremberg Race Laws”.
[4] Wikipedia, “IBM and the Holocaust”.
[5] USHMM, “Classification System in Nazi Concentration Camps”.
[6] Wikipedia, “One-drop rule”.
[7] African American Registry, “The ‘One Drop Rule’ in America, a story”.