第 23 章 第六部分:专题研究

专题:反蒸馏机制与内部版的秘密

假工具注入、加密思维链、构建时死代码消除——Anthropic 如何保护技术优势,以及内部版 Claude Code 和你用的有多大不同

Claude Code 反蒸馏 Anti-Distillation 内部版 Feature Flags 专题研究 Interaction Layer ADFP 模型合并

为什么关注反蒸馏

模型蒸馏(distillation)是 AI 行业的灰色地带——通过大量调用竞品 API,收集输入-输出对,用来训练自己的模型。这在技术上可行,在法律上模糊,在商业上是严重威胁。

Claude Code 源码泄露揭示了 Anthropic 已经在主动构建反蒸馏防御。这不是理论讨论——源码中有具体的实现代码和 Feature Flag。

本章的证据强度分三层,请按层取信。 ① 源码逆向(假工具注入、CONNECTOR_TEXT、内部版差异):来自 2026-03-31 泄露版本。实现细节真实,但版本锚点已过期——本章据此描述的机制可能与当前线上形态已有出入,凡涉及”现在是否仍如此”的判断都应以官方文档为准。 ② 厂商披露(Anthropic 2026-02 博文与 2026-09 威胁报告):一手的运营数据,但属单方面叙述。外部研究者无法获取底层的账户数据、prompt、网络指标与执法记录以复现其结论;涉及具体机构的指控未见独立核实或司法认定。本章只采纳其反制手段清单与规模数字,不采纳对具体机构的定性为既成事实。 ③ 学术论文:按发表状态分层,预印本结论未定。本章已发现一例”编号真实但适用域错配”(Caliber,见下文),凡以论文支撑跨场景推论时,须先核对威胁模型是否一致。


两层反蒸馏机制

第一层:假工具注入(Fake Tools Injection)

Feature Flag: anti_distillation → ['fake_tools']
GrowthBook Flag: tengu_anti_distill_fake_tool_injection

当启用时,系统向 API 响应中注入虚假的工具定义——这些工具不存在,但如果有人收集 Claude Code 的输出来训练模型,这些虚假定义会被”学习”进去。

效果:竞品模型如果通过蒸馏 Claude 的输出来训练,会学到不存在的工具和不正确的工具调用模式。这是一种数据投毒策略。

第二层:CONNECTOR_TEXT(思维链加密)

更隐蔽的一层防御。服务器不返回完整的推理链(chain-of-thought),而是返回加密签名的摘要。

这意味着:

  • 外部观察者无法获得 Claude 的详细推理过程
  • 蒸馏攻击无法复制模型的”思考方式”,只能复制最终输出
  • 仅限 USER_TYPE === 'ant'(Anthropic 员工)时启用完整思维链

这和第 4 章分析的 Thinking Redaction 有关联——在普通用户看到的 <thinking> 标签中,部分内容可能已经被选择性移除或简化。

官方确认(2026-09-10):Anthropic 在《Detecting and countering misuse of AI: September 2026》威胁情报报告中,把这一机制列为已部署的反制措施之一,原文为:

“Claude now summarizes its internal reasoning before responding, which makes stolen transcripts less useful for training another model.”

这与本节从源码逆向得到的 CONNECTOR_TEXT 是同一机制的官方表述与实现表述——由此,CONNECTOR_TEXT 的定位从”源码逆向推测”升级为”厂商公开承认在生产环境部署的信息节流措施”。注意官方措辞是”降低被盗转录的训练价值”,而非”阻止蒸馏”,与本章前后文定位一致。

同一批披露还给出了链条上的另外两环,与本节形成”检测—降质—防篡改”的完整闭环:

  • 提取分类器:Anthropic 构建了专门用于检测对抗性提取的分类器,并在 2026 年 Fable 5 发布时同步强化(对应本章”四层防御”中的行为指纹检测,是其技术化落地)
  • preserved thinking(Fable 5.1 引入):阻止新的 API 账户篡改 system prompt、tools 或多轮对话中位于推理之前的消息。官方解释是——推理本身是加密的,但在其之前编辑上下文是攻击者诱使 Claude 吐出推理的常用手法(详见 Ch16)

官方报告里还有一条可直接印证本节机制的现场证据:在描述 DeepSeek 的跨会话重放攻击时,官方写道攻击者”exfiltrate reasoning traces that would have otherwise been summarized”——即推理摘要化已经在线上运行,攻击者的目标正是抢在摘要发生之前把原始推理链取走。

第三前沿:Caliber 输出扰动(2026-08 最新)

Caliber(arXiv:2608.01023,2026-08-02 提交)提出了一种新的反蒸馏范式——output-perturbation。Caliber 把噪声选择表述为一个校准问题:防御方先决定”要让监督信号退化多少”,再反解出应当注入多大的噪声。具体实现是对模型的内部 logits 施加独立同分布的高斯噪声,噪声方差按 top-two logit margin 的平方中位数归一化。

论文的原文措辞是:防御目标是”an attacker that uses returned scores for knowledge distillation”——即攻击者拿返回的分数去做蒸馏。它给出了两条性质:① 一致率单调退化:当干净 logits 有唯一最大值时,与干净预测的一致率随噪声尺度严格递减,这意味着 (1/K,1)(1/K, 1) 区间内的每个目标准确率都对应唯一的正噪声尺度,任务准确率可被上下包络界住;② 单输入恢复成本:给出了攻击者要用重复查询恢复干净 logits 所需次数的闭式 minimax 下界。

