你以为在 Windows 画图里用 AI 搞创作,数据全在本地跑,绝对私密?
老实讲,个人觉得这种想法有点天真了。
安全研究员 Xusheng 最近扒开了微软的底层代码。他发现,你生成的每一张 AI 图片里,都被悄悄塞进了一个 16 字节的隐形 GUID。
更绝的是,这个 GUID 还直接绑定了你的微软账号和输入提示词。
所谓的“本地生成”,其实是个伪命题
微软在画图里塞了四个本地 ONNX 模型。看着挺像那么回事,对吧?
但 Xusheng 追踪调用树后发现,“本地”这两个字,水分大得很。
当你输入提示词,画图会先把它发给微软的云端审查服务器。服务器不仅会修改你的提示词,还会下发一个唯一的 watermarkId。
换句话说,你的创作意图在本地跑模型前,就已经在微软的服务器上留底了。
像素级篡改,微软的“强买强卖”
拿到 GUID 后,好戏才刚刚开始。
画图里有个 1.67 MB 的 Watermarker.dll。这玩意根本不是为了加那个右下角的 Copilot 小图标。
它用的是 SVD 风格的算法,把 18 字节的信息拆成 144 个 bit,然后直接在像素层面做量化修改。
测试数据显示,一张 512x512 的图,加完水印有 19 万多个像素被改动。肉眼根本看不出区别,但机器一扫一个准。
最狠的是它的容错机制。如果水印写入失败,画图会直接报错,拒绝生成图片。
宁可不给你图,也不能给你一张没打水印的图。这控制欲,说实话,有点越界了。
(对比一下,微软自家的“照片”应用稍微宽容点,水印失败记个错,图还是给你。)
关掉可见水印?那只是给你看的障眼法
很多用户看到设置里有个“关闭可见水印”的选项,以为关掉就清净了。
这点我不太认同大家的乐观态度。可见水印关了,隐形水印和 C2PA 元数据可没停。
保存图片时,微软会往文件里塞入一个将近 19KB 的 caBX 数据块。里面明明白白写着:生成器是微软,算法是 InvisMark,水印值就是那个 GUID。
有意思的是,微软甚至把保存格式给限制了。AI 生成的图,直接禁用了经典的 BMP 格式。
为什么?因为 BMP 不支持嵌入 C2PA 元数据。微软为了保住它的“电子脚镣”,连用户的选择权都一起砍了。
隐私越界还是合规游戏?网友的怒火掩不住
这事一出,评论区直接炸了。
这跟 AI 没关系,这是在消灭网络匿名性。只要微软想,拿着这个 GUID 发个传票,你的真名、地址、邮箱瞬间就能被查个底朝天。
还有人吐槽微软的“草率”。前阵子 DevOps 乱给代码提交打 Copilot 水印,现在画图又乱打。
甚至有用户只是截图想调整个大小,也被弹窗提示“这是 AI 生成的”。误触发率这么高,这技术到底行不行?
欧盟 AI 法案 8 月刚生效,要求 AI 内容必须带机器可读的标记。微软说,我们合规了,加了 C2PA。
但他们没告诉你,这个标记能精准追踪到你输入的每一个词。当“本地工具”变成“云端监控”的延伸,我们还能相信自己的电脑吗?
【锐评】:打着本地计算的旗号,干着云端追踪的勾当,微软这波“既要又要”的吃相属实难看。
参考链接:
https://xusheng.dev/posts/reversing/mspaint_invisible_watermark/main/