Picklescan 漏洞允许恶意 PyTorch 模型绕过扫描并执行代码
HackerNews 编译,转载请注明出处: 开源工具 Picklescan 被披露存在三个高危安全漏洞,攻击者可通过加载不可信的 PyTorch 模型执行任意代码,从而绕过该工具的防护机制。 Picklescan 由马修・梅特尔(@mmaitre314)开发维护,是一款安全扫描工具,旨在解析 Python pickle 文件,在可疑导入或函数调用执行前对其进行检测。Pickle 是机器学习领域广泛使用的序列化格式,但该格式存在重大安全风险 —— 加载 pickle 文件时可能自动触发任意 Python 代码执行。因此,用户和企业需仅加载可信模型,或从 TensorFlow、Flax 等框架加载模型权重。 JFrog 发现的这些漏洞使攻击者能够绕过扫描工具检测,让恶意模型文件被判定为 “安全” 并执行恶意代码,进而为供应链攻击铺平道路。 漏洞核心原理 安全研究员大卫・科恩表示:“每个已发现的漏洞都能让攻击者规避 Picklescan 的恶意软件检测,通过分发隐藏不可检测恶意代码的机器学习模型,实施大规模供应链攻击。” Picklescan 的核心工作机制是在字节码层面分析 pickle 文件,将检测结果与已知危险导入和操作的黑名单进行比对,标记相似危险行为。这种 “黑名单模式” 相比 “白名单模式” 的缺陷在于:无法检测新型攻击向量,且要求开发者预先覆盖所有可能的恶意行为。 漏洞详情 1. CVE-2025-10155(CVSS 评分:9.3/7.8) 漏洞类型:文件扩展名绕过漏洞 利用方式:将标准 pickle 文件伪装为带有 .bin 或 .pt 等 PyTorch 相关扩展名的文件,绕过扫描并加载恶意模型 2. CVE-2025-10156(CVSS 评分:9.3/7.5) 漏洞类型:ZIP 归档扫描绕过漏洞 利用方式:通过引入循环冗余校验(CRC)错误,禁用工具对 ZIP 归档文件的扫描功能 3. CVE-2025-10157(CVSS 评分:9.3/8.3) 漏洞类型:不安全全局变量检测绕过漏洞 利用方式:规避危险导入黑名单,绕过 Picklescan 的不安全全局变量检查,实现任意代码执行 成功利用上述漏洞的攻击者可实施以下行为: 在带有常见 PyTorch 扩展名的文件中隐藏恶意 pickle 载荷; 向包含恶意模型的 ZIP 归档文件中故意植入 CRC 错误; 构造嵌入 pickle 载荷的恶意 PyTorch 模型,绕过扫描检测。 这些漏洞于 2025 年 6 月 29 日被负责任披露,Picklescan 已于 9 月 9 日发布 0.0.31 版本修复上述问题。 额外披露的高风险漏洞 与此同时,SecDim 和 DCODX 披露了该工具的另一高风险漏洞(CVE-2025-46417,CVSS 评分:7.5/7.1),攻击者可利用该漏洞绕过工具黑名单,使恶意 pickle 文件在模型加载时通过 DNS 窃取敏感信息。 SecDim 指出:“泄露的内容会出现在 DNS 日志中。使用 Picklescan 0.0.24 版本扫描该载荷时,会返回‘未发现问题’,因为 linecache 和 ssl 未被列入黑名单。” 漏洞暴露的系统性问题 这些发现揭示了机器学习安全领域的关键系统性问题: 过度依赖单一扫描工具的风险; 安全工具与 PyTorch 等框架在文件处理行为上的差异,导致安全架构易受攻击。 科恩表示:“PyTorch 等人工智能库日益复杂,新功能、模型格式和执行路径的更新速度远超安全扫描工具的适配能力。这种创新与防护之间不断扩大的差距,使企业暴露于传统工具无法预判的新兴威胁之下。” “填补这一差距需要建立基于研究的人工智能模型安全代理 —— 由兼具攻击者和防御者思维的专家持续提供支持,通过主动分析新型模型、跟踪库更新、发掘新型利用技术,实现自适应、智能驱动的防护,精准应对关键漏洞。” 消息来源:thehackernews; 本文由 HackerNews.cc 翻译整理,封面来源于网络; 转载请注明“转自 HackerNews.cc”并附上原文