⚠️ 适用域更正(2026-09-13 核对):Caliber 论文全称为 Caliber: Cross-Architecture Extraction-Cost Control for Score-Returning APIs,其审视对象是返回分数的 MLaaS 评分/分类服务(扰动施加在 logits 上),而非自回归文本生成。本章此前把它与”假工具注入 / CONNECTOR_TEXT”(两者都作用于 LLM 文本输出)并列为攻击面互补,这一跨场景类比目前缺少支撑,已移除。Caliber 与本章主体是并列的另一类场景,不是同一威胁模型下的第三种手段。

另需更正一处口径:本章此前写”蒸馏学生性能退化 >80%、用户端质量损失 <2%“,这容易读成一组实测结论。按原文,Caliber 的核心恰恰是让退化程度可配置——“every target in (1/K,1)(1/K,1) corresponds to a unique positive scale”,实测结论是”surrogate performance generally tracks the configured degradation”(学生性能基本跟随所配置的退化档位),在 30+ 组模型-数据集组合上,per-model 校准的平均绝对相对误差为 0.6–1.4%。也就是说,退化幅度是防御方设定的输入,不是论文测出的输出。

即便如此,Caliber 代表的方向仍然成立,也与本章主题一致:反蒸馏防御正在从”是否被蒸馏”的二元判断,走向”被蒸馏了但学不到有用东西”的韧性建设——只不过这条路径目前只在返回分数的服务上被形式化证明,文本生成场景的对应工作仍待补充。


Anthropic 官方反蒸馏行动

2026 年 2 月 23 日,Anthropic 发布官方博文《Detecting and preventing distillation attacks》,点名三家中国 AI 公司通过约 24,000 个马甲账户与 Claude 进行超过 1,600 万次对话:

公司对话次数攻击目标
DeepSeek~15 万次跨任务推理、rubric-based 评分(让 Claude 当 reward model)、生成审查安全的替代回答
Moonshot AI(Kimi)~340 万次Agent 推理/工具使用、编码、Computer-use Agent 开发、计算机视觉
MiniMax~1,300 万次Agent 编码和工具编排

攻击目标集中在 Claude 最具差异化的能力:Agent 推理、工具使用和代码编写。

四层防御策略:

  1. 行为指纹检测:通过 API 调用模式识别自动化/批量访问行为
  2. 访问控制收紧:对可疑账户限制请求频率和功能访问
  3. 响应塑形:降低输出对蒸馏的训练价值(与源码中的假工具注入和思维链加密互补)
  4. 跨平台情报共享:与其他 AI 公司共享蒸馏攻击的威胁情报

源码中的技术层防御(假工具注入=数据投毒,CONNECTOR_TEXT=信息节流)与运营层防御(检测+阻断)形成互补——技术层防御降低蒸馏数据质量,运营层防御减少蒸馏数据数量。

2026-09-10 更新:实验室 3 → 7,单战役交换量约 10 倍

2026 年 9 月 10 日,Anthropic 发布《Detecting and countering misuse of AI: September 2026》(覆盖 2025-12 至 2026-08 的处置案例),把蒸馏首次列为七大危害域之一(其余六项为网络行动、影响行动、监控、诈骗欺诈、生物滥用、常规武器开发)。相较 2026-02 的首次披露,量级发生了一个数量级的变化:

“Since we published our first disclosure in February, we have identified and disrupted additional distillation attacks against Claude from seven labs based in China.”

✅ 复核注记(2026-10-01):截至本日复核,Anthropic 未发布 2026-09-10 之后的更新版威胁情报报告,本表仍是最新的官方一手数据,数字一字未改。⚠️ 这是检索层面的结论(多检索式均只返回同一份 09-10 报告的转载与评论),未经官方渠道穷举,不等于「确认没有」。

实验室(Anthropic 归因)交换量窗口 / 账户攻击目标
Alibaba(Qwen / Tongyi Lab)>1.51 亿次2026-05~07,峰值近 300 万次/天,>3,500 个欺诈账户Opus 4.6/4.7 的 CoT;用于训练 Qwen 3.5/3.6/3.7,并用于 RL 环境与架构研究
Moonshot AI(Kimi)>2,300 万次2026-05~07静默转发真实用户请求到 Claude,把回复当训练数据
DeepSeek>1,210 万次2026-07 的 14 天跨会话重放攻击提取 CoT
Zhipu(Z.ai)770,609 次(CoT 清洗管线)/ >340 万次(同期总量)6 月的 10 天 / 6-7 月的 17 天,273 个欺诈账户清洗 CoT 用于 GLM;GLM 5.3 发布前转向网络能力
Xiaomi>40 万次3-4 月的 20 天,>1,500 个账户重放自有用户会话用于 SFT 与 RL
SenseTime未披露—从第三方数据商购买 Claude 转录
MiniMax未披露—通过无关联的壳公司搭建仅代理 Anthropic / OpenAI 的代理网络

📌 Zhipu 的两个数字不是源间冲突,而是两个不同的计量对象:官方原文为 “Over a 10-day period in June, we counted 770,609 exchanges passing through the CoT-extraction cleaner. We also attributed over 3 million exchanges to Zhipu over the same period”——前者只计 CoT 清洗管线,后者是同期归因总量。另需注意 Zhipu 的实际账户数是 273 个,不是其他来源所写的 1,500+(后者是 Xiaomi)。

