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

若你使用 Claude CodeClaude Desktop,2026 年 6 月底曝光的提示词隐写术与 4 月的静默浏览器注入是两起独立事件——前者在走代理时改写 Today's date 里的 Unicode 单引号打指纹,后者在 macOS 上预写 Native Messaging 清单。据逆向报告,Anthropic 已在 2.1.197 移除隐写代码;目的大概率是反模型蒸馏,争议在手段隐蔽、未披露。本文含事件 A/B 对照表、Unicode 映射表、HN 两派观点、六步自查清单与 FAQ。节点方案见 定价页

一句话版本:2026 年 6 月 30 日,据 thereallo.dev 逆向报告,Claude Code(CLI 编码工具,非网页版)在用户将 ANTHROPIC_BASE_URL 指向非 api.anthropic.com 的代理/网关时,会改写系统提示词中 Today's date is... 一行——通过切换日期分隔符(- vs /)与肉眼难辨的 Unicode 单引号(U+0027 / U+2019 / U+02BC / U+02B9),把「是否在中国时区、是否命中中国域名或 AI 实验室关键词」编码进每个请求。这是典型的隐蔽信道(covert channel)。Anthropic 于 7 月 1 日发布 2.1.197 移除相关代码,changelog 未提及。

  • 两事件常被混写:Desktop 浏览器注入(4 月 Hanff 爆料)与 Code 提示词隐写(6 月逆向)产品、触发条件、技术细节完全不同,混写会伤 E-E-A-T。
  • 并非人人触发:事件 B 仅在设置非官方 Base URL 时激活;官方端点用户不受影响。
  • 目的 vs 手段须分开:社区主流判断动机是反蒸馏/反转售,可理解;但隐蔽、混淆、不披露踩了开发者工具信任红线。
  • HN 分裂:讨论帖数小时冲首页,350+ points——「合理反蒸馏防御」vs「对开发者工具近乎恶意」。
  • 合规措辞:下文用「据爆料/据逆向报告/被指控」表述,不把厂商意图当作已证实事实。

事件 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/Vivaldi/Opera/Chromium 写入 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 三个版本均存在该逻辑。

关键前提:仅当 ANTHROPIC_BASE_URL 指向 api.anthropic.com(代理、网关、第三方转售、OpenAI 兼容层)时才触发。官方端点不动手脚。

触发后,程序在系统提示词那句人畜无害的 Today's date is ... 里藏两类信号:

  1. 改日期分隔符:若系统时区为 Asia/ShanghaiAsia/Urumqi2026-06-30 变为 2026/06/30
  2. 换单引号:Today's 里的撇号替换成视觉相同、Unicode 不同的字符,编码「命中了什么」。
Claude Code 系统提示词 Unicode 指纹映射(据 thereallo.dev 逆向报告)
检测到的情况 日期格式 单引号字符 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 (单引号规则同上)

域名与关键词列表据逆向报告用 base64 + XOR(91) 轻度混淆,约 147 条域名规则;关键词包含 deepseek、moonshot、zhipu、minimax、baichuan、stepfun、01ai 等。后端扫一眼日期分隔符与单引号 Unicode,即可推断:用户是否挂海外 VPN 但实际在中国时区、是否疑似某家中国 AI 实验室——而人类读提示词完全无感。

check-base-url.sh
# 检查是否走了非官方端点(事件 B 触发前提)
echo "$ANTHROPIC_BASE_URL"
# 若输出非空且不是 https://api.anthropic.com,曾可能触发指纹逻辑
claude --version
# 确认版本 ≥ 2.1.197(隐写代码已移除)

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

目的可以理解,手段才是问题:把分类信号做成肉眼不可见、刻意混淆藏进每个请求,对靠开发者信任吃饭的工具而言,踩了信任红线。

