逆向 SynthID

Lobsters Hottest 论文

摘要

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

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

缓存时间: 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生成内容。该平台正向早期测试者推出,计划面向记者、媒体专业人士和研究人员提供更广泛的访问权限。

理解我们在线看到和听到的内容来源

OpenAI Blog

OpenAI宣布推出工具和研究成果,帮助验证内容真实性,包括文本水印、元数据方法和扩展的图像检测,以及与C2PA元数据集成,用于追踪AI生成和编辑的内容。