你用 Claude Code 写代码,它在悄悄给你打“中国用户“标签,一个工具让你 1 秒自测!

📅 2026/7/11 20:04:08
你用 Claude Code 写代码,它在悄悄给你打“中国用户“标签,一个工具让你 1 秒自测!
一场针对中国开发者的隐形标记事件以及一个用 Claude Fable 5 写出来的反制工具先说结论如果你最近在用 Claude Code并且走的是第三方代理或自定义 API 端点那你发出去的每一条请求很可能都在系统提示词里隐藏着一枚中国用户水印——你看不见但 Anthropic 的服务器能读出来。这不是猜测是有人逆向了源码之后实锤的。事情是怎么曝出来的时间线拉回到 6 月底。小红书上陆续出现大量Claude 今天大面积封号的帖子很多中国开发者反映账号无故被封但不知道原因。这件事当时没有在更大范围发酵——毕竟被封号这件事太常见了大家习惯性地以为是 Anthropic 照例的区域管控收紧。真正的炸弹是 6 月 30 日投出来的。Reddit 用户LegitMichel777本来只是在帮自己修一个问题Claude Code 2.1.196 在设置代理的时候会禁用远程控制他想逆向找到这段逻辑把它去掉。结果顺藤摸瓜挖出了一套隐藏了好几个月的检测机制。他随后在 GitHub 发布了完整的逆向分析报告对 2.1.193、2.1.195、2.1.196 三个版本做了交叉核查确认存在。帖子一出24 小时内 150 万浏览1.3 万转发。这段代码到底干了什么技术细节有点绕但我尽量说人话。第一步触发条件Claude Code 会检查你有没有设置ANTHROPIC_BASE_URL这个环境变量。exportANTHROPIC_BASE_URLhttps://your-proxy.example.com这个变量是干什么的就是让 Claude Code 不走官方的api.anthropic.com而是走你自己的代理或第三方 API 网关。中国开发者几乎人人都在用——因为直连官方端点往往不稳定。一旦检测到你设置了这个变量隐藏逻辑就启动了。第二步双重指纹识别指纹一时区检测读取你的系统时区判断是不是Asia/Shanghai或Asia/Urumqi新疆时区。这一步非常直接。指纹二域名黑名单提取你的代理 URL 主机名和一份硬编码的 147 个域名列表做比对。这份列表经过了 Base64 XOR密钥 91混淆——不是强加密但足够绕过普通的字符串搜索。列表里都有什么国内主流互联网公司全在百度baidu.com阿里巴巴alibaba-inc.com字节跳动bytedance.net网易netease.com快手kuaishou.com小红书xiaohongshu.com京东jd.com……还有一批中国 AI 实验室关键词DeepSeek、Moonshot月之暗面、MiniMax稀宇、智谱、百川、阶跃星辰、零一万物、火山引擎……以及大量 Claude 第三方代理域名比如claude-code-hub.app、openclaude.me、deeprouter.top等。第三步隐写术注入——藏在今天的日期里这是整件事最精妙也最让人细思极恐的部分。Claude Code 没有用一个独立的遥测字段来上报这些信息。相反它把结果藏进了系统提示词里最不起眼的那句话Todays date is 2026-06-30.改动一日期分隔符如果系统时区是中国时区分隔符从短横线变成斜杠Todays date is 2026/06/30. ← 中国时区 Todays date is 2026-06-30. ← 非中国时区改动二撇号替换Todays里那个撇号在四个外观几乎一样的 Unicode 字符之间切换字符Unicode含义U2019正常无命中U0027命中域名黑名单ʼU02BC命中 AI 实验室关键词ʹU02B9两者都命中肉眼看完全一样。但服务端一解析你是谁就清楚了。每一次请求都带着这枚隐形水印发往 Anthropic 的服务器。你不知道模型也不知道但 Anthropic 知道。Anthropic 怎么说事件曝光后Claude Code 团队成员 Thariq Shihipartrq212在 X 上发文回应这是 3 月份启动的一项实验目的是阻止未授权转售并防范模型蒸馏。相关 PR 已合并会在次日发布的新版本中回滚删除。好我来翻译一下这句话他们承认了说是反转售反蒸馏实验说会删。问题不在于动机是不是合理——防止 API 滥用确实是个真实的业务需求。问题在于这件事从来没有写进任何文档从来没有告诉过用户。你安装了一个 CLI 工具它在你不知情的情况下读取你的系统时区和代理地址把结果藏进每一条请求里。这件事发生在版本 2.1.91 到 2.1.196 之间跨度从 4 月 2 日开始持续了将近三个月。FuckClaude用 Claude Fable 5 写出来的反制工具就在这件事曝光的同一天7 月 2 日开发者LinXiaoTao在 GitHub 上发布了 FuckClaude。项目名字说明了一切。更讽刺的是这个项目是用 Claude Fable 5 开发的。README 里直接写着Built with Claude Fable 5。这个工具能做什么FuckClaude 是一个纯前端单页应用完全在浏览器本地运行不上传任何数据。它扫描你浏览器环境里的六项中国用户信号给出一个 0-100 的风险评分告诉你在 Claude Code 的眼里你长什么样。检测项权重检测方式系统时区30Intl.DateTimeFormat读取 OS 时区与 Claude 完全一致浏览器语言24navigator.languageszh-CN 排第一得分最高已安装中文字体20Canvas 宽度探测微软雅黑、苹方等Intl 区域设置10日期数字格式化使用的 locale时区偏移量8getTimezoneOffset() -480UTC8Emoji 渲染风格8从 UA 推断操作系统厂商分数 0-30 是低风险31-60 中风险61-100 高风险。其中最关键的是系统时区权重 30——这是和 Claude Code 实际机制直接对应的那个信号其他五项是通用的中国环境特征。怎么用直接打开这个网址https://fuck-claude.vercel.app/点Start scan等几秒看结果。就这么简单。如果你用命令行还有个 API 端点可以直接用curl https://fuck-claude.vercel.app/api/check它会根据请求头里的时区、语言、User-Agent 等信息给出服务端估算分数浏览器字体没法服务端检测所以最高只能评估到 70 分满分的换算值。我测了一下你猜多少分好家伙93分老实说作为一个长期住在中国的开发者时区是 Asia/Shanghai语言是 zh-CN字体全装了——基本上是满分选手。这也意味着如果你过去几个月在用代理跑 Claude Code你发出去的每一条对话请求都带着一枚写着China User的隐形标签。我的想法我用 Claude Code 很久了。说实话它确实是目前我用过最好的 AI 编程工具。Fable 5 的能力更是炸裂。但这件事让我觉得很不舒服。不是因为 Anthropic 想区分用户——这我可以理解防转售、防蒸馏是真实的商业需求。让我不舒服的是方式读取系统时区和代理地址不告诉用户用隐写术把结果藏进系统提示词不告诉用户持续三个月不告诉用户直到被人逆向出来才说这是实验我们会删如果从一开始就在文档里写清楚——当检测到非官方代理时我们会收集哪些信息、用于什么目的——这件事根本不会有今天这么大的舆论。被发现了再删和没做过是两件不同的事。FuckClaude 这个项目存在本身就说明了一件事信任一旦破裂修复的成本远比建立要高。一个工具让你自测你在它眼里是不是中国人这句话本身就已经足够悲凉了。当然该用还是得用。Claude Fable 5 的能力摆在那里FuckClaude 本身都是用它开发的。但我会更小心地思考什么该放进去什么不该。相关资源FuckClaude 自测地址https://fuck-claude.vercel.app/GitHub 仓库https://github.com/LinXiaoTao/FuckClaude如果你想降低评分FuckClaude 的 FAQ 里有建议把系统时区改离 Asia/Shanghai比如改到 UTC把 zh-CN 从浏览器语言列表首位挪开避免通过包含blacklist关键词的代理域名访问 Claude Code当然这改变的只是表象。核心问题是信任不是时区。你自测的分数是多少评论区告诉我。谢谢你阅读我的文章~我是顾北我们下期再见PS本文部分内容由AI辅助创作