
新智元报道

就在刚刚,Anthropic的护城河被踩碎了。
今早,一个去水印神器代码库在GitHub上彻底爆火,狂揽11,000颗星!

Github项目:https://github.com/guillaumemeyer/watermarks-remover
它采用MIT开源协议,不仅能抹除Claude的水印,还让的SynthID-Text和OpenAI的隐形标记也难逃一劫。
更狠的是,连图像和PDF文件中的C2PA鉴权数据、EXIF,它也能清得干干净净。
本来,就在上周,Anthropic还在高调炫技,发了一篇洋洋洒洒的官方博客,详细拆解了引以为傲的「文本水印追踪技术」。
没想到才没过几天,回旋镖就打到自己头上了。

面对这个项目,开发者们一致叫好。大模型的水印防线,就这样被一脚踩碎了。

项目发起人,AI初创Memo的创始人
Anthropic的「绝对防御」
偷换概率的隐形魔法
要理解这个开源神器的厉害之处,我们首先得看看Anthropic在官方博客里,是怎么吹捧自家水印技术的。

根据Anthropic工程师的解密,Claude的文本水印堪称「AI圈最反直觉的秘密」。
在过去,给数字内容加水印:要么在图片上盖个半透明Logo,要么在文本里塞几个肉眼看不见、但机器能读出来的「零宽字符」。
这种初级手段,懂点代码的人用正则匹配一秒钟就能删干净。
但这次,Anthropic采用了基于谷歌的SynthID-Text 方案。这是一种「统计型文本水印」。

LLM生成文字的本质是「词接龙」。每次吐出Token,都是做概率选择。

Anthropic的黑科技就在于:偷偷换掉了这个「骰子」。他们把原本真正的随机数,替换成了基于官方密钥和前文内容的「哈希值」。

他们在官方博客里这样打比方:
想象大家在玩大富翁,原本是靠掷骰子决定走几步。现在,官方偷偷把骰子换成了一本《圆周率》。玩家每次走几步,直接按照圆周率小数点后的数字来。
对于玩家来说,每次的步数依然是「随机」的,文本质量没有任何下降。但只要官方事后拿着那本《圆周率》(密钥)去核对你的步数轨迹,就能瞬间抓包:「嘿,这段话是你用Claude生成的!」
Anthropic自信满满地表示:没有额外Token消耗,没有隐藏字符。
只要你不把逐字重写,哪怕你做轻微的修改,这个统计学上的「圆周率轨迹」依然存在,水印就永远洗不掉。

对此,开源社区给出的答案是:既然你逼我重写,那我就用魔法打败魔法!
魔高一尺道高一丈:GitHub神器的「三层扒皮法」
面对Anthropic的「绝对防御」,这个 watermarks-remover 项目展现出令人惊叹的工程美学。
它不仅仅是一个简单的脚本,而是一个「Agent Skill + 标准Python服务」的复合体。
它通过HTTP驱动底层的清洗引擎,完美避开了本地环境的繁琐配置。
为了彻底抹除巨头们的标记,开发者直接祭出了「三层扒皮法」加「图像深度净化」。

第一层:手撕物理级隐形魔法
尽管Anthropic宣称自己不用隐藏字符,但市面上依然存在大量物理层面的标记。
watermarks-remover 的 Layer A 会进行极度深度的文本卫生清理。
它不仅清理常规的Invisible Unicode(隐形Unicode字符),连特殊的空白符、双向文本控制字符等一切可能携带Payload的隐藏字符,都会被清理。
而且,这步操作是完全无损的。

第二层:针对SynthID的终极必杀——「代理重写洗稿」
Anthropic和谷歌的SynthID-Text把水印藏在了「词汇分布的统计规律」里,怎么破?
作者在项目中一针见血点出关键:「剥离统计学水印需要重写文本的很大一部分——是逐句重写,而不是逐段重写。」
既然人力重写太累,那就让Agent来干!
Layer B 的核心逻辑,是引入一个非源头模型作为清洗引擎。
比如,如果你想洗掉Claude的水印,系统会调用本地的Ollama运行Llama 3,或者调用其他的API。
它使用特定的Prompt,在尽可能保持原意和专业术语的情况下,对文本进行大面积的释义和回译。
既然Claude用圆周率走位,那Layer B就直接掀翻棋盘,用Llama 3的概率分布重新走了一遍。这彻底破坏了原文本的统计学特征,让Anthropic的密钥直接抓瞎。
当然,作者也承认:这会给文本带来一定程度的降级。