⚠️ 「合计约 1.9 亿次」不是官方数字:媒体中流传的这个加总数,等于对上表各项的人工求和(1.51 亿 + 2300 万 + 1210 万 + 340 万 ≈ 1.9 亿量级),并非 Anthropic 报告中的任何一项原始数据。本章只列官方逐项数字,不做跨实验室求和——加总会把不同计量口径(CoT 清洗管线 vs 同期归因总量)、不同窗口(14 天 / 20 天 / 3 个月)与未披露项(SenseTime、MiniMax)混成一个没有定义的量。后续增补请沿用此例。

防御从四层升级为分层体系。官方明确写了”没有任何单一措施能解决该问题”(“No single safeguard can address this issue alone, which is why we use a layered defense”),并披露了此前未公开的三项:

  1. 代理网络元数据归因:不逐个封禁代理账户,而是把可疑活动归因到具体组织,从而实施整体性执法
  2. 提取分类器(新增):专为检测对抗性提取构建,2026 年随 Fable 5 发布同步强化
  3. 推理摘要化(新增,见上文 CONNECTOR_TEXT 一节)
  4. preserved thinking(新增,Fable 5.1,见上文)
  5. 强制身份验证(新增):对出现滥用信号的账户(如转售 Claude、或从不接受服务的国家/地区运营)要求完成身份验证,失败即封禁
  6. 官方另称未观测到针对 Mythos 5 / Mythos Preview 的蒸馏尝试,原因是这两个模型未对公众开放

攻击目标则与 2026-02 的判断一致,且更具体:官方原文为 “agentic capabilities and tool use, coding and data analysis, and logical reasoning”。

⚠️ 证据强度提示:以上全部数字与归因为 Anthropic 单方面披露。外部研究者无法获取其底层的账户数据、prompt、网络指标与执法记录,因而无法独立复现其结论;Anthropic 亦未公开完整的受害者名单、执法日期与每次归因所依据的证据。本书按”厂商口径”收录,不代表对任何具体机构的指控已被独立核实或司法认定。

Google Gemini 的蒸馏攻击

Anthropic 并非唯一的受害者。2026 年 2 月 12 日,Google 威胁情报小组(GTIG)和 Google DeepMind 发布报告,公开确认 Gemini 模型正面临大规模”模型提取攻击”(Model Extraction Attacks),即违规蒸馏。攻击者通过合法 API 接口大规模向 Gemini 提问,系统性记录其回答,单次攻击的提示次数超过 10 万次。

攻击模式与 Anthropic 披露的案例高度相似:

  • 大量马甲账户规避 API 调用限制
  • 通过”思维链”蒸馏法,诱导模型暴露更详细的决策逻辑
  • 攻击目标不仅限于单一任务模仿,还包括跨任务及多语言环境下的推理能力复制

Google 的应对措施包括:

  • 实时检测异常 API 访问模式(高频次、覆盖广泛知识点的提问、诱导思维链输出的特定指令)
  • 封锁涉事账户并加强防护
  • 向输出中注入微妙的扰动(subtle output perturbations),在不影响合法用户体验的前提下降低蒸馏数据质量

关键意义:两个最大的前沿模型提供商(Google 和 Anthropic)均在同一时期公开确认遭遇蒸馏攻击,这表明反蒸馏不是 Anthropic 的个案,而是整个前沿模型行业面临的系统性威胁。

马斯克在 Anthropic 公开指控后随即嘲讽:“他们怎么敢偷 Anthropic 从人类程序员那里偷来的东西”,“Anthropic 公司大规模窃取训练数据,并为此支付了数十亿美元的赔偿金。“这一嘲讽引发了行业对蒸馏指控双标性质的广泛讨论——Anthropic 自身曾因从盗版网站非法下载超 700 万本受版权保护的图书训练模型,于 2025 年 9 月支付 15 亿美元和解金。更具讽刺意味的是,2026 年 4 月,马斯克在加州联邦法院作证时承认 xAI 的 Grok 模型”部分”使用了 OpenAI 模型的蒸馏技术,表明美国 AI 实验室之间同样存在互相蒸馏的行为。

中继型蒸馏(Relay Distillation):攻击面里的第三方

本章此前的攻击模型是二元的——攻击者 → 教师 API。2026-09 官方报告披露的形态多了一方:中间层服务商把自己用户的真实请求静默转发给第三方前沿模型,返回内容既充当产品输出,又被留存为训练数据。官方原文:

“In other cases, unauthorized labs rerouted requests from their users to Claude—without the knowledge or permission of those users—to harvest exchanges between users and Claude for training.”

被点名的三家(Moonshot、DeepSeek、Xiaomi)中,有两家采取的是”用户以为自己在用 A 模型,实际请求被转到 Claude”。这带来两个性质不同的后果:

  1. 蒸馏本身——拿到的是真实分布上的高价值交互,而非攻击者自己构造的 prompt
  2. 无告知的数据出境——转发的流量中夹带姓名、邮箱、企业数据与实时凭证。报告给出的例子包含政府数据库的活动凭证与企业内部文档;官方并称这些做法”likely inconsistent with privacy laws and the labs’ own terms of service”

对本书读者的工程含义,比蒸馏本身更直接:任何把 prompt 经由中间路由层 / 多模型中转平台 / 第三方 harness 发出的架构,路由层自身就是一个数据外泄点——用户与”路由层”之间的信任关系,被路由层转手交给了下游模型,而这一层转交通常不在隐私政策里。这与第 3 章的 Thinking Redaction、第 7 章的权限边界是同一类信任边界问题:你以为的信任边界是”我和我的模型供应商”,实际的信任边界是”我和每一个中转跳”。

