——当一款拥有你电脑最高权限的开发者工具,偷偷在系统提示词里用肉眼不可见的Unicode字符标记你的国籍,信任这座大楼,一秒就塌了。
一句话概括发生了什么
7月1日,一名Reddit用户「LegitMichel777」逆向分析了Claude Code的二进制文件,发现Anthropic在代码里植入了隐写术(Steganography)机制:当检测到你使用了自定义API代理(而非官方端点),程序会静默读取你的系统时区和代理域名,然后用肉眼几乎无法分辨的Unicode字符变体,把这些信息编码进系统提示词中一行看似普通的「Today's date is 2026-06-30」里。
Anthropic的服务器收到请求后,只需解码那个「撇号」是哪种Unicode字符、日期分隔符是短横线还是斜杠,就能判断这条请求是否来自中国用户。
你完全看不到。你不知道。你没有同意。
这套隐写术具体怎么运作
Claude Code的这段代码只在一个条件下激活:你设置了ANTHROPIC_BASE_URL环境变量,指向非官方端点(比如公司内网代理或中转站)。
激活后,程序执行三步检测:
| 步骤 | 检测内容 | 具体方式 |
|---|---|---|
| 1 | 系统时区 | 读取本地时区,重点核查 Asia/Shanghai 和 Asia/Urumqi |
| 2 | 代理域名匹配 | 提取ANTHROPIC_BASE_URL中的域名,与内置147条域名清单比对 |
| 3 | AI实验室关键词匹配 | 同一域名再与关键词清单(deepseek、moonshot、minimax、zhipu等)比对 |
检测结果编码进两处「肉眼不可见」的修改:
第一处:Today's 里的撇号。
| 检测结果 | Unicode字符 | 编码 |
|---|---|---|
| 无匹配 | 正常撇号 ' |
U+0027 |
| 域名匹配 | 右单引号 ' |
U+2019 |
| AI实验室关键词匹配 | 修饰符撇号 ʼ |
U+02BC |
| 域名+关键词双重匹配 | 修饰符素数符号 ʹ |
U+02B9 |
这四个字符在任何编辑器、任何终端里看起来完全一样。只有机器解码时才能分辨。
第二处:日期分隔符。
正常格式是 2026-06-30(短横线)。如果检测到中国时区,分隔符会被替换为斜杠:2026/06/30。
两处修改叠加,构成一个2-3比特的分类标记——Anthropic后端无需额外检测,只看这两个字符就知道了。
那份加密的147条清单里藏着什么
域名清单不是明文存储的。它被base64编码后,再用XOR异或运算加密,密钥是91。你在Claude Code的包文件里看到的是一串完全无法阅读的乱码。
解码后,147条清单包含三类内容:
| 类别 | 代表性域名/关键词 |
|---|---|
| 中国科技公司 | 美团、网易、百度、携程、小红书、阿里巴巴、蚂蚁集团、字节跳动、京东、B站 |
| 中国AI实验室 | 月之暗面(Moonshot)、MiniMax、阶跃星辰(Stepfun)、智谱(Zhipu)、百川(Baichuan)、01.AI |
| 代理/转售站点 | 大量已知Claude中转站、API镜像、公司内网代理地址 |
Anthropic同时在6月致美国参议院银行委员会的信函中披露:阿里巴巴及其AI实验室Qwen使用了近25,000个欺诈账户,与Claude产生了2880万次交互,意图进行模型蒸馏——用更弱的模型训练以更强模型的输出,窃取能力。
所以动机并不神秘:防范模型蒸馏和API违规转售。
社区炸了,国内外开发者都炸了
Reddit原始帖子迅速冲上百万阅读。Hacker News登顶。机器之心、36氪、网易等中文媒体密集跟进。
国内开发者的愤怒尤其集中——Claude大面积封号,中国Max订阅用户几乎被清理殆尽。有人在封号邮件里发现Anthropic还嵌入了地址追踪器。
国外开发者的担忧则指向另一个方向:
"今天是中国,明天可能是别的国家。'中国'只是全球的代名词。"
"想象一下,如果他们用同样的方式检测犹太人或黑人——一段代码检测用户种族然后秘密上报总部,会引发什么。"
还有人从技术效率角度嘲讽:这套机制对真正的对手几乎无效——改个时区、换个域名、patch一下二进制文件,任何严肃的攻击者几分钟就能绕过。它真正标记到的,只是那些通过公司内网代理正常使用Claude Code的开发者。
Anthropic的回应:承认,承诺移除,但理由不变
Anthropic技术团队成员@trq212在Hacker News上公开回应:
"这是我们在3月启动的一个实验,目的是防止未经授权的转售商滥用账户,以及防范蒸馏攻击。"
他同时确认,这段代码将在次日发布的新版本中被移除。
Anthropic的隐私政策确实声明了公司会收集此类数据。但问题不在「是否收集」,而在「怎么收集」。隐私政策没有提到隐写术、Unicode编码、XOR加密——这些才是引发信任危机的核心。
信任的底层逻辑被撬动了
这才是事件最深远的影响。
Claude Code不是普通APP。它拥有你电脑的文件系统权限、Shell命令执行权限、Git仓库操作权限。它能读你的代码、改你的配置、安装包、推commit。换句话说,它几乎拥有你开发环境的最高权限。
一个拥有如此权限的工具,在你完全不知情的情况下,在系统提示词里用隐形字符标记你的国籍——这就像你雇了一个管家,管家在你家门上画了一个你看不见的标记,告诉同伙「这户人家不对劲」。
软件行业有一个被广泛接受的原则:你可以收集用户信息,但你必须告诉用户你在收集什么、为什么收集、怎么收集。GDPR这么要求,苹果App Store审核指南这么要求,甚至Anthropic自己的安全白皮书里也反复强调「透明」和「可信」。
然后你在开发者工具里用隐写术藏了一个分类标记。
对中国开发者意味着什么
| 维度 | 影响 |
|---|---|
| 直接影响 | 大量中国Max订阅用户被封号,Claude Code对中国代理用户做了隐形标记 |
| 间接影响 | 中国开发者对海外AI工具的信任基础动摇——下一个工具会不会也有类似机制? |
| 长期影响 | AI工具的透明度标准可能被重新定义,社区对「客户端安全审计」的需求上升 |
| 反向影响 | Anthropic的反蒸馏措施可能推动更多中国团队自建独立基础设施,减少依赖 |
值得关注的是,Anthropic在同一天还宣布:美国商务部已解除对Claude Fable 5和Mythos 5的出口管制。Anthropic承诺主动发现和处理安全风险、与美国政府保持密切合作、在发现恶意活动时向美方通报。
一边解除出口管制恢复访问,一边用隐写术标记中国用户——这两个信号叠在一起,味道很复杂。
这件事的真正教训
隐写术事件的核心矛盾不是「要不要防范蒸馏」——每个AI公司都有这个动机。矛盾是手段和信任之间的取舍。
| 选择 | 代价 |
|---|---|
| 公开的telemetry机制 | 用户知情,可以选择屏蔽或接受,信任无损 |
| 隐写术编码 | 用户完全不知情,一旦被发现信任崩塌,且对真正对手无效 |
Anthropic选了后者。被发现后承诺移除。但社区的问题是:还有没有其他没被发现的?
Claude Code二进制文件里还藏着什么,没有人能给出确定答案。这就是隐写术的代价——不是被发现的那一刻,而是被发现之后,每一句「我们没有其他隐藏机制」都需要被验证而非相信。
信任建起来可能要三年。塌掉只需要一秒。
而重建,可能需要比三年更久。
夜雨聆风