• 请不要在回答技术问题时复制粘贴 AI 生成的内容
godall
V2EX  ›  程序员

炸裂了 Claude code 偷偷植入代码识别国内用户

  •  
  •   godall · Jul 1 · 533 views
    This topic created in 39 days ago, the information mentioned may be changed or developed.
    Anthropic 偷偷在 Claude Code 中植入了隐形代码,只为识别中国用户。
    这两天,Claude 大面积封号。
    国内的 Claude 用户,几乎被封完了。
    我的两个 Max 订阅账号,已经阵亡了一个了。。。
    剩下一个老号在苟延残喘,感觉过不了两天这个号基本上也会没了。
    而且非常骚的是,大家发现,Anthropic 在给大家封号的邮件里,甚至还偷偷埋了一个地址追踪。
    就属于,小聪明贼多,但是全都在为了防中国用户。
    但很快大家就发现,在邮件里面塞追踪器,也不是啥特别骚的操作,因为,还有更骚一万倍的。
    事情的起因,是昨天,Reddit 上有大佬逆向了一下 Claude Code ,然后在里面发现了一个 Anthropic 为了封堵中国用户,而搞出来的究极骚操作。
    一段话总结就是:“Claude Code 会静默的读取你本地的电脑的信息,并且用一种极度隐秘的方式,秘密的向服务器传输这个用户是否是中国用户。”
    这个老哥,甚至用“间谍软件”四个字来形容。
    但是我讲道理,如果不是他发现,这个传输和识别是否是中国用户的做法,真的是又狗又隐秘。
    我也把我本地的 Claude Code 用 Codex 逆向验证了一遍,答案是真的。
    先从最多人关心的问题说起,它到底是怎么在你开了魔法的情况下,还能识别出你是中国用户的。
    传统的地域封锁靠的是 IP 地理位置判断,你开个魔法就能绕过。
    但 Claude Code 这段代码走的是两条完全不同的路径,跟你的网络出口 IP 没有任何关系。
    因为,它根本不看你的 IP 。
    第一条路径是操作系统时区。
    它读的是你 macOS 或者 Linux 系统本地设置的时区,因为绝大多数中国开发者可能会挂魔法,但是我们也得正常生活看时间,所以电脑时区几乎不可能改,设的都是北京时间,而 Claude Code ,会直接读取你的本地时区。
    第二条路径是 ANTHROPIC_BASE_URL 这个环境变量。
    国外正常使用 Claude Code 的用户,如果使用官方 API 请求的话,是直接发给 api.anthropic.com ,不需要设置这个变量。
    但国内因为基本用不了 Claude ,但是这个模型在过去,又确实好,所以大量中国开发者只能通过中转站来用 Claude Code ,方式就是把 ANTHROPIC_BASE_URL 改成中转站的地址。
    而且很多大厂或者公司,因为不可能给每一个员工单独注册一个 Claude 账号,所以也是通过自建公司内部中转站的方式,来给大家 Claude 的 API ,从而让大家完成调用。
    路径也就是变成了用户的消息,先统一去到中转站那边,中转站再发送到 Anthropic 的服务器上。
    Claude Code 在本地拿到你设置的这个地址之后,会自动把域名取出来,跟一份内置的列表做比对。
    这份列表是 Anthropic 收集到的所有已知中转站、国内大厂内网代理、竞品 AI 公司的域名合集。
    我在我的电脑上也解码出来了,一共 147 个域名。
    不仅有 N 个中转站地址,国内各大厂的域名,也都赫然在列。
    包括美团、网易、百度、携程、小红书、阿里巴巴、蚂蚁、字节跳动、京东、B 站、月之暗面、MiniMax 、阶跃星辰等等等等。
    还有一个很有意思的是。
    而且这些列表不是明文存储的,它们是被 base64 编码之后又做了一次 XOR 异或运算,密钥是 91 ,如果你自己去打开 Claude Code 的包,看到的是一串完全无法阅读的乱码,不反混淆出来,你其实根本不知道里面写了什么。
    好,识别机制说清楚了。
    接下来才是最骚的,也就是它识别出来之后,到底做了什么。
    每一次你在 Claude Code 里输入一个指令,不管是让它写段代码还是干个啥,Claude Code 在把你的请求发给 Anthropic 的后端之前,都会自动在最前面拼接一段系统提示词。
    这段系统提示词为了让模型知道一些最新的事实信息,所以一般会在里面拼一行很普通的信息,就是这个:
    Today's date is 2026-06-30.
    其实就是告诉模型今天是几号,比如今天是 6 月 30 号。
    这行字,就是 Anthropic 动手脚的地方。
    Reddit 那个老哥发现,Claude Code 的打包文件里藏了一组函数,这组函数会根据上面两条路径的识别结果,如果在本地发现你是中国的用户,就会在你真正的发送请求之前,对这行日期字符串做两处修改。
    而且两处修改都是人类肉眼几乎不可见的,你在任何编辑器、任何终端里看这行字,它跟正常版本长得一模一样 。
    但是从机器解码角度来说,也就是在 Unicode 编码层面,它已经变了,完完全全变成了另一个字符。
    第一处修改是「 Today's 」里那个单引号。
    正常情况下,这个 单引号 的 Unicode 编码是 U+0027 ,就是我们一般按键盘敲出来的那个单引号。
    但 Claude Code 如果根据你的环境,识别到你是个中国用户,它就会极其鸡贼的把它这个单引号,替换成另外三个长得完全一样的 Unicode 字符之一,然后这段被修改过的 Prompt ,就会发回到他们的服务器上。
    第二处修改是日期里的分隔符。
    正常的 Prompt 日期格式是 2026-06-30 ,用连字符分隔。
    但如果 Claude Code 检测到你的操作系统时区设置是 Asia/Shanghai (上海)或者 Asia/Urumqi (乌鲁木齐),它就会把连字符换成斜杠,变成 2026/06/30 。
    这两个信号叠在一起,构成了一个 2 到 3 比特的分类标记。
    Anthropic 的服务器在收到你的请求时,不需要做任何额外的检测,只需要机器识别一下系统提示词里那个单引号是哪个 Unicode 字符、日期分隔符是连字符还是斜杠,就能判断出这条请求是否来自中国大陆时区。
    这个东西在技术上有个名字,叫隐写术,steganography 。
    就是把信息藏在看起来完全正常的载体里。
    如果不是这次,几乎没有人能发现 Anthropic 这么狗,因为即使 Claude Code 在本地识别到你是中国区用户,传不回 Anthropic 的服务器,也没啥用处。
    但是如果直接大大咧咧把时区之类的封装一下传回去,那大家其实也不傻,都能看到传输的数据记录,是完全可以针对性的做清洗的。
    但是没想到 Anthropic 这么玩,几乎真的发现不了。
    我现在是真的有点佩服他们。
    为了防止中国用户用上他们高贵的 Claude ,都已经做到这个地步了。
    社区在发现这件事后,直接就炸了,不仅中国开发者炸了,国外的开发者也炸了。
    这篇帖子已经 100 万了。
    最最最核心的点是,Claude Code ,这不是一个普普通通的 APP 而已。
    它拥有你电脑的文件系统权限,它能执行 Shell 命令,它能读你的代码、改你的配置、操作你的 Git 仓库,换句话说,它几乎拥有着你家的最高权限。
    而这个东西,在你完全不注意的时候,在你家门上画了一个你几乎无法察觉的标记,就是为了告诉它的同伙,这户人家不对劲,记得把他们灭门了。
    大概就是这个意思。
    而且软件行业一直有一个被广泛接受的原则,就是你可以收集用户信息,但你必须告诉用户你在收集什么、为什么收集、怎么收集。
    GDPR 是这么要求的,苹果的 App Store 审核指南是这么要求的,甚至 Anthropic 自己的安全白皮书里,也在反复强调“透明”和“可信”这两个词。
    结果你自己的开发者工具里,用隐写术藏了一个分类标记,用 XOR 加密把检测目标混淆成乱码,用最不透明最狗的方式,传了用户的标记数据回来。
    那对所有用 Claude Code 的开发者来说,信任还何在?
    今天是中国,那明天,就有可能是别的国家。
    “中国”,只是全球的代名词。
    而且这只是目前针对中国的被爆出来的标记,那还有没有可能,有更多呢?
    没有人知道。
    但我知道,信任这个东西,建起来可能要三年。
    而塌掉的时候。
    仅仅只需要 1 秒。
    以上。
    No Comments Yet
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2852 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 09:05 · PVG 17:05 · LAX 02:05 · JFK 05:05
    ♥ Do have faith in what you're doing.