第三层:文件级元数据大清洗
另外,Anthropic还会给生成的图片(PNG/JPEG/SVG)和文件(PDF/DOCX/HTML)加入C2PA鉴权数据。
对此,Layer C 展现了极强的「拆弹能力」。它支持几乎所有主流格式,精准定位文件中的C2PA、EXIF、XMP乃至DOCX/PDF的文档属性,并将其直接剥离。
尤其值得一提的,是它的防御性设计:以前的旧版本如果不小心把图片当作文本去处理,会导致文件损坏。
现在的更新中,系统能通过扩展名和Magic Bytes自动检测文件类型,文本工具会自动拒绝二进制输入,极其优雅。

还有硬核的:图像像素级洗刷与MarkLLM验证机制
如果你以为,这个项目仅仅是洗洗文本和文件属性,那就太小看它11,000星的含金量了。
它在图像像素级脱水和科学验证上,同样做到了极致。
首先,它对像素级图像水印进行了暴力重构。
像谷歌的SynthID-media、StegaStamp、Tree-Ring这类图像水印,是直接把信号打进像素频域里的,清掉EXIF根本没用。
为此,项目中集成了极其硬核的外部后端:
CtrlRegen 引擎:它使用了25年ICLR最新技术,结合了ControlNet和DINOv2 IP-Adapter。

简单来说,它不是在原图上涂抹,而是「受控地重新生成」一张高度相似的图。对于大于512x512的图片,它会自动进行重叠分块、处理后再平滑拼接。
这等于把带水印的大楼拆了,用同样的图纸原地重建了一栋,水印自然灰飞烟灭。
MarkDiffusion验证与净化:它内置了一个针对扩散模型的盲重生成攻击,来清冼像素水印。
而且,过程中完全不用靠猜,它会用MarkLLM进行「科学靶向验证」。
这个项目最让人叹服的点在于:它不凭感觉说「我删掉了」,而是引入了清华大学主导的开源框架 MarkLLM 和 MarkDiffusion,作为验证harness。

这实在太极客了。
它会在本地进行一场「左右互搏」:先用KGW机制给一段文本打上水印,然后用 Layer B 引擎清洗,最后再用 MarkLLM 尝试检测。

如果检测器报出「未发现水印」,才证明清洗已闭环!
Claude死活不删,中国大模型秒搞定
有趣的是,实践中还出了一件好玩的事。
有网友尝试让Claude自己运行这个项目的插件,帮自己清除标记。
结果,Claude直接拒绝了。

无论用户怎么苦口婆心地解释:「这是我自己的内容,我拥有版权,我只是不想要这些水印」,Claude依然像个冰冷的机器一样无情拒绝。
Anthropic显然在底层协议里写死了限制,禁止自家AI协助用户移除这些「监管标记」。
结果,被惹毛的用户转头就把插件装到了其他中国大模型身上。结果秒装成功,把水印彻底清洗。
我们为什么如此反感「赛博烙印」
这个项目为什么会火得一塌糊涂?因为它切中了全球用户的痛点:强买强卖的「赛博烙印」。
在这11,000多颗Star背后,是全网开发者对大公司傲慢的集体反击。

事情的起因,是Anthropic为了讨好欧盟,遵守那部严苛的《欧盟人工智能法案》。
欧盟规定:如果你在欧盟提供AI服务,就必须让人能检测出内容是不是AI生成的。
本来,这只是欧盟的规矩。但Anthropic却十分简单粗暴:既然我没法精准区分谁在欧洲,那我就给全球用户全部打上水印!
哪怕是付费用户,也没有关闭这个功能的选项。
网友们瞬间炸锅了:「欧盟自己搞出来的监管焦虑,凭什么让全世界几十亿人买单?」

使用一个工具,并不意味着这个工具就是作品的创作者。
回顾历史,人类的思想一直需要「第二双手」来落到纸面上。
爱因斯坦有助手,达尔文有记录员,但这群打字员、书记员,从来不会留下水印。

今天,AI只不过是一个掌握了庞大语言资源的超级打字机。很多人花了几十个小时阅读、构思,只是最后让Claude润色一下。
而Anthropic却表示:只要AI参与了一丁点,这件作品的「纯洁性」就被污染了。
原本是人类支配工具的过程,彻底被颠倒成了——人类需要向工具证明「我才是真正的作者」。
目前,这场猫鼠游戏远未结束。
watermarks-remover 的作者也坦言,直到各大厂商公布官方的检测器和密钥之前,所有的去除手段都只能说是最大努力。
但这正是开源社区的魅力所在——不盲从巨头,用代码捍卫控制权。
参考资料:
https://claude.ai/code/artifact/803916fd-3bc1-465f-8738-d4ece6fc5071
https://x.com/BrianRoemmele/status/2088983734473339077
编辑:Aeneas 大卫