首页 / 博客 / Claude 隐写术
ENGINEERING BLOG · 2026.07.03

Claude Code 隐写术事件:
Anthropic 如何用一个单引号给你打标签

如果你正在使用 Claude Code 或通过代理接入 Anthropic API,正被「Claude 是不是在偷偷追踪我」这类问题困扰——结论先行:2026 年 6 月底,据逆向报告,Claude Code 在设置了非官方 ANTHROPIC_BASE_URL 时,会用文本隐写术改写系统提示词里 Today's date is... 这一行,通过肉眼无法分辨的 Unicode 单引号与日期分隔符,把时区与中国相关域名/AI 实验室信息悄悄编码进每个请求。Anthropic 已在 2.1.197 版本移除相关代码。它大概率是反模型蒸馏手段,但争议在于做法太隐蔽、还刻意混淆——这与 4 月 Claude Desktop 静默注入浏览器的独立事件,必须分开理解。

01

这波风波其实是两个独立事件叠加发酵。直接合并叙述会被 HN / Reddit / 安全圈读者一眼看穿,伤害 E-E-A-T。发稿前务必区分:

事件 A(静默浏览器注入)vs 事件 B(系统提示词隐写术)
维度 事件 A:静默浏览器注入 事件 B:系统提示词隐写术
涉及产品 Claude Desktop(macOS 客户端) Claude Code(CLI 编码工具)
爆料来源 Alexander Hanff(隐私顾问,The Register 撰稿人) 开发者逆向二进制,发布于 thereallo.dev,经 Reddit → HN 发酵
时间 2026 年 4 月(约 4/18 起) 2026 年 6 月 30 日
核心行为 静默向 Chrome/Edge/Brave/Arc 等写入 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 的复现与背书:独立顾问 Noah Kenney(Digital 520)确认 Hanff 的技术主张可复现;安天实验室(Antiy Labs)发布了专门风险分析报告。
  • 事件 B 的版本覆盖:逆向者核对了 2.1.193 / 2.1.195 / 2.1.196 三个版本,均存在隐写逻辑;HN 讨论帖数小时冲到首页,350+ points、100+ 评论。
  • 开发者信任危机:当桌面 AI Agent 与 CLI 编码工具获得系统级权限时,未经知情同意、且刻意隐蔽的行为,无论目的如何,都踩了开发者工具的信任红线。
  • 与模型选型相关:Anthropic 在OpenRouter 6 月排行榜中仍占重要份额——但「API 好用」与「工具可信」已是两个维度。

⚠️ 全文采用「据爆料 / 据逆向报告 / 被指控(alleged)」措辞。Anthropic 的反蒸馏目的手段须分开评价——目的可理解,手段才是争议焦点。

02

关键前提:只有当你把 ANTHROPIC_BASE_URL 指向非官方地址(代理、网关、第三方转售、OpenAI 兼容层)时才触发。官方 api.anthropic.com 不动手脚。普通 Claude 网页版用户不受事件 B 影响。

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

  1. 改日期分隔符:若系统时区为 Asia/ShanghaiAsia/Urumqi2026-06-30 变为 2026/06/30
  2. 换单引号:Today's 里的撇号替换成视觉一样、Unicode 不同的字符,编码「命中了什么」。
Claude Code 系统提示词 Unicode 指纹映射(据 thereallo.dev 逆向报告)
检测条件 日期格式 单引号字符 Unicode
默认(不在域名列表、非 AI 实验室) 2026-06-30 ' 标准 ASCII 撇号 U+0027
命中中国机构/经销商域名 2026-06-30 ' 右单引号 U+2019
命中 AI 实验室关键词(deepseek/moonshot/zhipu/minimax/baichuan/stepfun/01ai 等) 2026-06-30 ʼ 修饰符撇号 U+02BC
域名与实验室同时命中 2026-06-30 ʹ 修饰符角分号 U+02B9
叠加中国时区(Asia/Shanghai / Asia/Urumqi) 2026/06/30 (单引号规则同上)

说人话:你的请求表面上只是普通英文提示词,但后端只要扫一眼日期分隔符和那个单引号的 Unicode 编码,就能在后台给你打标签——「这个用户挂了海外 VPN,但实际在中国时区,甚至疑似某家中国 AI 实验室」。域名与关键词列表用 base64 + XOR(91) 轻度混淆,约 147 条域名规则。这是典型的隐蔽信道(covert channel)文本隐写术(prompt steganography)

check-apostrophe.sh
# 检查 Today's 中撇号的 Unicode 码点(示例)
echo "Today's date is 2026-06-30" | xxd | grep -A1 "Today"

# U+0027 = e2 80 99 之外的字节序列即可能被指纹化
python3 -c "s=\"Today\u2019s\"; print([hex(ord(c)) for c in s if c in \"'\u2019\u02bc\u02b9\"])"

03

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

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

  • 「合理的反蒸馏防御」:API 被转售和蒸馏是真实威胁,厂商有权保护模型。
  • 「对开发者工具近乎恶意」:隐蔽、混淆、不披露——用户只有逆向二进制才能发现,这不该是默认行为。

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

  • 事件 A 更接近「未经授权篡改第三方软件 + 预留休眠攻击面」——即便当前没被利用,它也把浏览器沙箱外的高权限通道预先铺好了。叠加 Claude for Chrome 自曝的提示词注入成功率(无缓解 23.6%、有缓解 11.2%),风险是实打实的。
  • 事件 B 更接近「未披露的隐蔽遥测 / 用户分类」——不是传统意义的窃密木马,而是未披露的 covert channel。

