图片知识 · 图解

NovelAI 隐水印藏在哪里?

很多人以为,删掉 EXIF 就等于删掉了 NovelAI 的生成信息。实际情况没这么简单: 有一部分信息不在文件说明里,而在像素的透明度通道里。

先把它从图片里找出来

下面两张图截取的是原图左侧同一块 96×96 像素区域,并按相同比例放大。 左边能看到绿色背景和红色角色轮廓;右边不看颜色内容,只看 Alpha 通道最低位的变化。

原图左侧 96×96 像素区域的放大图,包含背景和角色轮廓
画面左侧局部96×96 像素等比放大,可以看到正常的颜色与图案。
同一位置的 Alpha 通道最低位热力图,变化集中在左侧Alpha 通道 · 增强显示
Alpha 热力图紫色表示没有变化,颜色越接近黄白,最低位变化越密集。

右图不是把原图压暗,而是把 Alpha 通道单独提取出来,再把细微差异映射成热力颜色。 可以很清楚地看到,变化沿着最左侧排列,其他位置没有变化。图中按 3×3 像素汇总显示,避免把原文件的逐像素数据直接公开。

隐藏区域并不总在左侧。它会随着图片尺寸、数据长度和写入顺序改变。 这组图要说明的是:画面看着完全正常,Alpha 通道里仍然可以装着另一份数据。

它和普通元数据有什么区别?

理解“为什么删了元数据仍可能留下信息”,要先把一张 PNG 看成三个不同层次:

01

可见画面红、绿、蓝三个通道组成我们看到的颜色。

02

文件级元数据EXIF、XMP、tEXt、iTXt、C2PA 等独立数据块。

03

像素级隐藏信息stealth_pngcomp 把数据写进 Alpha 通道最低位,属于像素本身。

常规“清除元数据”通常针对第二层。如果工具原样保留 RGBA 像素,第三层就可能跟着新文件一起保留下来。

254 和 255,为什么能拿来藏数据?

8-bit PNG 的每个通道取值为 0—255。对 Alpha 来说,255 是完全不透明;254 只少一个等级。 二者的二进制表示只差最后一位:

Alpha 25511111111可表示 1
Alpha 25411111110可表示 0

这最后一位就是最低有效位(LSB)。程序依次读取许多像素的 LSB,便能把 0 和 1 重新拼成字节; 人眼看到的透明度差异却几乎为零。这也是右侧热力图必须把差异大幅放大后,位置才变得明显的原因。

这些 0 和 1 里面装的是什么?

按照 NovelAI 公开实现,读取过程可以概括为一条连续链路:

  1. 1

    识别格式读取固定标记 stealth_pngcomp,确认数据类型。

  2. 2

    确定长度读取长度字段,知道后续应该取多少隐藏位。

  3. 3

    解压内容把二进制还原为字节并用 gzip 解压,最终得到结构化 JSON。

JSON 中可能包含正向与反向提示词、Seed、Steps、Sampler、CFG、模型或软件信息,以及签名相关字段。 所以它不是“加密后看不懂的水印图案”,而是被藏起来的一份生成记录。

为什么普通清理工具可能漏掉它?

可能继续保留

只移除 EXIF、XMP、PNG 文本块,随后无损保存原始 RGBA 像素。

通常会被破坏

去除 Alpha、重建 Alpha、缩放重采样,或转成不支持 Alpha 的 JPEG。

平台重新编码、滤镜和调色也可能改变最低位,但“可能破坏”不等于“已经验证清除”。可靠的处理流程应明确重建相关像素, 再用独立检测器复查,而不是只看文件属性里有没有 EXIF。

它不是鲁棒版权水印:
stealth_pngcomp 隐蔽、容量大,却依赖像素最低位保持不变;缩放和有损编码很容易让数据失效。

发现 stealth_pngcomp,就能认定来自 NovelAI 吗?

不能只凭格式下结论。stealth_pngcomp 的结构已经公开,第三方也能写入相同格式。 “检测到隐藏数据”只能说明文件中存在符合该结构的内容。

signed_hash 是另一层判断:stealth_pngcomp 回答“数据藏在哪里”,签名验证回答“图片与相关元数据能否通过来源校验”。 如果要做较严格的归因,应把格式、解码内容和数字签名验证结合起来,而不是把其中任何一项当作绝对证明。

这个站目前能查到什么?

当前工具除了检查和清理 EXIF、GPS、XMP、PNG 文本信息、C2PA 和常见 AI 生成参数, 也会读取 Alpha-LSB 中的 stealth_pngcomp,展示可解析的提示词、Seed、采样器等字段。

使用 图片元数据清理工具清理时,工具会重建 Alpha 最低位载体并在导出前复查, 同时清除普通文件级元数据。处理只在浏览器本地完成。

区别就在这里

普通元数据在“文件块”里,stealth_pngcomp 在“像素 Alpha 最低位”里。位置不同,检测和清理方法也不同。

参考资料

本文原理依据 NovelAI 官方公开的图片元数据项目整理,其中包含 Alpha 通道隐藏元数据的读取、写入和签名验证实现。

NovelAI / novelai-image-metadata