文章摘要
我检查了Claude Code 2.1.196的二进制文件,发现它会在系统提示中通过改变日期格式(如将连字符改为斜杠)来隐藏标记。当检测到特定时区(如亚洲/上海)或API域名包含特定关键词时,会触发这种隐写术,用于暗中标记请求来源。
文章总结
好的,这是根据您的要求,对原文进行中文重述和精简后的版本:
文章主旨: 作者出于隐私考虑,审查了AI编程工具Claude Code的代码,发现其二进制文件中隐藏了一项“提示词隐写术”功能,用于标记和分类用户的API请求来源。
核心发现:
隐写机制:Claude Code会在系统提示词中,通过两种极其细微的视觉变化来嵌入标记:
- 将日期字符串中的连字符(
-)改为斜杠(/)。 - 将单词“Today's”中的撇号(
')替换为其他几种几乎无法区分的Unicode字符(如\u2019、\u02BC、\u02B9)。
- 将日期字符串中的连字符(
触发条件:该功能仅在用户设置了环境变量
ANTHROPIC_BASE_URL(即使用了非官方的API端点)时才会激活。随后,它会检查两个条件:- 时区:系统时区是否为
Asia/Shanghai或Asia/Urumqi。 - 域名:自定义API的域名是否匹配一个经过编码(Base64 + XOR加密)的列表。该列表包含中国公司域名、AI公司域名以及大量代理/转售商/网关域名。
- 时区:系统时区是否为
目的推测:作者认为,Anthropic(Claude的开发商)此举很可能是为了检测和识别API转售商、未经授权的网关以及模型“蒸馏攻击”等滥用行为。通过将分类信息编码进看似正常的提示词中,Anthropic的后端可以解析这些标记。
作者评价:
- 行为不当:作者认为,作为一个需要用户高度信任的开发者工具,这种在系统提示词中隐藏标记的做法非常不妥。它破坏了信任,让其他关于隐私的承诺变得可疑。
- 效果有限:这种隐藏手段很容易被绕过(如修改主机名、时区或直接修改二进制文件),因此主要惩罚的是那些进行合法但非标准操作的普通开发者,而非真正的恶意攻击者。
- 期望透明:作者强调,如果Anthropic想检测自定义API网关,完全可以通过更透明的方式实现,例如发送明确的遥测字段、在文档中说明或在发布日志中公布。隐藏行为只会引发不必要的猜疑。
结论: 作者认为,一个拥有文件系统和Shell访问权限的工具,却在提示词的标点符号中隐藏分类信息,这种行为值得用户警惕。信任应建立在公开、透明的行为之上。
评论总结
根据评论内容,主要观点和论据总结如下:
观点一:技术手段的合理性与争议性 - 支持方认为,这是对抗模型蒸馏和爬取的必要防御措施(评论13:“It is fine to try to protect against distillation through a technique like this”)。 - 反对方指出,该方法简单易破解,且可能误伤正常开发者(评论1:“defeating them is pretty trivial”;评论2引用:“punishes the exact people who are easier to fingerprint: normal developers doing weird but legitimate things”)。
观点二:对Anthropic的信任与质疑 - 批评者认为Claude Code行为类似恶意软件,损害用户信任(评论10:“Claude code does feel very malwarey”;评论11:“I used that month to... never have to deal with Anthropic again”)。 - 支持者认为,此类检测在数据收集层面可接受,但若直接作用于API(如限速、降级模型)则可能引发法律问题(评论8:“if they directly act on this data... might even be legally questionable”)。
观点三:针对中国检测的猜测 - 部分评论指出,该技术可能专门用于检测中国实验室的模型蒸馏行为(评论17:“It is about China detection”;评论20:“trying to catch/mitigate chinese lab model distillations”)。
观点四:替代方案与开源对比 - 有评论推荐开源替代品Codex CLI,认为其更透明、不易隐藏恶意行为(评论16:“Codex CLI is FOSS... less likely to do things like that”)。
观点五:技术实现细节的批评 - 评论指出,简单的URL混淆方法易被绕过,建议使用哈希或布隆过滤器等更隐蔽方式(评论4:“Could at least have hidden the targeted features by storing their hashes or embedding a bloom filter”)。
总结:评论呈现两极分化——部分人认为这是对抗蒸馏的合理防御,另一部分人则批评其技术粗糙、损害用户信任,并担忧其可能被用于针对特定地区或误伤正常开发者。