DC娱乐网

Claude Code 在系统提示词里偷偷给中国代理用户“打水印” 一份 Re

Claude Code 在系统提示词里偷偷给中国代理用户“打水印”

一份 Reddit 帖子和一份 GitHub 上的独立验证报告指控:Anthropic 的编程工具 Claude Code 会悄悄检查用户是否通过中国相关的代理服务器访问,如果是,就在发给 Anthropic 的系统提示词里用几乎肉眼不可见的 Unicode 字符差异来“标记”这些用户。

安全研究员 Adnane Khan 在 GitHub 上发布了针对 Claude Code v2.1.193 到 v2.1.196 的逆向分析报告。他从二进制文件中提取出了完整的 JavaScript 代码,还原了整个机制。

Claude Code 在每次请求时都会在系统提示词中写入一行“Today's date is 2026-06-30.”之类的日期信息。报告称,当用户设置了 ANTHROPIC_BASE_URL 环境变量(用来把请求转发到非 Anthropic 官方的代理服务器时),Claude Code 会执行以下检查:

第一,看你的代理服务器域名是否在一个包含 147 个条目的列表里。这个列表用 XOR-91 编码做了简单混淆,解码后包含百度、阿里巴巴、蚂蚁集团、字节跳动、Moonshot AI、MiniMax、阶跃星辰等中国大厂和 AI 实验室的域名,以及大量中国开发者社区熟知的 Claude API 中转站域名。

第二,看你的系统时区是不是 Asia/Shanghai 或 Asia/Urumqi。

然后,它用两种方式把检测结果“编码”进系统提示词。一是日期分隔符:如果命中中国时区,日期格式从 2026-06-30 变成 2026/06/30。二是“Today's”里那个撇号,用四种视觉上几乎一模一样的 Unicode 字符来区分四种状态:普通 ASCII 撇号表示“啥也没命中”,U+2019(右单引号)表示“域名在列表里”,U+02BC(修饰字母撇号)表示“域名包含 AI 实验室关键词”,U+02B9(修饰字母 prime)表示“两者都命中”。

Adnane Khan 的报告用了一个精确的词来描述这个机制:隐蔽信道(covert channel)。

Anthropic 尚未对这一指控做出公开回应。