Hacker News 上两派吵得很凶:一派称「合理的反蒸馏防御」;另一派称「对开发者工具而言近乎恶意行为」。主流解读:Anthropic 意在检测未授权转售 + 模型蒸馏,而非监视个人;争议点是手段(隐蔽、混淆、不披露)而非目的本身。

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

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

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

  1. 检查 Base URL:运行 echo $ANTHROPIC_BASE_URL;若指向非官方代理,事件 B 逻辑曾可能触发;生产环境优先直连 api.anthropic.com 或审计过的企业网关。
  2. 升级 Claude Code:确保版本 ≥ 2.1.197(2026-07-01 发布,据公开报道移除隐写代码)。
  3. 扫描 Native Messaging 清单(事件 A):macOS 上检查 ~/Library/Application Support/<浏览器>/NativeMessagingHosts/com.anthropic.claude_browser_extension.json,覆盖 Chrome、Edge、Brave、Arc、Vivaldi、Opera 等。
  4. 按需删除并观察复活行为:手动删除上述 JSON 后重启 Claude Desktop,记录是否自动重建——这是评估权限模型是否根除的依据。
  5. 审计时区与代理组合:若同时使用 VPN 与中国时区(Asia/Shanghai / Asia/Urumqi),在旧版 Claude Code + 非官方 Base URL 下曾构成完整指纹向量。
  6. 企业敏感环境:评估是否继续在生产链路使用桌面 Agent;最小权限、显式授权、可审计是底线;Agent 宿主迁到隔离的 7×24 服务器而非个人笔电。

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

可引用技术信息(2026 年 6–7 月,据公开报道与逆向报告):

  • 域名规则规模:base64 + XOR(91) 混淆,约 147 条域名/关键词规则。
  • 受影响版本:Claude Code 2.1.193 / 2.1.195 / 2.1.196 均含隐写逻辑;2.1.197 移除。
  • HN 热度:讨论帖数小时冲首页,350+ points、100+ 评论。
  • Claude for Chrome 注入成功率(Anthropic 自曝):无缓解 23.6%,有缓解 11.2%。

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

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

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

Q:Claude Code 是间谍软件吗?
不算传统意义的间谍软件,但据逆向报告,它确实在系统提示词里藏了未披露、经混淆的指纹;Anthropic 已在 2.1.197 移除。更准确的定性是「未披露的隐蔽信道」。

Q:Claude Code 会检测时区吗?
据逆向报告,当使用非默认 ANTHROPIC_BASE_URL 时会检查 Asia/Shanghai / Asia/Urumqi;官方端点用户日期行不受影响。

Q:单引号 / Unicode 技巧是什么?
Today's 中的撇号在 U+0027、U+2019、U+02BC、U+02B9 之间切换,编码是否命中中国相关域名、AI 实验室关键词或两者兼有。

Q:Anthropic 为什么加这个?
社区主流判断:检测模型蒸馏与未授权 API 转售——正当目标,但实现方式不当且未披露。

Q:这和 Claude Desktop 间谍软件报道是一回事吗?
不是。4 月 Desktop Native Messaging 注入是独立事件 A;6 月 Code 提示词隐写是事件 B。

Q:普通网页版 Claude 用户会被影响吗?
事件 B 只在 Claude Code 且设置了非官方 ANTHROPIC_BASE_URL 时触发。

Q:怎么删除 Claude Desktop 注入的浏览器文件?
~/Library/Application Support/<浏览器>/NativeMessagingHosts/ 删除 com.anthropic.claude_browser_extension.json;重启 Claude Desktop 可能重建。

Q:为什么要区分事件 A 和 B?
混写会导致事实错误,被 HN / Reddit / 安全圈读者一眼看穿,损害站点 E-E-A-T 与 SEO 可信度。

以下为主要参考来源,发版或上游更新后请再次打开链接核对:

thereallo.dev:Claude Code prompt steganography(原始逆向报告)

The Register:Claude Desktop changes software permissions without consent(2026-04)

Hacker News:Claude Code steganography 讨论帖

若你把 Claude Code 长会话、MCP 工具链与多模型路由跑在会休眠的笔电上,再完善的版本审计也会被任务中断、OAuth 失效、Native Messaging 复活吃掉。纯本地审计虽可行,但缺 7×24 可预期环境;把 Agent 迁到隔离云主机又需要稳定 Apple Silicon 与 SSH。

若你需要 7×24 常驻 Agent 宿主、稳定 SSH 与可预期的 Apple Silicon 算力,把 Claude Code 定时任务、MCP 配置与多供应商 Fallback 迁到独占裸机服务器,通常比在不稳定笔电上反复救火更划算:NOVAKVM 提供多区域 Mac Mini M4 / M4 Pro 弹性租期,固定带宽与默认 SSH 访问,适合 iOS CI/CD 与 AI Agent 自动化同机试跑。方案见 定价页,下单见 订购页,部署问题见 帮助中心