Hacker News上那帖Exif Smuggling看完,我下意识检查了自己常用的Pillow版本。结果发现,主流开源图像库对元数据的态度几乎是一致的:保留并透传,理由是怕清洗掉版权信息。但从安全工程的视角审视,这种"全留"的默认策略,本质上把风险外包给了下游的每一个环节。
很多开发者的直觉是"我不读取Exif就无风险",但具体是什么环节在触雷?是CDN的动态裁剪,是社交平台的缩略图服务,是浏览器的渲染层。图像只要经过这些节点,嵌在元数据里的载荷就可能被重新解析。这不是理论推演,是已验证的攻击面。
值得商榷的是,开源工具链为什么迟迟不拥抱"元数据零信任"?在上传、转换、分发的关键路径上,默认剥离非必要Exif,只以白名单形式放行可审计字段,这在工程上只增加极小的复杂度。然而现状是,方便性被置于默认安全之上。从某种角度看,这种对元数据治理的集体沉默,比漏洞本身更值得警惕。毕竟,让每一张经过开源工具链的图像都裸奔,我们真的有资格说这是用户的选择吗?