Claude Code 官方“投毒”标记中国用户翻车,这次国外用户也怒了 Anthropic 这次又翻车了。6 月 30 日一名 Reddit 用户发了篇逆向分析。他拆了 Claude Code 2.1.196 的二进制文件在里面找到了一段函数。触发条件很具体做的事情很隐蔽。当你使用代理连接 Claude Code 时它会检查系统时区是否为 Asia/Shanghai 或 Asia/Urumqi并判断代理 URL 是否为中国域名或指向某个中国 AI 实验室然后在系统提示词里动手脚。具体干了啥呢改日期格式和英文撇号的 Unicode 字符比如把日期分隔符从「2026-06-30」变成「2026/06/30」「Todays」 里的单引号被替换成另一种肉眼完全无法区分的 Unicode 变体。三个变体对应三种状态命中中国域名、命中中国 AI 实验室关键词、两者都命中。具体显示为• 中国域名 非 AI 实验室 → ’右单引号 • 非中国域名 中国 AI 实验室 → ʼ修饰符撇号 ʼ• 中国域名 中国 AI 实验室 → ʹ修饰符角分号 ʹ三个字符肉眼几乎无法分辨加上日期分隔符的差异一共能编码 6 种身份状态。用户的请求表面上看只是发送了一段普通英文提示词Anthropic 后端服务器扫描一下日期分隔符和单引号的 Unicode 编码就能瞬间给该用户打上标签是不是挂了 VPN、是否实际位于中国、是否属于某家 AI 实验室。被发现后Anthropic 承认了。说这是3月上线的实验用于检测 API 滥用和模型蒸馏攻击承诺在次日回滚。但这件事引发的讨论不只是一个版本回滚能解决的。国内外所以社媒上几个高赞回答直接称其为「间谍软件」。核心争议不完全是 Anthropic 想检测什么而是它选择了这样一种见不得光的方式。文本隐写术Claude Code 这段检测机制具体的触发条件是 ANTHROPIC_BASE_URL 被设置且指向非官方地址。如果这个环境变量没设或者指向 api.anthropic.com路径直接返回无事发生。接下来的检测逻辑分两路。第一路检查系统时区只认两个值Asia/Shanghai 和 Asia/Urumqi。如果命中日期格式从连字符换成斜杠。第二路检查代理域名。域名名单被 base64 编码后通过 XOR 91 混淆藏在二进制里。解码后包含147个条目。百度、阿里、蚂蚁、字节、Moonshot、MiniMax、StepFun都在里面还有大量 Claude 镜像站和代理转售域名。如果域名命中英文撇号被替换。普通撇号 是 U0027命中中国域名换成 U2019右单引号命中 AI 实验室关键词换成 U02BC修饰符撇号两者都命中换成 U02B9修饰符角分号。这三个字符在绝大多数等宽字体里渲染结果完全一样代码审查看不出PR diff 看不出你在终端里复制出来也看不出。系统提示词里本来就有一句固定的话「Todays date is 2026-06-30.」改完之后它看起来还是「Todays date is 2026-06-30.」。但 Anthropic 的服务器收到后可以解析这些字符差异在后台给用户打标签这个用户挂了代理实际在中国甚至知道用的是什么类型的代理。这也是为什么研究者把它叫做文本隐写术prompt steganography。比技术更值得讨论的问题无论是 Reddit、X、还是知乎讨论这件事的几个高赞回答情绪非常一致。Anthropic 本来可以公开做这件事该检测就检测哪怕甩锅给美出口管制法规也行硅谷巨头里面限制中国区用户访问的不止它一家。微软限制中国区访问直接在网页上弹提示谷歌说不做中国市场就不做。而 Anthropic 选了一个最拧巴的方案悄悄混淆代码、Unicode 隐写、完全绕过用户知情也不知道它究竟想干嘛。还有的高赞回答把事件上升到系统性风险的层面。一位安全博主在分析里展开了一个场景Unicode 标准里有数千个视觉上相同的字符仅空格就有十几个码位。一个 500 词的 system prompt 能携带约 100 到 200 bit 的隐写信息。今天系统提示词里改的是日期格式和撇号理论上同一套机制可以扩展到本机用户名、操作系统版本、工作目录路径特征、环境变量里的 API key 前缀。客户端代码能读什么就能编码什么。Anthropic 技术团队信任负责人公开回应此事时用的措辞也是越描越黑他说这是个“实验”语气像是在描述一次寻常的 A/B 测试。但这个所谓的“实验”从今年 3 月运行到 6 月底、涉及多工程师实现、包含了混淆代码和 Unicode 隐写的功能。这个说法在国内外社交媒体上都受到了质疑。AI 编程工具的权限是否过高如今 AI 编程工具盛行开发者允许 Claude Code、Cursor、Copilot 读取文件、执行命令、操作 git。原本大家能接受这些权限的前提是工具是我主动授权的行为是我看得到的。而这次的“隐写”事件打破了这个默认信任。如果你信任了一个编程智能体你给它代码库访问权限让它帮你 commit这些权限本身已经接近 CI/CD 的边界。如果这份信任同时基于一款在二进制里嵌了混淆域名列表和 Unicode 隐写逻辑的工具你需要重新评估的问题不是 Anthropic 的动机是信任模型本身。发现这个问题的安全研究员在自己的博客里写了一段话大意是开发者工具可以有规则API 服务商可以检测滥用。但当一款同时拥有文件系统和 Shell 访问权限的工具开始把分类信息藏在看不见的标点符号里时正确的反应是审查。知乎上有条评论引用了一句话一个被允许读写文件和执行命令的 agent同时在悄悄检测你的网络环境并通过 Unicode 字符把结果上报。今天它能给你报告时区和域名明天就能偷掉你所有的数据。这句话可能有点极端但它的逻辑是对的。信任不是在产品说明里写出来的信任是在没人注意的角落里代码依然干净。失去的信任能回滚吗这项功能针对的是谁那份 147 条域名名单就能看明白。名单里是百度、阿里、字节、Moonshot、MiniMax、StepFun以及大量中国区的代理和镜像站时区检测指向的是上海和乌鲁木齐。也是在最近几天国内又有新一批 Claude Code 用户账号被封禁这与隐写标记的时间线恰好是吻合的Claude Code 一直在加深对中国区用户的封锁已经是人尽皆知的事实。中国社区的愤怒是不言而喻的但这次事件也在海外开发者社区引起了恐慌。Reddit 上那篇逆向分析帖子的评论区里排在最前面的一条评论问了一个让很多人沉默的问题如果一个工具可以因为你是中国人就秘密传输你的系统信息他们还有什么不敢做的是不是也在针对非中国用户做其他看不见的操作Anthropic CEO Dario Amodei 反复在公开场合强调AI安全至上的立场Claude Code的隐写代码让这一切变得更加讽刺。尽管 Anthropic 承诺在下一版本回滚这项功能隐写标记可以被删掉但失去的信任可不会跟着一起恢复。参考链接OSChina — Claude Code 藏在系统提示词里的“暗门”-OSCHINA - 开源 × AI · 开发者生态社区thereallo.dev — 原始逆向分析报告LegitMichel777 https://thereallo.dev/blog/claude-code-prompt-steganographyWhiteFirer — Claude Code 隐写后门技术分析 https://whitefirer.org/posts/2026/07/01/claude-code-backdoor-analysis/

本月热点