Google 花几年做的隐形水印,被一个大一数学公式干掉了
Google DeepMind 花了好几年,搞出一套叫 SynthID 的隐形水印系统。原理是在 Gemini 生成的每张图、每段文字里嵌入肉眼不可见的标记。你看不到,截图删不掉,JPEG 压缩也磨不掉。
Google 的蓝图是:所有 AI 生成的内容都打上这个标记,平台侧一检测就知道真假。听起来是个能终结"AI 内容泛滥"焦虑的终极方案。
然后有人拿出了"X 光机"。
一个研究者在 GitHub 上发布了 reverse-SynthID 项目(github.com/aloshdenny/reverse-SynthID),不用 Google 的编码器,也不用解码器,纯靠傅里叶变换——一种最基础的信号分析工具——就把水印从图片里完整剥离了。
效果怎样?处理后图片 PSNR 43+ dB——肉眼完全看不出变化。但 SynthID 检测器已经失灵:相位相干性下降 91%,水印等于不存在。检测准确率 90%,意味着十张水印图里能认出九张,然后把九张都洗干净。
这件事真正值得关注的不是"SynthID 被破了"——安全方案被破,天天发生。值得关注的是:为什么它注定会被破?
SynthID 在做什么
说人话。
一张图片可以被拆解成一组频率信号。低频对应大面积色块,高频对应细节纹理。SynthID 做的事是在特定频率上偷偷添一点能量,主要集中在绿色通道。这些额外能量极其微弱,肉眼察觉不到,但检测器能读出来。
相当于:在一幅画的纹理暗纹里,用只有你的仪器才能看到的"墨水"写了暗号。
暗号是怎么被找出来的
<figure><img src=“images/01-watermark-attack-flow.png” alt=“watermark-attack-flow”></figure>
reverse-SynthID 的方法巧妙到有点不公平。
第一步,让 Gemini 生成一批纯黑和纯白的图片。这些图没有任何内容,但 SynthID 照样往里嵌了水印。第二步,对这些参考图做傅里叶变换。纯色背景下,水印载波在频谱上无处遁形——就像在一张白纸上用隐形墨水写字,紫外线灯一照,字迹全部现形。
定位到载波频率后,在目标图片的频谱上精准删除对应的频率分量。手术刀级别的操作,周围像素几乎不受影响。
V3 版本更狠:不同分辨率的图,载波出现在完全不同的位置——1024×1024 的在低频 (9,9),1536×2816 的在高频 (768,704)。作者做了一个多分辨率 codebook,每种尺寸的水印指纹单独建档,移除时自动匹配。
你生成什么尺寸的图,他就有什么尺寸的钥匙。
为什么这不是 bug,而是死结
到这里你可能想:Google 把载波位置换了、加密一下、频繁轮换——不就解决了?
解决不了。因为这里有一个绕不过去的对称性。
<figure><img src=“images/02-frequency-domain-symmetry.png” alt=“frequency-domain-symmetry”></figure>
你在频域嵌入信号,我用频域分析就能看到。
类比:隐形墨水写信,正常光线下看不见。但对方有紫外线灯——你写了什么、写在哪、用什么笔,灯一照全暴露。傅里叶变换就是信号世界的紫外线灯,它的全部功能就是回答一个问题:“哪个频率上出现了不属于原始信号的东西?”
Google 可以加密载波模式,可以混淆嵌入位置。这会增加攻击成本,但改变不了根本事实:嵌入点就是攻击面。
你藏在频域,攻击者在频域找。换到小波域,攻击者跟着换。加噪声掩护,攻击者做统计分析。
这不是 Google 的工程做得不好,这是所有"在内容本身里藏信息"的水印方案,都逃不开的信息论困境。密码学有句老话叫"安全不能靠隐藏算法",水印面临的局面比密码还糟——它的"密文"就是图片本身,而图片是完全公开的。攻击者拥有你的全部输出。
我的判断是:嵌入式水印能拦住随手转发不标来源的普通人,但对有意对抗完全无效。偏偏有意对抗——大规模洗稿、深度伪造——才是真正需要防的场景。
还有别的路吗
有一个思路完全不同的方案叫 C2PA(Coalition for Content Provenance and Authenticity),Adobe、微软、BBC 在推。它不碰图片像素,而是在文件元数据里做签名认证——给每张图发一张"出生证明",记录是谁、用什么工具、什么时候生成的。
区别一句话说清:
- 水印 = 在你脸上纹身份证号(可以磨,但得花力气)
- C2PA = 给你发一张实体身份证(可以扔,但伪造难度高得多)
C2PA 也不是银弹。截图就没了,元数据可以被剥。但它的安全模型有一个水印不具备的优势:它不假装自己不可移除。它把重心放在平台执行——如果平台规定"没有签名的内容默认标记为来源不明",那主动剥离签名本身就变成了可疑行为。
更现实的方向可能是组合拳:平台默认标记 + 元数据签名 + 法律追责。三条腿走路,不指望哪一条腿能单独扛住。
写在最后
说到底,AI 内容标记真正要防的是什么?
不是有心人。有心人绕什么方案都有办法,你加一百层水印他也能拆。
要防的是无心传播——有人随手转了一张 AI 图,没标来源,下一个人信以为真。对付这种场景,不需要"不可破解的水印",需要的是默认标记:每张 AI 图自带标签,你要去掉得主动操作。去掉本身就是有意识的行为,至少排除了"不知道"这个借口。
追求"绝对不可移除"的水印,是在用一个数学上不可能的目标,去解决一个产品设计就能搞定的问题。
从起点就走偏了。
你觉得 AI 生成内容应该强制标记吗?靠技术水印、平台规则、还是法律? 评论区聊聊。