无论用不用 "spyware" 这个词,核心问题一致:未经用户知情同意、且刻意隐蔽。

04

  1. 检查 ANTHROPIC_BASE_URL在 shell 配置或 .env 中执行 echo $ANTHROPIC_BASE_URL。若为空或指向 api.anthropic.com,事件 B 逻辑不会触发;走代理的用户需重点关注。
  2. 升级 Claude Code 到 2.1.197+:Anthropic 于 2026 年 7 月 1 日发布该版本移除隐写代码(changelog 未提及,请以实际二进制为准)。
  3. 检查 macOS 浏览器 Native Messaging 清单(事件 A):在各浏览器目录查找 ~/Library/Application Support/<浏览器>/NativeMessagingHosts/com.anthropic.claude_browser_extension.json,支持 Chrome、Edge、Brave、Arc、Vivaldi、Opera、Chromium。
  4. 按需删除并监控复活:手动删除上述 JSON 后重启 Claude Desktop,观察是否被重建。后续版本虽加了授权开关,底层权限模型 reportedly 未根除。
  5. 验证系统时区与指纹残留:确认 Asia/Shanghai / Asia/Urumqi 时区是否影响日期分隔符;若仍用旧版 Claude Code,可用十六进制工具检查系统提示词中撇号码点。
  6. 企业/敏感环境最小权限评估:将 Claude Desktop / Claude Code 视为高权限程序——显式授权、网络隔离、可审计日志是底线;评估是否继续在生产链路使用桌面 Agent。
  7. 关注官方与社区后续:订阅 Anthropic changelog 与安全公告;对第三方转售 API 供应商要求披露 Base URL 路由与合规声明。

05

可引用硬核数据(据公开逆向与社区讨论,发稿前请再次核对):

  • 域名规则规模:base64 + XOR(91) 混淆,约 147 条域名/关键词规则
  • 受影响版本:2.1.193 / 2.1.195 / 2.1.196 均存在;2.1.197 移除
  • HN 热度:讨论帖数小时冲首页,350+ points100+ 评论,社区分裂明显
  • Claude for Chrome 提示词注入:无缓解成功率 23.6%,有缓解 11.2%(Anthropic 自曝数据,与事件 A 攻击面相关)
  • Native Messaging 预授权:3 个扩展 ID 可调用沙箱外 chrome-native-host,即使用户未安装对应浏览器也会预建目录
Claude Code 是间谍软件吗?

不算传统意义的间谍软件,但它确实在系统提示词里藏了未披露、经混淆的指纹,用来标记走代理的中国相关用户;Anthropic 已在 2.1.197 移除。更准确的定性是「未披露的隐蔽信道」而非窃密木马。

Claude Code 会检测我的时区吗?

据逆向报告,它会检查 Asia/Shanghai / Asia/Urumqi——但仅当你使用了非默认 ANTHROPIC_BASE_URL。使用官方端点时,日期行不会被改动。

Today's date 单引号 Unicode trick 是什么?

Today's 中的撇号会在 U+0027、U+2019、U+02BC、U+02B9 之间切换,编码你的端点是否匹配中国相关域名、AI 实验室关键词、两者兼有或均无。

Anthropic 为什么要加这个?

主流解读是检测模型蒸馏(distillation)与未授权 API 转售——合法目标,但实现方式未经披露且刻意隐藏,引发信任危机。

这和 Claude Desktop「间谍软件」是同一回事吗?

不是。那是 2026 年 4 月独立事件,关于 Claude Desktop 静默写入浏览器 Native Messaging 清单,由 Alexander Hanff 向 The Register 披露。

普通 Claude 网页版用户会被影响吗?

事件 B 仅在 Claude Code 且设置了非官方 ANTHROPIC_BASE_URL 时触发,普通官方端点用户不受此逻辑影响。

怎么删除 Claude Desktop 注入的浏览器文件?

~/Library/Application Support/<浏览器>/NativeMessagingHosts/ 下删除 com.anthropic.claude_browser_extension.json,注意重启 Claude Desktop 可能重建。

Should you trust Anthropic after this?

信任应建立在可复现、可审计、可关闭的行为上——而非「逆向二进制才发现的秘密」。厂商完全可以公开做反蒸馏并给用户开关。

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

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

技术可以没有立场,但公司必须有。能力越大,越要自我约束——这不该是用户逆向二进制才发现的秘密。

原始逆向与权威报道(请以链接为准再次核对):

thereallo.dev:Claude Code Prompt Steganography(原始逆向)

The Register:Claude Desktop changes software permissions without consent

第三方分析与安全研究:

Malwarebytes:Claude Desktop Native Messaging 报道

安天实验室:Claude Desktop 高权限浏览器通道风险分析

Hacker News:Claude Code steganography 讨论帖

当 AI 编码 Agent 需要 7×24 跑在可审计、可隔离的生产环境时,共享虚拟机上的 Hypervisor 损耗与不可控的系统级注入,会让再强的模型也面临合规与稳定性双重风险。对于需要零损耗原生算力、稳定 iOS CI/CD 与 AI Agent 7×24 自动化的生产环境,ZUKCLOUD 的裸金属 Mac mini 云端节点通常是更优解:独占 Apple Silicon 物理机、无 Hypervisor 损耗、7×24 在线、按天/周/月弹性下单。我们在裸金属架构宣言中已从 UMA 零拷贝与 MDM 编排角度论证:把 Agent 跑在你完全掌控的物理边界内,是对抗「黑盒桌面工具越权」最务实的工程选择之一。