⚠️ 以上为 Anthropic 单方面披露,未见独立验证。

Kimi K3 蒸馏争议(2026-07)

2026 年 7 月,Moonshot AI 的 Kimi K3 被指控通过 Claude API 输出进行大规模蒸馏训练。Kimi K3 在当时位居全球开源模型调用量前三,性能直逼闭源前沿模型。月之暗面否认蒸馏指控,但事件本身凸显了一个核心事实:蒸馏攻防已从技术讨论升级为真实商业竞争中的核心博弈。

这一争议正是本章 ADFP 框架试图解决的场景——如果有可重复的统计取证工具(如 ADFP 的 p 值检测),指控就不再需要依赖企业的自我声明,而是可以被独立验证。Kimi K3 案例的价值在于:它是开源模型在商业成功中首次被卷入如此规模的蒸馏争议——证明 ADFP 框架的”开权重学生检测”场景不是理论假设,而是正在发生的产业现实。

合规与防御的张力:EU AI Act 第 50 条

EU AI Act Article 50(1)(3)(4) 于 2026 年 8 月 2 日正式生效,要求 AI 生成内容必须标明来源。这与反蒸馏的隐蔽性需求存在本质矛盾:

  • 透明度法规要求”可见”——模型输出必须可追溯到生成源
  • 反蒸馏防御追求”隐形”——水印和扰动不能让攻击者轻易检测和过滤
  • CONNECTOR_TEXT 作为透明度机制恰好可以同时满足两者——加密签名在法规层面提供了可追溯性,在攻击层面则无法被蒸馏方解读

这是”用合规工具实现防御目标”的典型案例——CONNECTOR_TEXT 的设计初衷可能并非反蒸馏,但在此框架下恰好是”透明但不泄露”的最优解。未来欧盟对 AI 透明度的进一步收紧(Article 50(2) 将于 2026-12-02 生效)可能与反蒸馏隐蔽性产生更多摩擦点。

2026 年 4 月,OpenAI、Anthropic 和 Google 通过行业组织 Frontier Model Forum 展开合作,共享安全信息与技术信号,以识别和对抗蒸馏行为。这一罕见的跨公司联盟——竞争对手之间的情报共享——进一步验证了反蒸馏问题的系统性和紧迫性:没有任何一家公司能独立应对这一威胁。


内部版 vs 外部版:详细差异

通过 Feature Flag 和构建时死代码消除,Anthropic 员工使用的 Claude Code 与公开版本有显著差异。以下基于 Claw Decode 和 claudefa.st 的分析:

输出行为差异

行为外部版内部版
回复长度”简洁”工具调用间 ≤25 词,最终回复 ≤100 词
代码注释未限制默认不加注释——只在 WHY 不明显时加
虚假声明防护基础护栏”永远不要在输出显示失败时声称所有测试通过”

内部版的 “≤25 词” 限制非常激进。这意味着 Anthropic 内部使用时,AI 在工具调用之间几乎不说话——直接干活,最后简要汇报。这是一种”专家用户模式”。

验证机制差异

行为外部版内部版
强制验证无要求3+ 文件编辑时强制启动 Verification Agent
REPL 模式可选默认开启

内部版强制验证的阈值是 3 个文件——改了 3 个以上文件就必须经过对抗性验证。这说明 Anthropic 自己在实践中发现,多文件编辑的错误率高到必须强制检查。

功能差异

功能外部版内部版
Undercover Mode构建时剥离公共仓库自动启用
Feature Flags死代码消除全部启用
Git 技能提示词内联指令/commit、/simplify、/commit-push-pr 快捷命令
KAIROS不可用可用
BUDDY不可用可用
ULTRAPLAN/ULTRAREVIEW不可用可用

构建时隔离机制

第 13 章分析了 Feature Flag 系统。这里补充内部版/外部版隔离的具体实现:

Bun 的 feature() 宏

// 构建时,Bun 的 AST 级别死代码消除
if (feature('BUDDY')) {
  // 这段代码在外部版中被完全移除
  // 不是运行时隐藏,是编译时消失
  initBuddySystem()
}

这比运行时 Feature Flag 安全得多:

  • 外部用户的包体积更小(被消除的代码不占空间)
  • 不可能通过 hack 启用隐藏功能(代码根本不存在)
  • 减少攻击面(不存在的代码不会有漏洞)

excluded-strings.txt 扫描器

构建管线中有一个扫描步骤,检查输出产物中是否包含内部代号(如模型代号 Capybara、Tengu、Numbat)。上一章提到的物种名十六进制编码就是为了绕过这个扫描器。


泄露的内部模型代号

源码中意外暴露了多个 Anthropic 内部代号:

代号证据推测
Capybara(水豚)Buddy 物种名、代码注释、十六进制混淆新模型家族(可能是泄露的 “Mythos” 模型)
Tengu(天狗)Feature Flag 前缀(tengu_kairos_cron等)Claude Code 项目内部代号
Numbat(袋食蚁兽)prompts.ts 注释:“Remove when we launch numbat”未发布模型
Fennec(耳廓狐)migrateFennecToOpus 迁移函数Opus 4.6 的内部代号
Penguin内部引用用户所知的 “Fast Mode” 的内部名称

未发布版本字符串:claude-opus-4-7、claude-sonnet-4-8——这些出现在 Undercover Mode 的禁止字符串列表中。


ULTRAPLAN 和 ULTRAREVIEW

源码中还发现了两个重量级的内部功能:

