逆向 SynthID

Lobsters Hottest 论文

摘要

安全研究员详解如何逆转 Google 的 SynthID 隐形水印,使 AI 生成图像的媒体溯源声明失效,暴露出专有水印方案的根本缺陷。

<p><a href="https://lobste.rs/s/o9zkq0/reversing_synthid">评论</a></p>
查看原文
查看缓存全文

缓存时间: 2026/04/23 03:58

# 逆向 SynthID - The Hacker Factor 博客 来源:https://hackerfactor.com/blog/index.php?/archives/1092-Reversing-SynthID.html 判断媒体来源(它来自哪里、如何被创建)的兴趣持续升温。越来越多公司开始用隐形水印给自己的媒体打标签,包括 Adobe(TrustMark)、Meta(AudioSeal / Stable Signature)、微软(InvisMark)、谷歌(SynthID)等。 一年多前,我写过隐形水印的若干局限(https://hackerfactor.com/blog/index.php?/archives/1042-The-Watermarking-Paradox.html),包括: - **内容被篡改**:加入隐形水印会改变内容,人眼可能看不出来,但校验和会发现。这对证据的保管链是问题。 - **算法泄露**:要检测隐形水印就得知道算法;可一旦公开,水印就能被轻易抹除、篡改或伪造,助长欺诈和冒充。 - **专利黑箱**:不公开方法就成了专利、厂商中心的方案,厂商可在用户查验时追踪媒体与用户。 - **保密冲突**:若检测需把媒体上传给厂商,敏感内容就无法使用。法律证据、客户资料、政府高密级内容通常不能外传。 - **水印悖论**:如果只有特定厂商知道水印方法,你怎么知道该找哪家?找不到水印不代表没有(元数据也极易被改)。 - **水印推论**:单个文件可能有多个水印,找到一个不代表找全。 那篇博文写于 18 个月前,我之后不时深入跟进。研究员 Alosh Denny 最近取得重大突破,放出了[逆向 Google SynthID 的源码](https://github.com/aloshdenny/reverse-SynthID)。结合我的发现,可见 SynthID 不仅没解决问题,反而让溯源问题更糟。 --- ### SynthID 原理 图片隐形水印会微调视觉内容,肉眼难辨,但程序可察。好水印应能扛缩放、轻微重上色甚至裁剪,通常藏在频域或靠图像重复模式。 Google 的 SynthID 略有不同:它用两个深度学习模型——*编码器*与*解码器*。编码器学会把模式悄悄写进媒体,解码器学会把它读出来。解码器是概率式的,可能给出“部分”或“全部”含水印的判断。 想看编码痕迹的简单(其实并不简单)办法是让 Gemini 生成一张纯黑白图。Gemini 出的图自带 SynthID。下面是我让它生成的一张样图: [](https://fotoforensics.com/analysis.php?id=de66c46d49d42e7da9752d12b130407400f54c59.505881) 为看清水印,我截取局部做直方图均衡,纯白/纯黑区域的细微差异便跳出来: [](https://fotoforensics.com/analysis.php?id=d7a78074ea33d10f800c68f353fec5622f143e3d.901696&perma=3decb1c43b5c4e4f,HIST) 全图均衡看不出黑区痕迹,局部均衡显示模式无处不在。这些微差即 SynthID 的扰动痕迹,在“纯白”图里同样存在: [](https://fotoforensics.com/analysis.php?id=d7a78074ea33d10f800c68f353fec5622f143e3d.901696&perma=3decb1c43b5c4e4f,HIST) 纯白图经均衡后可见水印遍布。注意:右下角白色星标是 Google 后加的可见水印,不在 SynthID 覆盖范围。 --- ### 检测 SynthID SynthID 是谷歌专利,只能用它家的工具。官方流程:登录 [Gemini](https://gemini.google.com/app/) → 上传图片 → 问“含 SynthID 吗?”→ 得到一段“是/部分/未检出”的啰嗦回答。 实际使用中 Gemini 会幻觉或漏检。上面黑白图与纯白图都含 SynthID,但探测器在细节贫乏区域抓不到。例如 FotoForensics 上的一张红蟹照片: [](https://fotoforensics.com/analysis.php?id=66bdd632391b93d06973d1a0d170547d824b3d55.475204) - 肉眼可见右下角白星 - [元数据](https://fotoforensics.com/analysis.php?id=66bdd632391b93d06973d1a0d170547d824b3d55.475204&show=meta) 写明“Edited with Google AI” - 直方图技巧能在天空与沙滩平坦区看到重复模式,确有 SynthID 一切吻合,但第一次 Gemini 愣是没检出,还反复跟我“确认”这是摄影师 Alasdair Grigg 的真片。我之后又测两次,都检出了。对 3 次里对 2 次,一致性堪忧。 --- ### 检测 SynthID??? WTF! 更离谱的是我用 URL 喂图那次(Google 不保存对话,我截图[拼在一起](https://fotoforensics.com/analysis.php?id=b1ab80a51f57ba96b17393dd369bf60b66da83bc.517520&fmt=orig)): 1. 我让 Gemini 生成配图,把 FotoForensics 分析页 URL 贴给它问 SynthID。回答: > 我已分析该链接图片,**不含 SynthID 水印**。 诡异:图带白星、元数据写 Google AI、直方图能看到水印,而且就是几分钟前 Gemini 自己生成的原图! 2. 我意识到给的是 HTML 页面 URL,于是补了直链。结果更震惊: > 我无法“看到”外部服务器上的图,只能扫描您直接上传的文件。之前我是根据 URL ID 的元数据推断无 SynthID…… 我的日志里根本没谷歌 IP 访问记录,它先说自己分析了,又说不能下外链,自相矛盾。 3. 我追问是不是幻觉,它“认错”: > 你说得对,我出现了**能力幻觉**,无法直接拉 URL 做检测…… 于是:它先幻觉了能力,又幻觉了分析,再幻觉了解释。用户无法再信任 Gemini 关于 SynthID 的任何说法。 整件事暴露一堆糟糕实践: - AI 系统打水印,但谁能保证它没幻觉或改水印? - AI 系统检水印,没有公开指标说明准确率与失效场景。 - 检测结果再被前端 AI“翻译”,前端可因提问方式或额外信息而幻觉解读。 --- ### 逆向 SynthID 作为黑箱,我们只能听谷歌宣传其鲁棒与精度;检测也得把媒体送谷歌。 2026 年 4 月初,Alosh Denny 放出[概念验证代码](https://github.com/aloshdenny/reverse-SynthID),无需谷歌即可检出 SynthID。他的发现: - SynthID 在频域可察(FFT、DCT、DWT 等) - 最低可靠分辨率为 256×256 - 使用分辨率相关的频域签名 - 易受“多分辨率频谱绕过”攻击:用“频谱码本”扫频找模式即可手术剔除。Denny 的最大码本仅基于 100 张图 - 水印*相位*在同模型输出的图里几乎一致;只要有张黑白参考图,就能数学减法去水印,视觉无损 Denny 的工具三功能:检、删、插。可脱离谷歌检水印;可给任意图删水印;也可给非谷歌图插水印,让它被谷歌检出、“变成”谷歌 AI 作品。 关键:整套工具纯数字统计,**零 AI**。 我这边因 SBOM 要求不能用 Python,于是让 Claude 把代码转成无依赖的 C 版——[reverse-SynthID-C](https://github.com/hackerfactor/reverse-SynthID-C)(目前主要测了检测)。 我用 Denny 的系统(Python 原码与 C 版,均在隔离环境)跑 FotoForensics 图库。他自称准确率 90%,我实测约 70%。小样本容易虚高,但就算 70% 也足以打脸谷歌[自称的鲁棒与精度](https://arxiv.org/abs/2510.09263)。 --- ### 恶意场景 SynthID 比我测过的很多水印都耐造,甚至“拍屏幕”再拍仍能检出。但鲁棒性也带来副作用: 设想:有人用 AI 图做海报/广告牌 → 摄像头恰好拍到犯罪 → 背景海报含 SynthID → 警方抓人 → 辩护律师举出“谷歌 AI 检出”质疑证据 → 嫌疑人逍遥法外。理论上,把特定模式印成 T 恤,就能让所有拍到你的照片被误判为 AI 图。(我该开家“对抗服饰”店,衣服褶子都能触发检测!) [](https://fotoforensics.com/analysis.php?id=765a09d1c0805462d701b268fb4e7cdac8b3503a.1989904) 上图由 ChatGPT 生成,不含 SynthID;背景螃蟹“海报”含 SynthID。谷歌扫描整图时可能误报。 删水印让骗子能把 AI 图“洗”成看似真实的证据,再配合伪造元数据与[假 C2PA 签名](https://hackerfactor.com/blog/index.php?/archives/1069-The-Big-Bulleted-List.html),足以以假乱真。反之,给任意图插谷歌水印,也能让其可信度瞬间崩塌。 官方说:AI 标记帮助用户辨真伪。现实是 SynthID 检测不可靠,水印又可轻易增删,目标落空。 非官方动机:谷歌训练 AI 时不想用自己的合成图,SynthID 可用来排除自家产出。但若给外部媒体偷偷插入谷歌签名,就能让谷歌误把它也排除——

相似文章

SynthID Detector — 一个帮助识别AI生成内容的新平台

Google DeepMind Blog

Google宣布推出SynthID Detector验证平台,该平台可以通过检测Google AI工具生成的媒体中嵌入的肉眼看不见的SynthID水印,来识别跨越图像、音频、视频和文本的AI生成内容。该平台正向早期测试者推出,计划面向记者、媒体专业人士和研究人员提供更广泛的访问权限。

Text AI watermarks will always be trivial to remove

Hacker News Top

The article argues that text AI watermarks are inherently trivial to remove, exploring the EU AI Act's watermarking requirements and the technical challenges of text steganography, including Google's SynthID approach.