AI水印在纯文本中的隐藏位置(5分钟阅读)

TLDR AI 新闻

摘要

Anthropic 宣布将对所有 Claude 文本输出添加水印,这种水印嵌入在词语选择中而非字节中,几乎无法察觉;本文分析其工作原理以及文本水印可以隐藏的层级。

可以在模型权重中隐藏水印。
查看原文
查看缓存全文

缓存时间: 2026/08/12 20:20

# AI 水印能藏在纯文本中的哪里 来源: https://danielmiessler.com/blog/where-watermarks-hide-in-text Anthropic 不愿透露其文本水印的工作原理,所以这里说明它藏在哪里,以及如何去除它 2026年8月11日 文本水印可能存在的四个层次示意图,从编码到意义,两种绕过方式(规范化再生成和文本重写)划掉了它们所去除的层次(https://danielmiessler.com/images/where-watermarks-hide-in-text-layers.webp) 2026年8月11日,Anthropic 表示将开始为 Claude 生成的所有内容打上标记。对于图像和其他文件,它使用 C2PA 标准附加带签名的来源元数据。对于纯文本,它添加了公司所称的不可感知水印,即使复制粘贴到其他地方,这种水印也会留在文本中。 公告从未说明文本版本的工作原理。Anthropic 没有发布算法,也没有发布检测器,也没有描述水印基于什么。我下面整理的一切都是基于公司所说的少量信息以及这类方案通常的行为方式进行的重构。 文件版本很简单。C2PA 清单是附加在文件上的签名,一旦有人截取图像或将其转换为另一种格式,它就会脱落。文本版本是 Daniel 认为不可能存在的那种。 ## daniel 的异议 (https://danielmiessler.com/blog/where-watermarks-hide-in-text#daniel-s-objection) > 文本就是文本,所以当你复制文本时,水印可能通过什么途径存在?如果你使用最原始的、间距统一的纯 ASCII——这是行业标准——那么字面上就不可能有水印。——Daniel 关于纯 ASCII,他说得没错。一个只包含 7 位字符和单个空格的文件没有任何剩余空间来编码任何东西,两个打出相同句子的人最终会得到逐字节相同的文件。我用一个读取每个字符码点的脚本检查了 Claude 自己的输出,没有发现任何隐藏内容:码点都是普通的可打印 ASCII,没有零宽字符,也没有异常间距。 这种反对意见假设水印必须存储在字节中,但它同样可以存储在模型选择下一个要写的单词的过程中。 ## 它可能藏在哪里 (https://danielmiessler.com/blog/where-watermarks-hide-in-text#where-it-can-hide) 模型写的每一句话都是一连串的选择。在每一步中,有几个词都可行,而模型会确定其中一个。这些选择就是水印可以植入的地方,它们按在文本中的深度排列。示意图中的四个层次从表层的原始字节一直延伸到底层的意义。越深层的标记越难去除。 上面两层就是 Daniel 所想的。你可以把比特埋在编码中,使用零宽字符或与我们看起来相同的其他字母表的字母,也可以埋在格式中,比如换行的位置。一旦文本被强制恢复为纯 ASCII,所有这些都会消失,这就是为什么真正的水印方案不使用这些层次。 符合 Anthropic 描述的是第三层:用词选择。你给模型一个密钥,在每一步它会略微倾向于该密钥偏好的词。对普通读者来说,文本看起来正常,但任何拥有密钥的人都可以从统计上衡量这种倾向并证明其存在。因为信号由词汇本身承载,所以它能在复制粘贴后存活;又因为编辑会替换词汇,所以它会随着文本被修改而减弱。Kirchenbauer 的绿色列表方法和 Google 在 Gemini 中使用的锦标赛采样是两种公开的实现方式。 这些都是推断。Anthropic 没有说明它使用了哪一层、算法是什么,或者标记有多强,所以真正的方案可能埋得更深,位于第四层——信号存在于意义中,能够经受轻微的改写。也可能是某种尚未被公开描述的东西。没有可运行的检测器,公司之外没人能确定。 ## 如何去除它 (https://danielmiessler.com/blog/where-watermarks-hide-in-text#how-to-strip-it) 同一张图也展示了如何去除标记,使用两种作用在技术栈两端的方法。 第一种方法通过一次干净、确定性的处理重建文本,输出纯 ASCII,然后验证没有其他东西残留。Daniel 是这样描述的: > 使用单独的方法对文本进行完整的净化再生成,生成经过验证的规范化纯 ASCII 纯文本格式。——Daniel 一旦输出是间距规范化的纯 ASCII,隐藏在编码或格式中的任何东西都会消失,因为格式不再有空间容纳它。不过,词汇本身保持不变。 要触及词汇本身,则需要重写: > 如果内容本身构成风险,那么也可以对文本本身进行重写。——Daniel 你每次替换一个词,都会去除一部分统计信号,而彻底的改写会去除足够多,以至于检测器找不到剩余痕迹。两种处理都运行一遍,就覆盖了整个技术栈。 当由另一个 AI 执行重写时,这种方法有一个问题:结果是让 Claude 的水印换成了那个模型的水印,而不是清除它。真正不留痕迹的改写必须来自实际重新思考文本的人,而这种情况下这种检测从一开始就是看不到的。 ## 这证明了什么 (https://danielmiessler.com/blog/where-watermarks-hide-in-text#what-it-proves) Anthropic 对一点非常谨慎,这一点很容易被夸大。检测到标记意味着文本在某个阶段经过 Claude 处理;但这并不意味着是 Claude 写的。如果你粘贴自己的一段话,让 Claude 修改语法,输出可能会带有标记。而没有标记也不能说明任何问题,因为短段落、编辑过的文本以及旧模型的输出都是干净的。 因此,水印所支持的最强说法是:机器在某个时刻接触过这些文字。它无法说明是谁写的,或者有多少工作是由机器完成的,即使是这种说法也依赖于一个 Anthropic 之外没人见过的检测器。 #### 备注 大约29.8059年来,我一直在这里无广告写作——已有3083篇文章和教程,而且还在增加。如果它对你有用,每月或一次性捐赠可以让我继续下去。🫶🏼 ### 每月 ### 一次性

相似文章

Anthropic表示将为其AI模型生成的文本添加水印

TechCrunch AI

Anthropic宣布将为其AI模型(包括Claude)生成的文本添加水印,以符合欧盟《人工智能法案》的透明度义务。水印在模型层面应用,复制粘贴后依然保留,并对文件使用C2PA标准。

Claude 的新“红字”水印暂时不可见

Ars Technica

Anthropic 宣布将对其 Claude 模型处理的所有内容(不仅仅是 AI 生成的文本)添加隐形水印,以符合欧盟《人工智能法案》。这种“焦土”式做法可能连仅经过轻微编辑的人类文字也会被打上标记,引发对过度干预和恶意行为者易于规避的担忧。

AI文本水印的工作原理

Hacker News Top

一份温和的视觉化讲解,说明统计水印如何通过微妙地偏向令牌选择,在AI生成的文本中隐藏秘密标记,以及编辑如何能抹除它。