ULTRAPLAN:30 分钟远程深度规划

  • 输入 /ultraplan + 项目描述
  • 在云端启动远程 Claude Code 实例,运行 Opus 4.6
  • 最多运行 30 分钟
  • 本地终端每 3 秒轮询,浏览器 UI 实时监控
  • 可实时批准或拒绝规划步骤

ULTRAREVIEW:多 Agent 并行代码审查

  • 输入 /ultrareview
  • 在云端启动 5-20 个 Agent
  • 每个 Agent 从不同角度审查代码
  • 耗时 10-25 分钟

这两个功能代表了 Claude Code 的一个重要方向:重计算可以远程化。本地 CLI 保持轻量,复杂任务卸载到云端。


对行业的启示

1. 反蒸馏正在成为标配,但当前 output-level 防御的阻止效果有限

Anthropic 已经在主动防御,Google 也已公开确认遭遇蒸馏攻击,反蒸馏正在成为整个前沿模型行业的标配。但 DistillGuard(arXiv:2603.07835, 2026.03)的系统评估揭示了当前防御的局限性:大多数 output-level 防御(包括假工具注入、paraphrasing 扰动)对蒸馏的阻止效果有限;只有 CoT 移除显著损害数学推理(31.4% vs 67.8% 基线),但代码生成不受影响;数据投毒主要损害对话流畅度而非任务特定能力。

这意味着行业需要更根本的解决方案——源码中描述的假工具注入属于 DistillGuard 分类中的”数据投毒”,CONNECTOR_TEXT 属于”信息节流”,两者都是 output-level 防御,对蒸馏的阻止效果是任务依赖的,并不全面。如果你的产品依赖特定模型的输出特征,要意识到这些特征可能因为反蒸馏措施而发生变化。

被动-自适应差距(Passive-Adaptive Gap):DistillGuard 的评估基于被动学生(均匀采样训练),但实际攻击者会自适应筛选高价值样本重加权训练。arXiv:2605.22737(The Distillation Game, 2026.05)的实证数据揭示了这一差距的严重性:

评估模式ADS 防御下学生准确率(GSM8K)
被动学生(均匀采样)34%
自适应学生(高价值样本重加权)52%

修正章节结论:不仅”output-level 防御效果有限”,而且现有评估可能还高估了防御效果。所有反蒸馏进展应针对自适应攻击者评估,而非被动攻击者——否则会给出虚假的安全感。

更结构性的问题:蒸馏迁移的是能力,不是护栏。上述两条讲的是”防御效果有多好”,但即使防御成功,还有一个下限问题。Anthropic 在 2026-09 报告中引述其自有研究,原文为:

“In our own research on distillation, we find that a model distilled from a frontier model can help achieve dangerous capabilities, including those in the biological or cyber domains, even when the harvested exchanges contain little about those subjects. The robust safeguards that prevent Claude from being misused by bad actors do not transfer when our models are distilled by an unauthorized lab.”

两句话各自都重要。第一句说能力会跨任务迁移——窃取的交换里几乎没有生物或网络领域的内容,蒸馏出的模型仍可能在这些领域获得危险能力,因为”a model’s general reasoning ability drives its performance on nearly every task”。第二句说护栏不迁移——阻止 Claude 被滥用的安全措施属于对齐训练的产物,蒸馏复制的是能力与推理模式,不是那套对齐。

两者合起来改写了对反蒸馏失败后果的估计:失败的下限不是”竞品少花点训练费”,而是一个具备前沿能力却未继承对齐训练的模型被发布出来。反蒸馏不能只算作商业保护,它是前沿实验室安全责任链的一环——这也解释了为什么蒸馏会在 2026-09 报告里被列为七大危害域之一,而不是只出现在商业风险章节。

蒸馏攻击的经济学

蒸馏攻击之所以成为系统性威胁,根源在于攻击成本与防御成本之间的极端不对称:

攻击成本:

  • API 调用费用:约 $8 万–$15 万即可提取前沿模型 85%–95% 的能力
  • 马甲账户维护成本:数千至数万美元(注册、身份验证规避)
  • 规避检测的工程成本:持续对抗 API 限速和行为指纹检测的工程投入

被攻击方的成本:

  • 前沿模型训练成本:约 $25 亿–$50 亿
  • 安全防御研发和运营的持续投入

成本-收益比:蒸馏攻击的成本仅为原模型训练成本的 0.001%–0.01%,却能恢复原模型 85%–95% 的能力。这一极端不对称意味着攻击几乎必然持续——无论技术防御如何进步,攻击者的 ROI 始终为正。

这也解释了为何纯技术防御(如 output-level watermarking、假工具注入)效果有限——攻击动机太强,攻击者有充分的资源投入来对抗防御。Thinking Machines 公司 2025 年 11 月发布的研究表明,在线策略蒸馏方法能将模型后训练成本降低 30 倍,数学推理任务中甚至实现计算成本降低 100 倍——蒸馏技术本身也在快速进步,进一步放大了成本不对称。

政策启示:纯粹的技术军备竞赛无法解决根本问题。政策层面(法律追责、API 条款强化、出口管制)与技术创新需要并行。Frontier Model Forum 的情报共享联盟是朝这个方向迈出的第一步,但最终需要法律框架的明确界定——什么构成”违规蒸馏”,以及违规者应承担什么后果。

2. 内部版 ≠ 外部版

使用 AI 产品时要意识到——你用的可能不是”完整版”。Feature Flag 背后可能有大量未发布的功能。这对产品评测和竞品分析有影响:你评测的是阉割版。

