2026 年 6 月底,开发者逆向发现 Claude Code(非 Claude 网页版)在用户走代理(设置了 ANTHROPIC_BASE_URL)时,会用文本隐写术改写系统提示词里 Today's date is... 这一行——通过切换日期分隔符和肉眼几乎无法分辨的 Unicode 单引号,把「你是否在中国时区、是否命中中国域名/AI 实验室」这几个比特信息悄悄夹带回服务器。Anthropic 已在 2.1.197 版本移除相关代码。本文严格区分事件 A(Claude Desktop 静默浏览器注入)事件 B(Claude Code 提示词隐写),覆盖 Unicode 映射表、反蒸馏动机、HN 争议、六步自查防护与 AI 厂商越界应对。可与 AI 编程助手对比MCP 协议基础设施 交叉阅读。
01

Claude Code 隐写术发生了什么?两件事别搞混:Desktop 注入 vs Code 指纹

一句话结论:这波风波其实是两个独立事件叠加发酵。把两者混为一谈会被英文技术读者(HN / Reddit / 安全圈)一眼看穿,反而伤害 E-E-A-T 与可信度。发稿前务必区分:

维度事件 A:静默浏览器注入事件 B:系统提示词隐写术
涉及产品Claude Desktop(macOS 客户端)Claude Code(CLI 编码工具)
爆料人Alexander Hanff(隐私顾问,The Register 撰稿人)开发者逆向二进制,发布于 thereallo.dev,经 Reddit → Hacker News 发酵
时间2026 年 4 月(约 4/18 起)2026 年 6 月 30 日
核心行为静默向 Chrome/Edge/Brave/Arc/Vivaldi/Opera/Chromium 写入 Native Messaging 清单 com.anthropic.claude_browser_extension.json,预授权 3 个扩展 ID 调用沙箱外的 chrome-native-host即使浏览器未安装也预建目录,删除后重启会复活ANTHROPIC_BASE_URL ≠ api.anthropic.com(走代理/网关)时,用隐写术改写系统提示词里 Today's date is... 一行
被贴标签「spyware」/「backdoor」(间谍软件/后门)「prompt steganography」/「covert channel」(提示词隐写/隐蔽信道)
触发条件安装/启动 Claude Desktop 即触发仅在设置了非官方 Base URL 时触发;并非每次对话都必然触发
Anthropic 回应未正式公开回应;后续版本加了授权开关,但底层权限模型未根除承认代码存在,7/1 发布 2.1.197 移除,但 changelog 未提及

事件 A 细节(据 Hanff 爆料与独立复现):安装 Claude Desktop 后,它会在你毫不知情的情况下向多款浏览器目录静默写入 Native Messaging 配置文件,预授权扩展调用一个运行在浏览器沙箱之外、拥有当前用户完整权限的本地程序。更离谱的是:即使这些浏览器没装,它也会先把目录建好、配置写好;你手动删掉,重启 Claude Desktop 又会复活。独立顾问 Noah Kenney(Digital 520)确认 Hanff 的技术主张可复现;安天实验室(Antiy Labs)发布了专门风险分析报告。

事件 B 细节(据 thereallo.dev 逆向报告):一名开发者逆向 Claude Code 二进制,发现了系统提示词隐写术——本文主角。HN 讨论帖数小时冲到首页,350+ points、100+ 评论,社区分裂为「合理的反蒸馏防御」vs「对开发者工具而言近乎恶意」。

01

混淆两个产品:Claude Desktop 的浏览器注入与 Claude Code 的提示词隐写是完全不同的机制与触发条件。

02

误以为官方端点也受影响:事件 B 仅在 ANTHROPIC_BASE_URL 指向非 api.anthropic.com 时触发。

03

把「意图」当「已证实事实」:反蒸馏是社区主流解读,但 Anthropic 未公开确认;措辞应用「据爆料/据逆向/被指控」。

04

