逆向工程师实锤:微软画图、照片AI生图强制植入隐形GUID水印,就算本地生成也逃不掉

早报2个月前发布 小马良
83 0

最近开发者逆向工程爆出一项微软Windows 11的隐藏改动:画图、照片应用所有AI生成图像,都会被强制嵌入一层像素级隐形水印,附带服务器下发的GUID唯一标识。哪怕图片全程依靠Copilot+电脑NPU在本地完成渲染,这条隐形标记依旧会被写入图像之中。

逆向工程师实锤:微软画图、照片AI生图强制植入隐形GUID水印,就算本地生成也逃不掉

知名逆向工程师 Xusheng Li 出于好奇,开始拆解画图应用AI绘图模块。本来以为AI图像功能只会调用云端API,但是在程序目录当中,他找到了四份用于本地AI运算的模型文件:一份标准ONNX模型,另外三份为加密ONNX文件。解密之后,一项名为watermarker.dll的组件浮出水面。

这个水印组件包含两套完全独立的水印功能。

第一套是大家已经熟知的可见水印,调用AddPerceptibleWatermark函数,在图片右下角打上Copilot标识,并且这个可见水印支持在设置当中关闭。

第二套就是全新的隐形水印函数WmkWriteWatermark,将GUID标识符隐秘混合进图像像素里面。隐形水印不受可见水印开关控制,关闭logo水印也不会关闭隐藏标记。

最严格的一点在于,画图应用把隐形水印设置为生成流程当中的强制环节。一旦水印写入失败,整张图片生成任务就会直接报错终止,不会产出不带标记的AI图像。

而照片应用虽然同样植入了这套GUID隐形水印机制,但策略相对宽松:水印写入失败时仍然会返回生成好的图片,仅在后台记录错误日志,不会直接中断任务。

除了像素水印之外,微软还会为图片附上一套 C2PA(内容来源与真实性联盟)凭证元数据。对应的功能代码存放于ProvenanceHelper.dll,由provenancesdk.dll提供底层支持。像素水印里面的GUID编号和文件元数据中的标识相互绑定,双重记录这张图片属于AI生成产物。

这里还有一个很容易被混淆的关键点:图片就算在本地NPU完成渲染,用户输入的提示词仍然先要发送到微软云端服务器进行安全审核。审核服务器返回经过校验的提示词以及专属watermark‑id(GUID),再交由你的电脑本地生成图片,随后把服务器下发的隐形标识写入画面。

同时工程师也特意作出澄清:这个用于AI图片溯源的GUID水印,和此前引发争议、用于设备遥测追踪的GDID并不是同一个东西,二者用途完全不一样。

业内普遍推测,微软这套水印机制,主要目的是为了响应欧盟AI法案第50条透明度新规。这条法规8月2日正式生效,强制要求AI生成内容带上机器可读标记,方便识别深度伪造内容,降低虚假信息传播风险。不过法规并没有要求企业使用提示词绑定的GUID标识,微软当前的实现方案,超出了最低合规标准。

© 版权声明

相关文章