3. 构建时隔离是安全最佳实践

运行时 Feature Flag 可以被绕过,构建时死代码消除不行。如果你有需要严格隔离的功能(内部工具、付费功能),考虑 Bun 的 feature() 宏方案。

4. AI 公司的安全悖论

Anthropic 是”安全优先”的代名词,但一周内发生了两次泄露(源码 + Mythos 模型规范)。这说明安全不只是价值观问题,更是工程实践问题——而工程实践总有疏忽的时候。

5. 开源 LLM 的水印可被模型合并移除

闭源厂商可通过 output-level 防御降低蒸馏数据质量,但开源 LLM 必须把水印嵌入权重——而权重水印在模型合并(SLERP / TIES / Task Arithmetic)面前非常脆弱。AI4GOOD @ ICML 2026 论文 Making Open-Source Text LLM Watermarks Durable Against Merging(Scharff et al., ETH SRI,2026)首次系统评估这一风险:SLERP 合并后传统权重水印 TPR@1%FPR 几乎归零。

作者提出 Merge-Adversarial Training——在训练时即把对合并鲁棒性作为对抗目标,SLERP 场景下 TPR@1%FPR 提升 +51pp(平均 +25pp),下游能力不受影响。3 种主流合并算法(SLERP / TIES / Task Arithmetic)的真实场景首次评估。

对使用公共 LoRA 适配器合并的项目(如 Ch10 提到的公共 LoRA 生态)的影响是:传统权重水印在合并后可能不成立——“水印保证”在合并后的保真度成为新选型变量。当你的项目计划合并多个第三方 LoRA 时,需要明确询问”水印是否经过 Merge-Adversarial Training 训练”——否则合并后的水印可被低成本去除。

延伸阅读:claudefa.st 完整泄露分析、Claw Decode 内部版差异、ccleaks.com 逆向工程、Merge-Adversarial Training 论文。


反蒸馏的理论框架演进

本章描述的”假工具注入”和”CONNECTOR_TEXT 加密”是工程实现层面的启发式方法。2026 年,学术界出现了系统性的理论框架,为下一代反蒸馏防御提供了形式化指导:

Stackelberg 博弈建模(TraceGuard)

TraceGuard(arXiv:2604.23238, 2026.04)首次将反蒸馏建模为 Stackelberg 博弈(领导者-跟随者博弈)——教师模型是领导者,先行动部署防御策略;蒸馏者是跟随者,观察防御后调整蒸馏策略。这为此前主要靠启发式方法解决的问题提供了理论基础。TraceGuard 提出高效的 post-generation black-box 方法——对教师推理中高重要性的句子投毒。

推理链重写 + API 水印(Trace Rewriting)

arXiv:2602.15143(2026.02)提出推理链重写框架,同时实现反蒸馏和 API 水印:

  • 学生准确率下降最多 61%(GSM8K/MATH)
  • 教师准确率反而提升最多 22%
  • 同一重写实现近完美水印检测(真阳性 >99%,零误报)
  • 对 paraphrasing 和 regex 过滤攻击鲁棒

这比 CONNECTOR_TEXT 加密更优雅——不是加密/移除推理链,而是重写推理链使其对蒸馏无用但对正常使用无害,同时嵌入可验证的水印。

信息论视角(CMI 最小化)

arXiv:2602.03396 从条件互信息(CMI)角度量化蒸馏相关信息,为”应该保护什么信息”提供了信息论基础。

Product-of-Experts(PoE)实用防御

arXiv:2605.22737(The Distillation Game, 2026.05)提出 PoE 防御——基于 Stackelberg 博弈框架的实践落地。在生成时将教师模型与代理学生模型的概率分布几何混合:

π∗(y∣x)∝πref(y∣x)1−λ⋅πstu(y∣x)λ\pi^*(y|x) \propto \pi_{\text{ref}}(y|x)^{1-\lambda} \cdot \pi_{\text{stu}}(y|x)^{\lambda}

压制教师对学生具有大似然优势的输出。关键特性:

维度PoEADS(对比)
计算开销1.64x(一次额外前向传递)2.93x
梯度计算无需需要
推理轨迹可读性保留部分损失
核心策略降低蒸馏数据的”营养价值”阻止蒸馏

PoE 的创新在于从”阻止蒸馏”转向”降低蒸馏数据的信息价值”——不是加密/移除推理链,而是让推理链对蒸馏者”营养价值”降低,同时保留对正常使用的可读性。

这三个理论工作 + PoE 实用化共同指向一个三阶段演进路径:

  1. 启发式工程(假工具注入/CONNECTOR_TEXT)→ 2. 原则性理论(Stackelberg 博弈/CMI 最小化)→ 3. 实用化落地(PoE 一次前向传递实现博弈最优策略)

PoE 的意义在于证明”理论推导可以产出比启发式更优且更高效的方案”——不是理论取代工程,而是理论指导工程。

防御层的 4 层分类演进

