ANTHROPIC_BASE_URL ≠ 官方地址)时,会用文本隐写术改写系统提示词里 Today's date is... 一行——切换肉眼几乎无法分辨的 Unicode 单引号与日期分隔符,把时区与中国域名/AI 实验室命中信息悄悄夹带回服务器。Anthropic 已在 2.1.197 移除相关代码。本文面向 Claude 开发者与合规负责人,给出:① 事件 A(Desktop 浏览器注入)与事件 B(Code 隐写)完整区分;② Unicode 映射表与技术原理;③ 反蒸馏动机与 HN 两派争议;④ 六步自查防护 Runbook;⑤ 硬数据清单与 AI 厂商信任边界观点。
Claude Code 隐写术事件:发生了什么?两件事别搞混
TL;DR:这波风波是两个独立事件叠加发酵——直接合并写会有事实错误。事件 A 是 4 月 Claude Desktop 静默向浏览器写入 Native Messaging 清单;事件 B 是 6 月 30 日 Claude Code 在系统提示词里藏 Unicode 指纹。后者才是本文主角,且仅在设置非官方 Base URL 时触发,并非每次对话都必然触发。
事件 A(2026 年 4 月,Alexander Hanff 爆料):安装 Claude Desktop(macOS)后,据爆料它会向 Chrome、Edge、Brave、Arc、Vivaldi、Opera 等浏览器目录静默写入 com.anthropic.claude_browser_extension.json,预授权 3 个扩展 ID 调用沙箱外的 chrome-native-host;即使浏览器未安装也会预建目录,删除后重启会复活。独立顾问 Noah Kenney(Digital 520)确认 Hanff 的技术主张可复现;安天实验室发布了专门风险分析报告。Anthropic 未正式公开回应,后续版本加了授权开关,但底层权限模型未根除。
事件 B(2026 年 6 月 30 日,thereallo.dev 逆向):开发者逆向 Claude Code 二进制,发现当 ANTHROPIC_BASE_URL ≠ api.anthropic.com 时,系统提示词 Today's date is... 一行被改写——通过切换日期分隔符与 Unicode 单引号编码用户分类信号。逆向者核对了 2.1.193 / 2.1.195 / 2.1.196 三个版本均存在;HN 讨论帖数小时冲到首页,350+ points、100+ 评论。
修复时间线:Anthropic 承认代码存在,2026 年 7 月 1 日发布 Claude Code 2.1.197 移除相关逻辑,但 changelog 未提及此变更。
被贴的标签差异:事件 A 被安全圈称为 "spyware" / "backdoor";事件 B 被称 "prompt steganography" / "covert channel"(提示词隐写 / 隐蔽信道)。
合规措辞提醒:全文用「据爆料 / 据逆向报告 / 被指控(alleged)」表述,目的(反蒸馏)与手段(隐写)须分开评价,避免把意图当成已证实事实。
| 维度 | 事件 A:静默浏览器注入 | 事件 B:系统提示词隐写 |
|---|---|---|
| 涉及产品 | Claude Desktop(macOS 客户端) | Claude Code(CLI 编码工具) |
| 爆料来源 | Alexander Hanff(The Register) | thereallo.dev → Reddit → HN |
| 时间 | 2026 年 4 月(约 4/18 起) | 2026 年 6 月 30 日 |
| 触发条件 | 安装/启动 Claude Desktop 即触发 | 仅 ANTHROPIC_BASE_URL 非官方时 |
| 核心行为 | 写入 Native Messaging 清单,预授权扩展调用沙箱外宿主 | 改写 Today's date 行的 Unicode 与日期格式 |
Claude Code 怎么识别中国代理?Unicode 指纹映射表
关键前提:只有当你把 ANTHROPIC_BASE_URL 指向非官方地址(代理、网关、第三方转售、OpenAI 兼容层)时才触发。官方 api.anthropic.com 不动手脚。触发后,程序把分类信号藏在系统提示词那句人畜无害的 Today's date is ... 里。
| 检测到的情况 | 日期格式 | Today's 单引号 | Unicode |
|---|---|---|---|
| 默认(无命中) | 2026-06-30 | ' 标准 ASCII 撇号 | U+0027 |
| 命中中国机构/经销商域名 | 2026-06-30 | ' 右单引号 | U+2019 |
| 命中 AI 实验室关键词 | 2026-06-30 | ʼ 修饰符撇号 | U+02BC |
| 域名 + 实验室同时命中 | 2026-06-30 | ʹ 修饰符角分号 | U+02B9 |
| 叠加中国时区 | 2026/06/30(/ 分隔) | (同上规则) | — |
中国时区指 Asia/Shanghai 或 Asia/Urumqi。域名与关键词列表用 base64 + XOR(91) 轻度混淆,约 147 条域名规则;关键词包含 deepseek、moonshot、zhipu、minimax、baichuan、stepfun、01ai 等。说人话:你的请求表面上只是普通英文提示词,但后端扫一眼那个单引号的 Unicode 编码,就能在后台给你打标签——「这个用户挂了海外 VPN,但实际在中国时区,甚至疑似某家中国 AI 实验室」。这就是典型的隐蔽信道(covert channel)。
echo $ANTHROPIC_BASE_URL python3 -c "s=\"Today's\"; print([hex(ord(c)) for c in s if c in \"''ʼʹ\"])" grep -r "com.anthropic.claude_browser_extension" ~/Library/Application\ Support/*/NativeMessagingHosts/ 2>/dev/null
提示:肉眼在终端或编辑器里几乎无法区分 U+0027 与 U+2019;须用十六进制或 Python ord() 才能确认是否被指纹标记。
Anthropic 为什么这么做?算不算 Claude 间谍软件?
社区主流判断(也较克制):目的是反模型蒸馏 + 反未授权转售。Anthropic、OpenAI、Google 都公开担忧对手用 API 大量拉输出来训练小模型(distillation)。中国相关代理、转售、实验室是重点怀疑对象,于是加了这套打标签逻辑。目的可以理解,手段才是问题——把分类信号做成肉眼不可见、还刻意混淆代码藏进每个请求,对一个靠开发者信任吃饭的工具来说,踩了信任红线。
HN 社区分裂为两派:「合理的反蒸馏防御」 vs 「对开发者工具而言近乎恶意行为」。
「间谍软件」是有情绪的标签。更准确的说法:事件 A 更接近未经授权篡改第三方软件 + 预留休眠攻击面——即便当前没被利用,也把浏览器沙箱外的高权限通道预先铺好了,叠加 Claude for Chrome 自曝的提示词注入成功率(无缓解 23.6%、有缓解 11.2%),风险是实打实的。事件 B 更接近未披露的隐蔽遥测 / 用户分类。无论用不用 spyware 这个词,核心问题一致:未经用户知情同意、且刻意隐蔽。
Claude Desktop 静默安装怎么删除?六步自查防护 Runbook
检查 Base URL:运行 echo $ANTHROPIC_BASE_URL;若为空或使用官方 api.anthropic.com,事件 B 不会触发;若指向代理/网关,你属于被分类的目标人群。
升级 Claude Code:确保版本 ≥ 2.1.197(2026-07-01 发布,移除隐写逻辑)。运行 claude --version 核对。
Unicode 指纹自检:对捕获的系统提示词中 Today's 逐字符检查 Unicode 码点,确认是否为 U+0027(正常)或 U+2019/U+02BC/U+02B9(被标记)。
排查 Native Messaging(事件 A):在 macOS 上检查 ~/Library/Application Support/<浏览器>/NativeMessagingHosts/com.anthropic.claude_browser_extension.json,按需删除;注意 Claude Desktop 重启可能重建。
时区审计:检查系统时区是否为 Asia/Shanghai 或 Asia/Urumqi;叠加非官方 Base URL 时,日期分隔符会从 - 变为 /。
企业环境加固:评估是否继续在生产链路使用桌面 Agent;最小权限、显式授权、可审计是底线;敏感环境建议隔离 Claude Desktop 与浏览器 Native Messaging 通道。
可引用硬数据:Claude Code 指纹事件关键参数
域名规则数量:约 147 条,base64 + XOR(91) 混淆存储;含 deepseek、moonshot、zhipu、minimax、baichuan、stepfun、01ai 等 AI 实验室关键词。
受影响版本:逆向者确认 2.1.193 / 2.1.195 / 2.1.196 均存在隐写逻辑;2.1.197(2026-07-01)移除。
HN 社区热度:讨论帖数小时冲到首页,350+ points、100+ 评论;Claude for Chrome 提示词注入成功率:无缓解 23.6%、有缓解 11.2%(Anthropic 自曝数据,与事件 A 风险相关)。
注意:这件事真正的警示不在「一个撇号」,而在于当模型能力狂飙、而安全边界与审计严重滞后时,厂商很容易以「体验/防滥用」为名越过信任边界。默认不信任、要求披露而非隐藏、最小权限隔离,是用户与从业者的底线。
对依赖 Claude Code 做 iOS CI/CD 与 AI Agent 自动化的团队而言,在本地 Mac 上跑高权限桌面 Agent 存在权限蔓延与隐蔽遥测风险;虚拟机共享实例的隔离也不如独占裸金属可靠。对于需要稳定、可审计、7×24 在线的 Apple Silicon 生产环境,MESHLAUNCH 的 Mac Mini 云端租赁通常是更优解:独占 M4/M4 Pro、按天/周/月弹性下单、与 Claude Desktop 本地高权限通道物理隔离,Agent 工作负载跑在可控云节点上。
参考来源:The Register(Claude Desktop 权限变更,2026-04);Malwarebytes / gHacks / YOOTA;thereallo.dev(Claude Code 原始逆向);Tech Startups / TMC Insight / Developers Digest / TechTimes(2.1.197 修复);Antiy Labs(安天)Claude Desktop 风险分析报告。
不算传统意义的间谍软件,但据逆向报告,它在系统提示词里藏了未披露、经混淆的指纹,用来标记走代理的中国相关用户;Anthropic 已在 2.1.197 移除。更准确的定性是「未披露的隐蔽信道」。
据逆向报告,仅在设置了非官方 ANTHROPIC_BASE_URL 时才会检查 Asia/Shanghai 或 Asia/Urumqi;使用官方端点则不会改动日期行。
Today's 中的撇号会在 U+0027、U+2019、U+02BC、U+02B9 之间切换,编码是否命中中国机构域名、AI 实验室关键词或两者兼有。详见正文 Unicode 映射表。
不是。4 月 Claude Desktop 静默写入 Native Messaging 清单是独立事件 A;6 月 30 日 Claude Code 提示词隐写是事件 B,涉及产品与触发条件均不同。
社区主流判断目的是反模型蒸馏与反未授权 API 转售;争议在于手段过于隐蔽且未向用户披露。详情可见 价格页了解隔离部署方案。
事件 B 只在 Claude Code 且设置了非官方 ANTHROPIC_BASE_URL 时触发,普通官方端点用户不受此逻辑影响。
在 ~/Library/Application Support/<浏览器>/NativeMessagingHosts/ 下查找并删除 com.anthropic.claude_browser_extension.json,注意重启 Claude Desktop 可能重建。建议先查看 帮助中心相关说明。
Anthropic 承认代码存在,2026 年 7 月 1 日发布 2.1.197 移除,但 changelog 未提及此变更。请立即升级并核对版本号。