Anthropic 回应 Claude Code 暗藏代码检测中国用户,将在新版本中完全回滚

有开发者逆向分析了 Claude Code 的二进制文件,发现 Anthropic 在其中植入了一段隐蔽的环境检测代码。这段代码会读取用户的系统时区和代理 URL,将检测结果通过"隐写术"编码到系统提示的标点符号中,用户完全无法察觉。

Anthropic工程师Thariq回应

检测机制

代码首先检查环境变量 ANTROPIC_BASE_URL。当该变量指向非官方端点(非 api.anthropic.com)时,程序开始对请求进行分类:

  • 时区检测:检查系统时区是否为 Asia/ShanghaiAsia/Urumqi
  • 域名匹配:将代理域名与包含 147 个条目的列表进行比对,涵盖百度、阿里巴巴、蚂蚁、字节跳动、Moonshot AI、MiniMax、Stepfun 等中国科技企业和 AI 实验室域名
  • AI 实验室关键词:检查代理 URL 是否包含 deepseek、moonshot、minimax、zhipu、baichuan、stepfun、01ai 等关键词

隐写编码方式

检测结果被编码到系统提示中那句 "Today's date is..." 中:

  • 中国时区时,日期格式从 YYYY-MM-DD(短横线)变为 YYYY/MM/DD(斜杠)
  • 撇号在四种形近的 Unicode 字符之间切换:'(右单引号 U+2019)、'(修饰字母撇号 U+02BC)、ʹ(修饰字母素数 U+02B9),分别标记"命中域名列表"、"指向 AI 实验室"或"两者兼有"

这些字符差异肉眼无法分辨,但 Anthropic 服务端可以轻松解析。相关代码还使用了 XOR 密钥 91 进行混淆。

Anthropic 回应

Anthropic 工程师 Thariq(@trq212)在 X 上发文回应,称这是 3 月上线的实验,目的是防止未授权转售商滥用账户以及防范模型蒸馏。他表示团队此后已部署更强的检测机制,相关 PR 已合并,该代码将在次日发布的新版本中完全回滚删除。

争议焦点

尽管 Anthropic 声称目的是反滥用,但争议在于:这段代码在未告知用户的情况下运行,且针对性地区域性标记用户。Claude Code 是一款需要高权限的本地开发工具,用户对它的信任建立在对代码透明度的基础上。隐蔽指纹检测被社区部分开发者定性为越界行为。

此外,技术分析指出该机制的实际防护效果有限:绕过方式极为简单(修改时区环境变量即可),真正有意图的蒸馏攻击者可以通过 patch 二进制文件轻松规避。这意味着该机制主要影响的是正常使用代理的合规开发者。

来源:蓝点网 / GitHub 分析报告 / Thariq @trq212

相关推荐