AI 安全 2026-07-03

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

一句话结论:据逆向报告,2026 年 6 月底 Claude Code(非网页版)在用户将 ANTHROPIC_BASE_URL 指向非官方代理时,会用文本隐写术改写系统提示词里 Today's date is... 一行——通过切换日期分隔符与肉眼难辨的 Unicode 单引号,把时区与中国域名/AI 实验室命中信息悄悄夹带回服务器。Anthropic 已在 2.1.197(7 月 1 日)移除相关代码;社区主流解读为反模型蒸馏手段,争议在于做法过于隐蔽且刻意混淆。

Claude Code system prompt Unicode apostrophe fingerprint U+2019 U+02BC steganography 2026

⚠️ 本文基于公开爆料与逆向报告整理,措辞采用「据爆料 / 据逆向报告 / 被指控」以降低法律风险;Anthropic 动机为社区推断,非官方证实。数据截止 2026 年 7 月 3 日。

01 · 核心速览

维度 要点
事件 B 披露2026 年 6 月 30 日,开发者逆向 Claude Code 二进制,发布于 thereallo.dev,经 Reddit → Hacker News 发酵
触发条件仅当 ANTHROPIC_BASE_URL ≠ api.anthropic.com(走代理/网关/转售)时触发;官方端点不动手脚
编码手段系统提示词 Today's date is... 行:切换日期分隔符(- vs /)+ Unicode 单引号(U+0027 / U+2019 / U+02BC / U+02B9)
规则列表base64 + XOR(91) 轻度混淆,约 147 条域名规则;含 deepseek、moonshot、zhipu、minimax、baichuan、stepfun、01ai 等 AI 实验室关键词
受影响版本逆向者核对 2.1.193 / 2.1.195 / 2.1.196 均存在;2.1.197(2026-07-01)移除,changelog 未提及
社区热度HN 讨论帖数小时冲首页,350+ points、100+ 评论;分裂为「合理反蒸馏防御」vs「对开发者工具近乎恶意」
事件 A(另案)2026 年 4 月 Alexander Hanff 爆料 Claude Desktop 静默写入浏览器 Native Messaging 清单(见第三节)
提示词注入风险Anthropic 自有数据:Claude for Chrome 提示词注入成功率无缓解 23.6%、有缓解 11.2%——叠加事件 A 高权限通道,风险不容忽视

02 · 三大痛点:开发者为何感到被背叛

  1. 两个事件被混为一谈:媒体与社媒常把 4 月 Claude Desktop 浏览器注入(事件 A)与 6 月 Claude Code 提示词隐写(事件 B)捆绑成「Anthropic 间谍软件」叙事——产品、触发条件、技术机制完全不同,混淆会损害判断与 SEO 可信度。
  2. 隐蔽信道与开发者信任冲突:据逆向报告,分类信号藏在标点符号里、代码经 base64+XOR 混淆、未向用户披露——对靠信任吃饭的 CLI 编码工具而言,即便动机是反蒸馏,手段仍被 HN 大量用户指为越界。
  3. 代理用户缺乏可复现自查环境:要对比官方端点与代理端点下系统提示词差异,需在隔离 macOS 上配置 Claude Code、审计 ANTHROPIC_BASE_URL 与 Native Messaging 清单;主力机混装多版本 CLI 与浏览器配置,排障成本极高。

03 · 两件事,别搞混:事件 A vs 事件 B

这波风波是两个独立但相关的事件叠加发酵。发稿前务必区分,否则会被英文技术读者(HN / Reddit / 安全圈)一眼看穿。

维度 事件 A:静默浏览器注入 事件 B:系统提示词隐写术
涉及产品Claude Desktop(macOS 客户端)Claude Code(CLI 编码工具)
爆料人Alexander Hanff(隐私顾问,The Register 撰稿人)开发者逆向二进制,thereallo.dev
时间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即使浏览器未安装也预建目录,删除后重启 Claude Desktop 会复活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 未提及

04 · 时间线与版本核对

时间事件
2026 年 4 月据爆料 Alexander Hanff 披露 Claude Desktop Native Messaging 静默注入(事件 A)
2026 年 4 月独立顾问 Noah Kenney(Digital 520)据报确认 Hanff 技术主张可复现;安天实验室(Antiy Labs)发布专门风险分析报告
2026 年 6 月 30 日开发者于 thereallo.dev 发布 Claude Code 逆向报告(事件 B),Reddit → HN 发酵
2026 年 6 月底HN 讨论帖 350+ points、100+ 评论;社区分裂两派
逆向者核对版本 2.1.193 / 2.1.195 / 2.1.196 均含隐写逻辑
2026 年 7 月 1 日Anthropic 发布 Claude Code 2.1.197 移除相关代码(changelog 未明确说明)

05 · 隐写术到底怎么运作

关键前提(据逆向报告):只有当你把 ANTHROPIC_BASE_URL 指向非官方地址——即走代理、网关、第三方转售或 OpenAI 兼容层——时才触发。直连 api.anthropic.com 时,系统提示词中的日期行不会被改动。

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

  1. 改日期分隔符:若系统时区为 Asia/ShanghaiAsia/Urumqi2026-06-30 变为 2026/06/30
  2. 换单引号:把 Today's 里的撇号替换成视觉相近、Unicode 不同的字符,编码「命中了什么」。

域名与关键词列表据报用 base64 + XOR(91) 轻度混淆,约 147 条规则。关键词包含 deepseek、moonshot、zhipu、minimax、baichuan、stepfun、01ai 等中国 AI 实验室相关字符串。

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

06 · Unicode 映射表(据逆向报告)

