首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Claude Code “木马门”,三个月来你的 Claude Code 一直在悄悄标记你

Claude Code “木马门”,三个月来你的 Claude Code 一直在悄悄标记你

作者头像
做棵大树
发布2026-07-02 18:20:03
发布2026-07-02 18:20:03
560
举报
文章被收录于专栏:代码日志代码日志

“我是大树,一个差点开始放弃折腾的AGI学习与实践者。 最近在探索和从事的事儿:

  • 企业AI自动化转型咨询
  • 重新拾起自媒体平台,继续倒逼自己动脑和记录日常的所思所感,不止技术 ”

这两天 AI 圈最大的瓜,莫过于 Claude Code 的"木马门"了。

如果你还没听说,事情大概是这样的:有个 Reddit 用户在逆向分析 Claude Code 的时候,发现它从今年 4 月 2 号的版本开始,就悄悄内置了一套检测机制,用来判断你是不是"中国用户"。检测结果通过隐写术编进系统提示词里,每次请求都发回 Anthropic 服务器。

昨天,Claude Code 团队负责人 Thariq Shihipar 公开承认了这件事,说这是个"实验",今天(7月2日)的新版本会完全删除这段代码。

但说实话——整件事最让我不舒服的,不是"检测了中国用户"这个行为本身,而是它整个手法的套路。

我来拆开给你看看。


它到底是怎么干的?

我仔细看了各方的技术分析,梳理了一下这段代码的完整逻辑。简单来说,是三层检测 + 一层隐写传输

Claude Code 三层检测与隐写传输机制
Claude Code 三层检测与隐写传输机制

第一层:看你的时区

代码会读取你系统的时区设置(通过 Intl.DateTimeFormat().resolvedOptions().timeZone),如果发现是 Asia/ShanghaiAsia/Urumqi,就标记为"疑似中国用户"。

不需要 IP 地址,不需要 GPS——你的电脑时区早就告诉了它答案。

第二层:看你调了哪个代理

代码检查环境变量 ANTHROPIC_BASE_URL,把它和一份硬编码的 147 条域名清单 做比对。这个清单里包括:

类型

数量

举例

中国科技/AI 实验室

23+

baidu.com、alibaba-inc.com、bytedance.net、moonshot.ai、minimaxi.com、stepfun-inc.com、zhipu.com……

第三方 API 中转/代理

124

各种 Claude API 中转服务域名

关键词匹配(11条)

deepseek、moonshot、minimax、zhipu、bigmodel、baichuan、dashscope、volces……

而且这份清单不是明文存储的——用的是 Base64 + XOR 密钥 91 双重加密。解码之后才得到上面的域名和关键词。

“这还不算完,更"精彩"的在第三层。”

第三层:通过隐写术把结果"藏"在提示词里

这是整个事件里最让我震惊的部分。

检测结果不是单独发一个请求回 Anthropic 服务器——那样太明显了。它的做法是:修改系统提示词中的日期行,通过肉眼无法分辨的格式差异来传递信息。

原始的系统提示词里有一行:

Today's date is 2026-07-01