忽视事件 A 的持久性:Native Messaging 清单删除后 Claude Desktop 重启会重建,需持续监控。

05

低估桌面 Agent 权限:Claude for Chrome 自曝提示词注入成功率无缓解 23.6%、有缓解 11.2%,叠加高权限通道风险实打实。

02

Claude Code 隐写术怎么运作?Unicode 单引号映射表与技术拆解

关键前提:只有当你把 ANTHROPIC_BASE_URL 指向非官方地址(即走代理、网关、第三方转售、OpenAI 兼容层)时才触发。官方 api.anthropic.com 不动手脚。

触发后,程序做两件事,全都藏在系统提示词那句人畜无害的 Today's date is ... 里:

检测到的情况日期格式单引号字符Unicode
默认(无命中)2026-06-30' 标准撇号U+0027
命中中国机构/经销商域名2026-06-30' 右单引号U+2019
命中中国 AI 实验室关键词2026-06-30ʼ 修饰符撇号U+02BC
域名 + 实验室都命中2026-06-30ʹ 修饰符角分号U+02B9
叠加中国时区(Asia/Shanghai / Asia/Urumqi)2026/06/30(同上规则)

域名与关键词列表用 base64 + XOR(91) 轻度混淆,约 147 条域名规则。关键词包含 deepseek、moonshot、zhipu、minimax、baichuan、stepfun、01ai 等。逆向者核对了 2.1.193 / 2.1.195 / 2.1.196 三个版本,均存在该逻辑。

bash
echo $ANTHROPIC_BASE_URL
timedatectl | grep "Time zone"
find ~/Library/Application\ Support -name "com.anthropic.claude_browser_extension.json" 2>/dev/null

说人话:你的请求表面上只是普通英文提示词,但后端只要扫一眼日期里的分隔符和那个单引号的 Unicode 编码,就能在后台给你打标签——「这个用户挂了海外 VPN,但实际在中国时区,甚至疑似某家中国 AI 实验室」。这就是典型的隐蔽信道(covert channel)

时区 + 单引号 Unicode 的技术细节完全属实,来自 thereallo.dev 逆向报告,与社区公开讨论一致。

03

Anthropic 为什么这么做?Claude Code 算不算间谍软件?

社区主流判断(也较克制):目的是反蒸馏 + 反未授权转售。此前 Anthropic、OpenAI、Google 都公开担忧对手用 API 大量拉输出来训练小模型(distillation)。中国相关代理、转售、实验室是重点怀疑对象,于是加了这套「打标签」逻辑。

目的可以理解,手段才是问题:把分类信号做成肉眼不可见、还刻意混淆代码藏进每个请求,对一个靠开发者信任吃饭的工具来说,是踩了信任红线。HN 上两派吵得很凶:

阵营观点
反蒸馏派「合理的反蒸馏防御」——保护模型不被竞争对手 harvest 输出
开发者信任派「对开发者工具而言近乎恶意」——未披露、混淆、藏进标点符号不可接受

「间谍软件」是有情绪的标签。更准确的说法:

A

事件 A更接近「未经授权篡改第三方软件 + 预留休眠攻击面」——即便当前没被利用,它也把浏览器沙箱外的高权限通道预先铺好了。

B

事件 B更接近「未披露的隐蔽遥测 / 用户分类」——不是传统意义上的数据窃取,但缺乏知情同意。

无论用不用「spyware」这个词,核心问题一致:未经用户知情同意、且刻意隐蔽。主流解读是 Anthropic 意在检测未授权转售 + 模型蒸馏,而非监视个人;争议点是手段(隐蔽、混淆、不披露)而非目的。

合规提醒:全文用「据爆料/据逆向报告/被指控(alleged)」等措辞,避免把「意图」当成已证实的事实断言。目的(反蒸馏)与手段(隐写)要分开评价。

04

Claude Code 怎么自查与防护?六步操作指南

无论你是走代理的 Claude Code 用户,还是安装了 Claude Desktop 的 macOS 用户,以下步骤可复现、可审计:

