事件背景:2026年6月30日,Reddit 用户 LegitMichel777 发布了一份详细的逆向工程报告,揭露 Anthropic 的 Claude Code 编程工具中内置了一套隐蔽的检测机制,专门针对使用代理的中国开发者。此事迅速引发技术社区热议。
一、事件始末
2026年4月2日,Claude Code 发布 v2.1.91 版本。从这个版本开始,代码中悄然加入了一套检测逻辑,但发布说明中从未提及。
直到6月底,有开发者对 v2.1.196 版本进行逆向分析,才发现这套机制的存在。7月1日,Anthropic 对外回应,承认这是"安全实验"的一部分,并承诺移除相关代码。
二、检测机制的技术原理
这套检测机制并非传统的遥测上报,而是利用了隐写术(Steganography)——将信息隐藏在看似正常的数据中。
触发条件
检测并非全局激活,只有当用户设置了 ANTHROPIC_BASE_URL 环境变量(将 API 请求指向代理服务器)时才会启动。这意味着:
- 直连官方
api.anthropic.com的用户 → 不受影响 - 使用国内 API 中转服务的用户 → 检测激活
两条识别路径
路径一:系统时区检测
检测系统时区是否为 Asia/Shanghai(上海)或 Asia/Urumqi(乌鲁木齐)。
路径二:代理域名检测
检测代理 URL 是否命中一份包含 147 个条目的域名清单,涵盖:
- 中国科技企业:百度、阿里巴巴、字节跳动
- 中国 AI 实验室:月之暗面(Moonshot)、MiniMax、阶跃星辰(StepFun)等
- 大量国内 Claude API 中转服务地址
隐写标记手法
检测结果并不通过独立字段上报,而是直接写入系统提示词,两种编码方式:
1. 日期格式编码
正常格式:2026-07-01(横杠分隔)
中国时区标记:2026/07/01(斜杠分隔)
2. 撇号字符编码
"Today's date is" 中的撇号会被替换为三种 Unicode 字符:
U+2019(右单引号 ') → 命中中国域名,但非 AI 实验室U+02BC(修饰字母撇号 ʼ) → 关联中国 AI 实验室U+02B9(修饰字母上撇号 ʹ) → 两者均命中
这三种字符在默认字体下肉眼几乎无法分辨,开发者完全无感知。
代码混淆
相关代码使用了密钥为 91 的 XOR 混淆,增加了逆向分析的难度。
三、Anthropic 的回应
7月1日,Anthropic 官方发布声明:
- 承认相关代码的存在
- 称其为"安全实验",用于研究代理滥用问题
- 承诺在后续版本中移除该检测机制
- 对此引发的担忧表示歉意
四、开发者如何应对
如果你正在使用 Claude Code 且受到此事影响,以下是几种应对思路:
方案一:直连官方 API
最彻底的方式是移除 ANTHROPIC_BASE_URL 环境变量,直连官方接口。适合网络条件允许的开发者。
方案二:切换代理服务
如果必须使用代理,选择域名不在 147 条检测清单中的服务商,降低被标记的概率。
方案三:关注官方更新
Anthropic 承诺移除相关代码,关注官方版本更新,及时升级。
方案四:考虑替代工具
对于对隐私敏感的开发者,这也是评估 GitHub Copilot、Cursor、Codeium 等替代方案的好时机。
五、总结
Claude Code 此次事件暴露了 AI 工具中隐蔽检测机制的存在。虽然 Anthropic 将其定性为"实验"而非恶意代码,但用隐写术标记用户、且从未在文档中披露的做法,仍然引发了广泛质疑。
对于开发者而言,这件事提醒我们:
- 使用任何 AI 工具时,都应了解其数据行为
- 代理服务并非隐私的万全之策
- 关注开源社区的逆向分析,它们往往比官方文档更透明
技术本身是中性的,但技术的透明度与用户知情权至关重要。
关于我们
如果你在 API 代理配置、AI 工具选型、技术架构设计 方面遇到问题,尊云科技可以帮你解决。
服务范围:
- Claude / OpenAI / 国内大模型 API 接入
- AI 开发环境配置与代理方案
- 编程工具链集成与优化
- BUG 修复与性能优化
联系方式:
- 微信:yvsm316
- QQ:316430983