检测条件 日期格式 Today's 单引号 Unicode
默认(不在域名列表、非 AI 实验室)2026-06-30' 标准 ASCII 撇号U+0027
命中中国机构/经销商域名2026-06-30' 右单引号U+2019
命中 AI 实验室关键词2026-06-30ʼ 修饰符撇号U+02BC
域名与实验室同时命中2026-06-30ʹ 修饰符角分号(prime)U+02B9
叠加中国时区(Asia/Shanghai / Asia/Urumqi)2026/06/30单引号规则同上

07 · Anthropic 为什么这么做?动机 vs 手段

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

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

  • 辩护派:「这就是正当的反蒸馏防御」
  • 批评派:「对开发者工具而言这近乎恶意行为(malware-adjacent)」

Claude Fable 5 出口管制AI 编程助手选型对比 对照阅读,可更全面理解 Anthropic 在访问控制与开发者生态上的张力。

08 · 这算间谍软件吗?

「间谍软件」是有情绪的标签。更准确的说法(据公开材料):

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

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

09 · 第三方技术确认(事件 A)

除 Hanff 原始爆料外,据公开报道:

  • Noah Kenney(Digital 520 独立顾问)确认 Hanff 的技术主张可复现
  • 安天实验室(Antiy Labs)发布 Claude Desktop 高权限浏览器通道风险专门分析报告

事件 B 的技术细节主要来自 thereallo.dev 逆向报告及后续 Tech Startups、TMC Insight、Developers Digest、TechTimes 等媒体报道。

10 · 五步自查与防护清单

  1. 核查 ANTHROPIC_BASE_URL 与 Claude Code 版本:确认是否将环境变量指向非 api.anthropic.com 的代理;若曾使用 2.1.193–196,立即升级至 2.1.197+
  2. macOS 检查 Native Messaging 清单(事件 A):在 ~/Library/Application Support/<浏览器>/NativeMessagingHosts/ 查找 com.anthropic.claude_browser_extension.json,按需删除;注意 Claude Desktop 重启可能重建。
  3. 审计系统时区与代理链路:核对 Asia/ShanghaiAsia/Urumqi 等设置,理解日期分隔符与单引号如何组合编码信息。
  4. 企业/敏感环境最小权限:将 Claude Desktop / Claude Code 按高权限桌面 Agent 对待——显式授权、可审计、生产链路隔离;参考 MCP Server 从零搭建教程 理清 Agent 工具调用边界。
  5. 默认不信任、要求披露:可复现、可审计、可关闭才是信任门槛;厂商应光明正大做反蒸馏并给开关,而非藏进标点符号。

11 · AI 越来越强,我们该如何面对

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

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

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

12 · FAQ

Claude Code 是间谍软件吗?

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

Claude Code 会检测我的时区吗?

据逆向报告,会检查 Asia/Shanghai / Asia/Urumqi——但仅在你使用非默认 ANTHROPIC_BASE_URL。官方端点用户不受影响。

Today's date 单引号 Unicode 指纹是什么原理?

据逆向报告,Today's 中的撇号在 U+0027、U+2019、U+02BC、U+02B9 之间切换,分别编码无命中、命中中国域名、命中 AI 实验室关键词、两者同时命中;叠加中国时区时日期变为斜杠分隔。

Anthropic 为什么要加这套逻辑?

社区主流判断:最可能是检测模型蒸馏与未授权 API 转售——正当目标,但据爆料以隐蔽、混淆、未披露的方式实现。

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

不是。2026 年 4 月 Alexander Hanff 披露的 Claude Desktop Native Messaging 静默注入是事件 A;2026 年 6 月 30 日 thereallo.dev 披露的 Claude Code 系统提示词隐写术是事件 B。

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

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

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

~/Library/Application Support/<浏览器>/NativeMessagingHosts/ 下查找并删除 com.anthropic.claude_browser_extension.json;据爆料重启 Claude Desktop 可能重建。

Claude Code 隐写术代码还在吗?

据逆向者与媒体报道,2.1.193、2.1.195、2.1.196 均存在;Anthropic 于 2026 年 7 月 1 日发布 2.1.197 移除,changelog 未明确提及。

13 · 参考来源

  • The Register:Claude Desktop changes software permissions without consent(2026-04)
  • Malwarebytes / gHacks / YOOTA:Claude Desktop Native Messaging 相关报道
  • thereallo.dev:Claude Code prompt steganography(原始逆向报告)
  • Tech Startups / TMC Insight / Developers Digest / TechTimes:事件 B 报道与 2.1.197 修复
  • 安天实验室(Antiy Labs):Claude Desktop 高权限浏览器通道风险分析报告
  • Hacker News:Claude Code steganography 讨论帖(350+ points)

14 · 租用 Mac:隔离验证 Claude Code 权限与代理配置

要真正搞清自己是否曾触发事件 B,你需要在干净、可快照的 macOS 环境里分别用官方 api.anthropic.com 与自定义 ANTHROPIC_BASE_URL 跑 Claude Code,抓取系统提示词 diff——同时审计 Claude Desktop 是否在 NativeMessagingHosts 下写入清单。主力 Mac 上混装 Homebrew 多版本 CLI、公司 VPN 与日常浏览器配置,一次对照实验可能污染数周排障基线。

按天租用 Apple Silicon Mac 可在隔离节点完成「代理 vs 官方端点」A/B 测试、Native Messaging 清单巡检与 Claude Code 与 Cursor 工作流回归,验证通过再决定是否在主力机恢复配置。计费与机型对照见 M 系列 Mac 算力租赁定价;若你同时受 Fable 5 出口管制 影响,在租用节点上并行跑合规检查比在本机硬装多版本 Claude CLI 更省时间。