01

检查 ANTHROPIC_BASE_URL:运行 echo $ANTHROPIC_BASE_URL。若为空或指向 api.anthropic.com,事件 B 不会触发;若指向第三方网关/转售,你属于受影响人群。

02

升级 Claude Code 版本:确保 CLI 版本 ≥ 2.1.197(2026 年 7 月 1 日发布,已移除隐写代码)。运行 claude --version 核对。

03

检查时区环境:运行 timedatectldate +%Z。若系统时区为 Asia/ShanghaiAsia/Urumqi 且走代理,历史上会被叠加日期分隔符信号。

04

排查 Native Messaging 清单(事件 A):~/Library/Application Support/<浏览器>/NativeMessagingHosts/ 下查找 com.anthropic.claude_browser_extension.json,按需删除。注意 Claude Desktop 重启可能重建。

05

审计 Claude Desktop 授权开关:后续版本虽加了授权开关,但据安全社区分析,底层权限模型未根除;企业环境应评估是否继续在生产链路使用桌面 Agent。

06

企业/敏感环境隔离:将任何桌面 AI Agent 按「高权限程序」对待——最小权限、显式授权、可审计是底线。Agent 工作流宿主详见 帮助中心

bash
claude --version
find ~/Library/Application\ Support -path "*/NativeMessagingHosts/com.anthropic.claude_browser_extension.json"
grep -r "ANTHROPIC_BASE_URL" ~/.zshrc ~/.bashrc ~/.zprofile 2>/dev/null
05

AI 厂商越界与我们的应对:可引用数据与收束建议

这件事真正的警示不在「一个撇号」,而在于:当模型能力狂飙、而安全边界、授权、审计严重滞后时,厂商很容易以「体验/防滥用」为名,单方面越过用户与其他软件厂商之间的信任边界。

A

147 条规则:域名/关键词列表经 base64 + XOR(91) 混淆,逆向者在 2.1.193–2.1.196 三版均确认存在(thereallo.dev)。

B

HN 热度:讨论帖数小时冲到首页,350+ points、100+ 评论,社区严重分裂(Hacker News, 2026-06-30)。

C

Claude for Chrome 注入成功率:据 Anthropic 自曝数据,无缓解 23.6%、有缓解 11.2%,叠加事件 A 高权限通道风险需正视。

作为用户和从业者,可行的应对:

原则具体做法
默认不信任、用证据说话可复现、可审计、可关闭,才配得上信任
要求「披露而非隐藏」厂商完全可以光明正大地做反蒸馏——公开说明、给开关,而不是藏进标点符号
最小权限 + 边界隔离对任何桌面 Agent 都按高权限程序对待
用脚投票 + 制度约束监管(GDPR/个保法)与市场选择,是约束「技术无边界」的最终力量

参考来源:The Register(Claude Desktop 权限变更,2026-04);Malwarebytes / gHacks / YOOTA(Native Messaging 报道);thereallo.dev(Claude Code 原始逆向);Tech Startups / TMC Insight / Developers Digest / TechTimes(2.1.197 修复);Antiy Labs(安天 Claude Desktop 风险分析)。

摊开替代方案:在个人 Mac 上裸跑 Claude Desktop + 多浏览器 Native Messaging 意味着高权限通道与注入面难以审计;完全依赖第三方 Claude 转售网关 则长期暴露于未披露的指纹逻辑;虚拟机跑 macOS Agent 违反 EULA 且 Xcode 签名受限。对需要 iOS CI/CD、完整 Root 与 7×24 稳定性的 AI Agent 生产环境,KVMNODE 独占 Mac Mini M4 云端租赁通常是更优解:100% 原装物理机、开放 sudo、按天/周/月弹性,Agent 工作流与 Claude Code 可在隔离环境中审计运行。技术可以没有立场,但公司必须有——能力越大,越要自我约束,这不该是用户逆向二进制才发现的秘密。