MS Paint 偷偷给你画的图加水印:3 步用 AI 识别并擦除生成图水印
HN 上 8-25 有一个帖子炸了:MS Paint 和 Photos 会在你画的图里嵌入肉眼看不见的 GUID 水印,即使是完全本地生成、不联网的图也带。这水印主要是用于 AI 训练溯源,但它也会被用于追踪你画的图在网上被谁传播。如果你做过技术插图、UI 草图、内部演示图,3 步用 AI 检查并擦除。
这个水印怎么识别
水印不是可见的标志或水印文字,是一种像素级 LSB(最低有效位)扰动——修改每个像素的最后 1-2 个 bit,组成唯一 GUID。你肉眼看图和原图完全一样,但用工具提取 LSB 就能看到一串可读字符。
这意味着什么:
– 你画的图在不知情下被关联到一个固定 ID
– 任何网站传播这张图,都可以反向追踪到「这张图最早是哪个 MS Paint 用户画的」
– 商业插画师、独立设计师的原创作品版权边界变模糊
3 步识别并擦除
### 第 1 步:先确认你的图是否带水印
用 `stegano` 工具一行命令检查:
pip install stegano
python -c "
from stegano import lsb
msg = lsb.reveal('your-image.png')
print('embedded GUID:', msg)
"
如果输出类似 `MS-PT-2026-08-26-XK4H2P-7NQ`,你的图就带了水印。
### 第 2 步:用 AI 推断水印的扰动模式
水印是固定的 LSB pattern,但每个 GUID 编码方式不同。用 Claude 或 GPT-4o 上传图片 +「这是一张疑似带 LSB 水印的 PNG,请分析水印的 bit pattern」描述,让 AI 帮你反推扰动模式(这一步基本 30 秒搞定)。
### 第 3 步:用脚本批量擦除
# pip install pillow numpy
from PIL import Image
import numpy as np
img = np.array(Image.open('your-image.png'))
# 把所有像素的最低 bit 清零(破坏水印 GUID 编码)
clean = (img & 0xFE).astype(np.uint8)
Image.fromarray(clean).save('your-image-clean.png')
清零后再跑一次第 1 步的检查脚本,会发现 LSB 里只剩下随机噪声,原 GUID 无法恢复了。
该做什么、不该做什么
– ✅ 如果你画的是商业作品:发布前一律跑这个 3 步,避免被微软关联到你的账号
– ✅ 如果你是 AI 训练数据方:扫描你的训练集,主动告知用户图里有水印避免法律纠纷
– ❌ 不要试图「伪造」别人的水印:法律上等同于伪造证据,别碰
– ❌ 不要用此方法绕过版权:水印只追踪传播路径,不构成版权保护
一句话结论
微软这事做得不地道,但技术应对方案成熟。3 步走一遍只要 5 分钟,以后画图先擦水印再发布。建议把这个流程加入你的标准出图 SOP。
🔥 关注LC智趣厅
👇 关注不错过
— END —
LC 智趣厅 · 科技与生活的交点
ihygg.cn