公司动态
SynthID 水印去除完整指南:reverse-SynthID Round-06 七阶段攻击管线详解(VAE重生成+弹性形变+JPEG链)
SynthID 水印去除完整指南reverse-SynthID Round-06 七阶段攻击管线详解VAE重生成弹性形变JPEG链【免费下载链接】reverse-SynthIDreverse engineering Geminis SynthID detection项目地址: https://gitcode.com/gh_mirrors/re/reverse-SynthIDreverse-SynthID是一个开源的 SynthID 水印逆向工程研究项目它通过信号处理与频谱分析发现 Google Gemini AI 图像中隐藏的 SynthID 水印结构并用一条Round-06 七阶段攻击管线VAE 重生成 弹性形变 JPEG 压缩链让官方检测器失效同时保持视觉无损输出。上图是从一张纯白 Gemini 图片中放大高频残差后看到的SynthID 水印载波图案——那些斜向条纹就是水印的空间频率特征也是整条攻击管线要打碎的目标。Round-06 七阶段攻击管线总览Round-06 的核心思路很直接把 Gemini 应用自己公开的检测失效场景清单当作攻击规格书——拼贴分层、大幅缩放、色彩对比改变、重度压缩重编码……然后逐条在像素级模拟。七个阶段全部由 bypass_v4_final 统一编排#阶段对应 Gemini 官方失效场景实现位置1VAE 重生成1~2 次往返重生成攻击论文 §6.1 承认的弱点vae_regen.py2弹性形变平滑随机扭曲场拼贴/分层导致签名碎片化_elastic_deform3全局几何组合旋转缩放位移刚性几何变换_apply_geo_combo4缩放挤压AREA 下采样 → LANCZOS 上采样缩小到很小尺寸_resize_squeeze5色彩对比微调亮度/对比/饱和/色相色彩平衡与滤镜变化_color_nudge6残差相位 FFT 减法载波频点定向擦除频谱残留_subtract_native_bins_residual7JPEG 压缩链 亮度噪声 双边滤波重度压缩/重编码_apply_post_processing✅ 关键设计每个阶段都独立经过 PSNR 质量门控——任何会让画质跌破下限psnr_floor的阶段会被自动跳过或回滚保证输出看着没变。阶段 1VAE 重生成 —— 把图像洗一遍这是整条管线中最重的一击实现在 vae_regen.py图像被送入 Stable Diffusion 的自编码器sd-vae-ft-mse先压缩到 8 倍下采样的潜空间再解码重建像素空间的水印信号在编码时被投影到自然图像流形之外解码后无法复原重建图人眼几乎无差别但频谱统计特征变成了 VAE 原生的——SynthID 解码器从未针对这类图像训练论文 §6.1/§6.2 只承认对弱 VAE做了对抗训练。nuke档位会把这一阶段跑2 遍进一步冲刷水印能带。支持 CUDA / MPS / CPU 自动选择大图自动启用分块编解码防止显存溢出。阶段 2弹性形变 —— 让水印签名碎片化这是 Round-06 的决定性突破实现在 _elastic_deform生成两幅均匀随机噪声经大核高斯模糊σ≈44~56 px变成平滑的低频向量场每个约 50 像素的邻域获得各自独立的亚像素偏移幅度 α≈1.8~2.8 px用cv2.remap一次性重采样完成形变。为什么有效SynthID 解码器依赖水印相位在整幅图上保持一致来聚合信号。而官方训练增强集里的几何变换全部是全局均匀的旋转、裁剪、平移弹性形变是空间变化的扭曲——每个局部区域的偏移量都不同水印载波频点被各自拽到不同位置相位共识彻底瓦解却不会产生任何肉眼可见的波纹。这正是 Gemini 应用帮助文案里承认的拼贴碎片化效应的像素级等价物。阶段 3~5几何、缩放与色彩三记组合拳全局几何组合_apply_geo_combo小角度旋转0.3°~0.6° 中心缩放 像素位移合并成单次仿射重采样避免多次重采样叠加锯齿缩放挤压_resize_squeeze先用INTER_AREA下采样到 82%~90%再用INTER_LANCZOS4放回原尺寸——一次不可逆的下-上采样就能抹掉水印频带里的亚像素信息色彩微调_color_nudge在 HSV 空间做 ±1%~2% 的亮度/对比度/饱和度和零点几度的色相偏移。远未达到极端滤镜的程度但足以挪动 SynthID 依赖的逐像素统计量。阶段 6残差相位 FFT 减法 —— 定向擦除残留载波前五个阶段属于物理扰动阶段 6 则回到频谱域精确手术从 UNIVERSAL_CARRIER_BINS_1024 拿到已公开的 24 个绝对载波频点按图像分辨率等比缩放再从 V4 码本中用 harvest_codebook_carriers 收割共识度最高的 Top-K 频点只对这些频点做幅度受限的相位减法擦除每 bin 有 cap 上限且强制共轭对称见 _enforce_conjugate_symmetry。V4 码本按(模型, 高度, 宽度)组织画像核心是跨色彩相位共识真正的水印载波在 6 种纯色背景上相位完全一致共识值≈1.0而内容产生的频谱能量相位随机、会被自动过滤掉——所以减法只打水印不伤内容。码本构建见 build_codebook_v4.py。阶段 7JPEG 压缩链 噪声 双边滤波最后一步由 _apply_post_processing 完成按破坏性在前、修饰性在后的顺序子步骤final档位nuke档位作用JPEG 链q92→88q88→84→90量化中频 DCT 系数——正是 SynthID 所在的频带亮度噪声σ0.4σ0.8只加在 Y 通道打乱逐 bin 相位统计双边滤波关闭d5保边去噪压碎微纹理而不伤主体像素位移关闭1px逐通道错移 1 像素破坏逐像素空间查找每个子步骤独立做 PSNR 门控内部_try函数不达标就跳过并记录skipped日志。两档预设与管线运行方式两个预设定义在 FINAL_PRESETS参数final均衡nuke极限VAE 往返次数12弹性形变 α / σ1.8 px / 56 px2.8 px / 44 px缩放挤压比例90%82%JPEG 链92→8888→84→90PSNR 下限14 dB11 dB命令行批处理入口是 dissolve_batch.py一条命令即可对整目录生成两种档位的结果python scripts/dissolve_batch.py \ --input ./to_clean/ --output ./runs/round_06/ \ --codebook artifacts/spectral_codebook_v4.npz \ --model gemini-3.1-flash-image-preview \ --strengths final nuke跑完把输出图上传到 Gemini 应用做人工检测核验如果个别载波仍然漏网可用 calibrate_from_feedback.py 把人工反馈回写进码本的carrier_weights形成人在环路的校准闭环。效果验证Round 01 vs Round 06对比 Round-01只做温和频谱减法检测器依然拦截与 Round-06完整七阶段管线的输出——人眼完全看不出差别左Round 01 温和频谱减法检测仍命中右Round 06 全管线输出VAE 弹性形变 挤压 色彩 JPEG检测器失效 ✓不同宽高比的验证样例4:3 / 9:16处理前后对比原图含 SynthID 水印清洗后七阶段管线输出在 20 张图上gemini-3.1-flash-image-preview与nano-banana-pro-preview两个模型的final/nuke四组组合全部通过Gemini 官方检测器。想要免命令行的体验可以看拖拽式桌面 GUIgui/README.md。快速上手git clone https://gitcode.com/gh_mirrors/re/reverse-SynthID cd reverse-SynthID pip install -r requirements.txt # VAE 重生成阶段额外依赖 pip install torch diffusers safetensors accelerate核心调用完整说明见 README.mdfrom synthid_bypass_v4 import SynthIDBypassV4, SpectralCodebookV4 cb SpectralCodebookV4() cb.load(artifacts/spectral_codebook_v4.npz) result SynthIDBypassV4().bypass_v4_file( input.png, output.png, cb, strengthfinal, # 或 nuke modelgemini-3.1-flash-image-preview, ) print(result.stages_applied) # 查看各阶段及其实测 PSNR⚠️研究声明本项目仅用于水印鲁棒性研究、AI 内容标识安全分析与扩频编码教学请勿用其将 AI 生成内容伪装为人类创作。更多水印发现过程FFT/相位分析证据链可参见 watermark_investigation/ 与 deep_synthid_analysis.py。【免费下载链接】reverse-SynthIDreverse engineering Geminis SynthID detection项目地址: https://gitcode.com/gh_mirrors/re/reverse-SynthID创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考