C2PA 内容凭证
读取 APP11 / caBX 里的 JUMBF 清单:谁生成、用什么工具、做过哪些操作、签名证书是谁。
一句话告诉你这张图是相机拍的、AI 生成的,还是被剥掉来源后重新打标的。依据是文件里的每一段元数据,而不是猜。
读取 APP11 / caBX 里的 JUMBF 清单:谁生成、用什么工具、做过哪些操作、签名证书是谁。
Stable Diffusion 参数块、ComfyUI 工作流、Midjourney 任务 ID、IPTC DigitalSourceType,以及二十多个生成工具的署名。
《人工智能生成合成内容标识办法》要求的元数据隐式标识,含生成服务提供者与内容编号。
拍摄时间对不上、声称 Photoshop 保存却没有 EXIF、有派生来源却没有编辑历史,这些矛盾会被点出来。
EXIF、XMP 和 PNG 文本块是明文,任何工具都能改写或删除,所以它们只是「自述」。C2PA 清单带有签名,是目前唯一能被验证的来源声明。AuditImage 会验证签名、内容哈希绑定和证书链,并与 C2PA 信任列表比对;只有时间戳令牌是记录存在而不校验。看不见的水印(如 SynthID)不在元数据里,这里检测不到。
报告和指南里出现的所有名词与缩写,从 APP1 到 XMP,写出全称,每个用几句话讲清楚。
水印在像素里,元数据在文件里。两者各自能防什么、防不了什么,以及为什么 AuditImage 只看元数据。
看懂 AuditImage「文件结构」表格的每一行。APP1、APP11、COM、tEXt、caBX 分别装什么,偏移和大小说明什么。
剥离后重新打标、移植别人的 EXIF、改时间、假 Photoshop 记录。手法不复杂,但都会留下矛盾。
微信、截图、社交平台、在线压缩、格式转换。一张图在传播中几乎必然丢掉元数据,而这不说明它有问题。
Adobe 定义的 XML 元数据。它记录创建工具、文档 ID 和每一次编辑,是判断「这张图经过什么软件」的主要线索。
同一个入口,返回和页面一样的 JSON 报告。加 lang=en 得到英文文案。
curl -F "[email protected]" "https://<host>/api/inspect?lang=zh" # → { "id": "…", "url": "…/zh/r/…", "report": { "verdict": { … }, "c2pa": { … }, … } } curl "https://<host>/api/inspections/<id>?lang=zh"