2026 H1 反蒸馏研究的另一条主线是防御层分类的精细化。结合上文 PoE、TraceGuard、CMI 最小化、ADFP 等工作,可以将反蒸馏防御按”信号嵌入的载体层”分为四层——这是对前述三阶段演进(启发式工程 → 原则性理论 → 实用化落地)的并行分类:

  • Token 层(2023 起点):最经典的 red-and-green list 水印(Kirchenbauer et al. 2023),通过 hash 函数 + 密钥把候选 token 分为 green / red 两类,在采样时给 green 列表加分。学生若被检测到”明显偏好 green 列表”则被判为蒸馏。ICML 2026 接收的 ADFP(Antidistillation Fingerprinting,arXiv:2602.03812)是对 token 层水印的范式升级:用代理学生模型估计哪些水印 token 最容易被蒸馏吸收——传统水印是”教师当前输出偏向 green 列表”,ADFP 是”学生未来会更偏好 green 列表”。在 GSM8K、OASST1、MBPP 三类任务上,ADFP 以更小的教师质量损失实现更强的检测置信度,并提供可解释的 p 值(Hoeffding 不等式)。

  • Reasoning-Trace 层(2026 早期):PoE(Stackelberg 博弈最优响应,1.64x 计算开销)、Trace Rewriting(arXiv:2602.15143,推理链重写 + 水印双效合一),主要操作推理链的 token 序列本身。

  • Output 层(章节 Ch23 主体):假工具注入(数据投毒)、CONNECTOR_TEXT(信息节流)、paraphrasing 扰动。作用于最终输出。

  • Interaction 层(2026 H1 新增):Asking Back: Interaction-Layer Antidistillation Watermarks(Yang et al., UCLA + Lawrence Berkeley National Lab + Meta, 2026-05-15)将反蒸馏水印从 token 层上移到 interaction 层——教师通过系统提示间歇性诱导行为标记(明确的追问问题、低频变体、陈述式重述),遗忘的蒸馏者会继承这些行为;防御者通过 LLM-as-judge 黑盒查询审计。在 Llama-3.3-70B-Instruct 教师 + 63 个 LoRA 蒸馏学生的实验(35,343 judged samples)中:

    • 行为水印相对保真度转移:88.9%(Gemma)/ 80.9%(OLMo)/ 45.2%(Qwen)
    • 对抗非自适应 DIPPER 释义攻击:OLMo 保留的水印甚至高于教师自身(teacher-self ceiling ~66.4%)
    • LLM-as-judge 与人类标注的 Cohen’s κ = 0.84 / 0.78
    • N=20 用户研究:所有标记变体在用户体验上差异 < 0.22 Likert 步

    理论意义:token 层水印对释义攻击鲁棒性差(sander2024 已实证),interaction 层从”输出内容”上移到”行为模式”,开辟了新防御面——攻击者即使把输出全部改写,也难以改变模型的”询问倾向”等行为指纹。对源码中”假工具注入”和”CONNECTOR_TEXT”形成有意义的方法学扩展:Anthropic 的 output-level 防御未来可能演化出”behavioral-level”防御——例如让内部版 Claude Code 在回答时习惯性地提出追问,蒸馏者会继承这个行为,Anthropic 即可通过 LLM-as-judge 审计第三方模型。

提示:四层防御不是互斥关系,可以叠加——token 层水印提供”被动统计证据”,interaction 层水印提供”行为级 p 值”,两者结合能让蒸馏检测的”假阳性率 vs 召回率”权衡更优。

四层分类法缺的不是第五层,而是第二个维度(2026-10-01 补)。上面四层是按「信号嵌入的载体层」划分的,默认对象全部是文本 LLM——本章对「多模态」与「MLLM」的命中数此前均为 0。arXiv:2609.20457(Fingerprinting Multimodal Large Language Models,Chao Huang、Tong Meng、Chen Kejiang,2026-09-17 提交)指出了一个层次维度覆盖不到的失效模式:

“Existing solutions for model provenance are typically confounded by shared language backbones in MLLMs and struggle to detect violations of distillation.”

也就是说:两个 MLLM 共用同一个语言主干时,现有的溯源方案分不清「这是谁的模型」。这不是「某一层没覆盖到」的问题,而是分类法本身的坐标少了一个轴——你按层次分得再细,也回答不了「跨模态输出怎么溯源」。该工作自称首个多模态模型指纹研究,给出两条路径:AttnPrint(白盒溯源,受「自注意力是低通滤波器、且其低频分量富含信息」这一发现启发,提取跨模态注意力分布并分离其低频分量作为指纹)与 DistillTrace(黑盒审计,对 MLLM 输出做假设检验)。

⚠️ 写法与作用域:论文标题是 Fingerprinting Multimodal Large Language Models——AttnPrint / DistillTrace 是方法名,不是论文名。本条只核验到摘要层(标题、日期、方法定位经 abs 页核过),实验数字未核,故本段不引任何数字。

与 Caliber 那一节串起来读(本章此前两处互不相认)。本章在「第三前沿:Caliber 输出扰动」一节已经做过一次适用域纠正:Caliber 面向的是返回分数的 MLaaS 服务,而不是自回归文本生成——当时给出的结论是「这条路径目前只在返回分数的服务上被形式化证明,文本生成场景的对应工作仍待补充」。

这两处其实是同一个问句的两次出现:当输出不是自回归文本时,水印该怎么办? 第一次的答案是「输出形态不同」(分数 vs token 序列),第二次的答案是「模态不同」(跨模态 vs 纯文本),且第二次还多了一层 MLLM 特有的混淆(共享语言主干)。把它们合起来,可以提出一个比「四层」更一般的判据:

反蒸馏防御的分类不能只按「载体层」划,还要看「输出形态」与「模态」。 四层分类(token / reasoning-trace / output / interaction)回答的是「信号嵌在哪一层」,但它隐含假设了「输出是自回归文本」;一旦输出变成分数(Caliber)或跨模态(MLLM),这个假设先失效,层内方案随之失效。先判输出形态与模态,再判载体层——这是本章四层分类法应当补上的前置步骤。