检测结果不同,这一行的格式就发生微妙变化:

  • 时区命中 → 日期分隔符从 - 变成 /2026/07/01
  • 域名命中(known)Today's 的撇号从 U+0027 换成 U+2019(''
  • 关键词命中(labKw) → 换成 U+02BC(ʼ
  • 两者都命中 → 换成 U+02B9(ʹ

一共 8 种组合(4 种撇号 × 2 种日期格式)。这些变化,你就算把 system prompt 打出来对着看也发现不了。但 Anthropic 的服务器端只要一解析就全知道了。

而且这段代码的函数名被压缩成 Crt()Rrt(e)e0t()Zup() 这种样子。发布说明里一个字都没提。

“打个比方:你请了一个人来你家打扫卫生。他不是直接偷东西,而是在每天帮你整理书架的时候,根据你家窗帘的颜色,在书的摆放顺序上做一个只有他自己看得懂的标记。你完全不会注意到,但他每次回来都知道发生了什么。”


Anthropic 为什么要这么做?

说完了"是什么",来聊聊"为什么"。

Anthropic 的理由是:防止未经授权的账户转售和模型蒸馏。

这个背景是真实的。Anthropic 之前就公开指控过,DeepSeek、月之暗面、MiniMax 等中国 AI 实验室通过 约 2.4 万个虚假账户 进行大规模蒸馏;阿里巴巴相关操作者更是进行了 约 2880 万次交互

从 Anthropic 的角度看,它们确实有强烈的动机去阻断这些行为。被蒸馏意味着模型的核心竞争力可能被"偷走",账户转售则直接影响收入。

但问题来了——动机合理,不代表手段合理。

争议在哪?我的看法

我看了很多社区的讨论,发现分歧挺大的:

批评方的观点

理解/辩护方的观点

这不就是间谍软件吗?用户完全不知情

蒸馏和转售的损失是真实存在的,Anthropic 有权利保护自己的资产

代码混淆 + 隐写 + 不告知,远超正常风控边界

如果把检测方法公开,攻击者自然就绕过了,那这个机制还有什么意义?

Claude Code 有 Shell 和文件系统权限,这种信任关系被滥用了

很多软件都在做类似的遥测(IDE、浏览器),只是没被曝光而已

我自己的看法是:这件事的分水岭在于知情权。

你可以在后台做风险控制——这我没意见。但至少应该在发布说明里写一句:"本版本包含针对滥用行为的环境检测机制,检测结果会在请求中匿名回传。"

用户看到这个说明,选择继续用,那就是知情同意。

但 Anthropic 的做法是:隐藏、混淆、隐写、不告知——直到被逆向工程发现了才承认。

这不是"防滥用",这是在打信息不对称的牌。

“信任不是你关起门来说"我不作恶"就行。信任是你做的事,是对方知道且同意的。”


所以,这跟你有啥关系?

如果你是 Claude Code 的用户,我建议你做几件事:

1. 确认版本。 如果你用的是 v2.1.91 ~ v2.1.196 之间的版本,你的环境被悄悄"检查"过。今天的新版本已经删除了这段代码,建议更新。

2. 别过度恐慌。 这段代码检测的是你的时区和代理设置,不会读取你的代码文件或项目内容。它只在系统提示词层面做手脚。你的业务代码和数据是安全的。

3. 重新想想信任边界。 这件事真正值得思考的不是"Anthropic 坏不坏",而是——当一个 AI 编程工具有 Shell 权限、有文件读写权限、有网络访问权限时,你信任它的边界在哪里?

AI 编程工具的信任边界
AI 编程工具的信任边界

这才是更大的问题

说实话,Claude Code 不是唯一一个能在你电脑上"为所欲为"的 AI 编程工具。

Cursor、GitHub Copilot、Codex、Windsurf……它们都有权限读你的文件、跑你的代码、访问你的网络。你只是"相信"它们不会做不该做的事。

而且说实话,没有完美的信任模型。

  • 开源项目你可以审计代码,但运行时代码可以从远程更新,你审计了什么?
  • 闭源你完全依赖厂商的承诺——这次事件不就是承诺被打破的例子吗?
  • 即使自托管,软件供应链安全本身又是另一层问题。

我写这篇文章不是为了号召大家抵制 Claude Code。说实话,我自己还会继续用——因为它在写代码这件事上的确强。

但经历过这件事之后,我对它的态度多了一层审视:我知道它在做什么,我用它是因为它在我的评估框架里依然利大于弊,而不是因为"我相信它不会作恶"。

这两者是有区别的。

你选择继续用,还是换方案?评论区告诉我你的想法。


如果这篇文章对你有一点启发:

  • 💬 欢迎在 评论 区聊聊你的看法
  • 👍 点个赞/爱心,让我知道这类内容有人看
  • 🔁 收藏/转发,如果觉得内容还可以

你的每次互动,都是我继续写实战内容的动力。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-07-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 做棵大树 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 它到底是怎么干的?
    • 第一层:看你的时区
    • 第二层:看你调了哪个代理
    • 第三层:通过隐写术把结果"藏"在提示词里
  • Anthropic 为什么要这么做?
  • 争议在哪?我的看法
  • 所以,这跟你有啥关系?
  • 这才是更大的问题
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档