图像伪造检测器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_90965760/image-forgery-detector。
技能介绍
要解决什么问题
在运维、风控和内容审核场景里,你经常拿到一张「看起来正常」的 JPEG/PNG:可能是二次转发截图、PS 过的证件照,或是带 AIGC 溯源签名的生成图。肉眼很难区分,而业务又需要可解释的判定依据,而不是一句「感觉不对」。
这个技能把检测拆成可复现的流水线:输入本地路径或 URL,输出结构化 JSON,包含 review_status、forgery_score 以及各子模块的 inspection 字段,便于人工复核和自动化规则对接。
检测流水线在做什么
1. 元数据与压缩痕迹
- 解析 JPEG 段(EXIF、JFIF、Adobe)与 PNG 文本块(
tEXt、iTXt、eXIf),匹配 Photoshop、GIMP、美图等编辑软件关键词,以及 Label=1、ContentProducer、doubao 等 AIGC/溯源标记。 - 对 JPEG 做量化表与标准亮度表对比估算质量,并在 8×8 块边界上找「块效应」,用于发现二次压缩伪影。
2. 全局与局部视觉
- 统计亮度均值/标准差、饱和度、调色板密度、直方图峰值,标记异常亮度、过饱和、纹理匮乏区域。
- 在 4×4 网格上用基于 Sobel 的角点类特征,检查特征密度过低、过度集中或分布不均。
3. 截图与文档篡改
- 对比宽高比与常见屏幕分辨率,结合边缘密度、文本行比例、纯色区域比例,区分截图/录屏/微信转发类「干净截图」。
- 对疑似纸质文档:分割纸张区域(亮度 ≥0.58、饱和度 ≤0.28),做块级纹理一致性、可疑块比例与连通聚类、文本行波动、块间 LBP 不一致、梯度方向不一致、拉普拉斯方差噪声差异,以及 JPEG 重编码 ELA(错误级别分析)。
4. 决策引擎
证据汇总为四类状态:有伪造、待确认、截图、无伪造;并给出 tamper_index、tamper_evidence_count、risk_labels 与 findings 等可读结论。
适用边界
- 启发式与阈值判定,不能替代司法鉴定或单一模型的「绝对真伪」结论;
待确认状态应走人工复核。 - 强依赖 Pillow、NumPy 与 Python 3.8+;对极短边、强压缩或刻意抹除元数据的样本,部分通道信号会减弱。
- 「截图」类判定表示未观察到强篡改信号,不等于内容本身可信。
使用场景
- 用户上传身份证、合同扫描件后,需在入库前批量跑脚本,根据 `review_status` 与文档篡改字段筛出待人工复核的样本
- 风控收到疑似 P 图转账截图,用 URL 拉取图片并查看 ELA、块效应与元数据里的编辑软件标记作 incident 佐证
- 社区帖配图需区分「干净截图」与强篡改信号,避免把微信转发截图误判为有伪造而误封
- 运营素材入库前检查 PNG/JPEG 是否带 doubao、ContentProducer 等 AIGC 元数据及异常饱和度/纹理特征
适合人员
- 负责用户 KYC 图片初审的风控专员,需要可解释的 JSON 证据而非单一黑盒分数
- 处理举报与违规配图的内容审核员,要区分截图转发与证件/文档局部篡改
- 安全运营在事件响应中核验聊天截图、转账凭证是否二次压缩或 PS 痕迹明显
- 平台信任与安全工程师,要把 `forgery_score` 与 `risk_labels` 接入自动化审核规则