元数据伪造的常见手法与识别
剥离后重新打标、移植别人的 EXIF、改时间、假 Photoshop 记录。手法不复杂,但都会留下矛盾。
为什么有人伪造元数据
让 AI 图看起来像相机拍的;让盗图看起来像自己拍的;让照片的时间地点对上某个说法;或者相反,把 AI 生成的声明去掉,逃过平台检测。
手法一:剥离再打标
先用工具去掉全部元数据,再单独写入一段 XMP,声称 CreatorTool 是 Photoshop。这种图的特征是:有 XMP,没有 EXIF。真实经过 Photoshop 保存的照片几乎一定保留 EXIF,因为 Photoshop 默认这么做。AuditImage 把这种情况标为「元数据自相矛盾」。
手法二:移植 EXIF
从一张真实照片里把 EXIF 整段复制到另一张图上:
exiftool -tagsFromFile real.jpg -all:all fake.jpg
EXIF 本身完全自洽,因为它就是真的。破绽在别处:分辨率与相机型号不符、EXIF 缩略图与主图不同、JPEG 量化表不是该相机的风格、文件里没有那款相机会写的 MakerNote 结构。AuditImage 目前不比对量化表,但会显示缩略图和分辨率供人工核对。
手法三:改时间
DateTimeOriginal 改成需要的时间,但忘了改 XMP 的 CreateDate、photoshop:DateCreated、或 History 里的 stEvt:when。AuditImage 会比对 EXIF 拍摄时间与 XMP 创建时间,差异超过一分钟就提示。
手法四:假的派生关系
写入 xmpMM:DerivedFrom 让图看起来「是从某个原稿编辑而来」,但不写 xmpMM:History。真实的编辑流程两者是同时产生的。AuditImage 会标记「声称派生但没有编辑历史」。
手法五:去掉 AI 声明
删掉 C2PA 清单、DigitalSourceType、PNG 参数块。这不会留下矛盾,只会留下空白。AuditImage 的结论会是「没有可用的元数据」,无法进一步判断。这也是为什么元数据只能做「有罪推定」而不能做「无罪证明」。
手法六:伪造 C2PA
理论上可以自己签一份清单。破绽是签名者证书:自签或测试证书的主体会写 FOR TESTING_ONLY 之类,不在 CAI 信任列表里。AuditImage 会显示证书主体和颁发者,需要人工判断是否可信;严格验证请用 CAI Verify 或 c2patool。
识别的总原则
真实文件的各段元数据是由不同软件在不同时间自然写入的,彼此吻合。伪造者通常只改自己想到的那几个字段。所以看一致性,而不是看某一个字段。AuditImage 的「发现」栏就是按这个思路设计的。