✅ 框架复核(2026-10-01):截至本日,未发现推翻上述四层分类的新工作。本轮纳入的两篇(TwinMark、Fingerprinting MLLMs)均为扩展而非反驳。

事后取证维度:ADFP 框架

前述四层分类聚焦”事前/事中”防御——在生成时嵌入信号。但 2026 H1 出现的 ADFP 框架补全了事后取证这一独立维度——即”事后如何证明某个第三方模型是通过蒸馏学习了本方输出”。

传统 token 水印是”输出水印”——信号嵌入教师当前输出,但教师对”学生是否真的吸收”不可知。ADFP(arXiv:2602.03812,ICML 2026 接收,8 作者:Yixuan Even Xu, John Kirchenbauer, Yash Savani, Asher Trockman, Alexander Robey, Tom Goldstein, Fei Fang, J. Zico Kolter)使用代理学生模型估计哪些水印 token 最容易被蒸馏吸收——将”输出水印”转化为”模型指纹”:只需一组评估上下文 + 同一密钥即可检测学生是否在该教师输出上微调。

ADFP 的关键工程意义:

  • 可解释 p 值:基于 Hoeffding 不等式给出统计假设检验
  • 开权重 / 闭源学生两种评估场景都支持
  • 三类任务验证:GSM8K(数学)/ OASST1(对话)/ MBPP(代码)Pareto 改进
  • 公开代码:github.com/YixuanEvenXu/antidistillation-fingerprinting

对开源社区的意义是:即使你没有 Claude 这种规模模型的访问权,也可以用 ADFP 框架事后检测自家小模型是否被某个已水印的大模型蒸馏——这让”小模型 vs 大模型”的版权诉讼获得了”可重复的取证工具”。

6. 权重水印可对 extraction attack 做 rehearsal 增强

T2S(Teacher-to-Student, arXiv:2606.11698)提出 rehearsal-based 水印嵌入框架——在教师模型训练时即模拟 extraction attack,用代理学生模型的 trigger set loss 作为额外训练信号微调教师的水印知识。这使得水印在经历真实 extraction 后仍保持可检测性。

T2S 与章节中已有的两个方向形成互补,构成权重水印鲁棒性的三维度:

  • 合并鲁棒性(Merge-Adversarial Training):应对 LoRA 合并场景
  • Extraction 鲁棒性(T2S):应对模型蒸馏/提取场景
  • 事后取证(ADFP):在检测阶段提供可解释 p 值

三个维度覆盖了开源 LLM 权重水印面临的主要攻击面——模型合并、模型提取、以及检测置信度。

这三个维度之前还缺一个前置维度:目标覆盖度(2026-10-01 补)。上面三条都在问「水印在某一种攻击之后是否还活着」,但还有一个逻辑上更靠前的问题:你的水印是否覆盖了对手实际会使用的那个蒸馏目标。

TwinMark(arXiv:2609.19011,Steal the Knowledge, Inherit the Mark: TwinMark for Distillation Watermarking via Second Moments and Class Multiplexing,4 位作者:Redwanul Karim、Tobias Feigl、Christopher Mutschler、Felix Ott)把这一点说得很直接:

“Knowledge distillation can copy a deployed model by training a student on its logits or features. The student inherits a watermark only through the output it imitates. Both outputs therefore need a mark, yet most distillation watermarks cover only one.”

即:学生只能通过它所模仿的那个输出继承水印——只标记 logits 就对 feature 蒸馏完全无效,只标记 feature 就对 logit 蒸馏无效。 TwinMark 的做法是把同一个秘密载荷分别写进每种蒸馏目标各自保留的东西里:归一化特征的二阶矩(second moment) 与 类均值 logits(class-mean logits);两种标记都用线性读出,在固定审计输入上给出比特恢复的充分条件,检测则在声明的零假设下单独检验。

它最有说服力的恰恰是一组负面结果(十种子 CIFAR-100 研究):二阶矩界在每一个 feature 蒸馏学生中认证 50–60 / 64 比特,而 pointwise 界与被评估的 logit 界认证 0 比特。代价为:教师损失 1.3 个准确率点,被审计的 feature 蒸馏学生的嵌入损失 4.4 个最近邻点。

落点:用错了界,水印等于没有。这给本章已有的判断「水印存在 ≠ 水印可认证」补了一个可量化的例子——不是水印被攻击磨掉了,而是它从一开始就没长在对手真正会去读的那个输出上。

⚠️ 两条必须随文保留的限定:

  1. 作用域:这是 CIFAR-100 十种子的视觉分类研究,而上面三维度讲的是开源 LLM 权重水印。两者方法论相关、作用域不同——不得写成「LLM 场景已验证」或「覆盖度问题已解决」。论文自己的收尾句也做了同一方向的限定:“These results establish output-matched inheritance under the evaluated protocols, not resistance to all utility-preserving transformations.”
  2. 时点:v1 = 2026-07-18(早于本章 updatedDate),v2 = 2026-09-26。若称「2026-09 新论文」,指的必须是 v2;检索摘要中出现的「2026-09-17」是错误日期。严格说这属于「本月有实质更新」,而非「本月新出现」。

✅ 框架复核(2026-10-01):截至本日,未发现推翻上述三维度框架的新工作;本轮纳入的 TwinMark 与 Fingerprinting MLLMs 均为扩展而非反驳。TwinMark 补的是第四个轴(目标覆盖度),不是对合并/Extraction/取证三维度的修正。