news 2026/4/15 6:08:45

热门Python库存在元数据投毒攻击漏洞

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
热门Python库存在元数据投毒攻击漏洞

Hugging Face模型中使用的热门AI和机器学习Python库存在漏洞,这些库的下载量达到数千万次。该漏洞允许远程攻击者在元数据中隐藏恶意代码,当加载包含被投毒元数据的文件时,恶意代码会自动执行。

受影响的开源库包括NeMo、Uni2TS和FlexTok,分别由英伟达、Salesforce以及苹果与瑞士联邦理工学院视觉智能与学习实验室(EPFL VILAB)联合开发。

这三个库都使用了Hydra,这是Meta维护的另一个Python库,通常用作机器学习项目的配置管理工具。具体来说,漏洞涉及Hydra的instantiate()函数。

Palo Alto Networks的Unit 42团队发现了这些安全漏洞并报告给库的维护者,维护者随后发布了安全警告、修复补丁,其中两个案例还分配了CVE编号。虽然威胁猎人表示目前尚未发现这些漏洞被实际利用,但"攻击者有充分的机会利用它们"。

Unit 42恶意软件研究工程师Curtis Carmony在周二的分析中写道:"开发者通常会创建自己的最先进模型变体,采用不同的微调和量化方法,通常来自与知名机构无关的研究人员。攻击者只需要创建现有热门模型的修改版本,声称具有真实或虚假的优势,然后添加恶意元数据。"

此外,Hugging Face不像处理其他文件那样容易访问元数据内容,也不会将使用safetensors或NeMo文件格式的文件标记为潜在不安全。

Hugging Face上的模型使用超过100种不同的Python库,其中近50种使用Hydra。Carmony写道:"虽然这些格式本身可能是安全的,但处理它们的代码存在非常大的攻击面。"

Hydra漏洞分析

如前所述,这些漏洞与NeMo、Uni2TS和FlexTok使用hydra.utils.instantiate()函数从模型元数据加载配置的方式有关,这允许远程代码执行(RCE)。

这些库的创建者或维护者似乎忽略了instantiate()函数不仅接受要实例化的类名,还接受任何可调用对象的名称并向其传递提供的参数这一事实。

通过利用这一点,攻击者可以使用内置Python函数(如eval()和os.system())更容易地实现RCE。

Meta已更新Hydra文档,警告使用instantiate()时可能发生RCE,并敦促用户添加阻止列表机制,在调用前将_target_值与危险函数列表进行比较。但是,阻止列表机制尚未在Hydra发布版本中提供。

NeMo库漏洞

NeMo是英伟达于2019年创建的基于PyTorch的框架。其.nemo和.qnemo文件扩展名是包含model_config.yaml文件的TAR文件,分别存储模型元数据以及.pt文件或.safetensors文件。

问题在于,在NeMo文件调用hydra.utils.instantiate() API之前,元数据没有经过清理,这允许攻击者加载具有恶意制作元数据的.nemo文件,触发漏洞并实现RCE或篡改数据。

英伟达发布了CVE-2025-23304来跟踪这个高严重性错误,并在NeMo 2.3.2版本中发布了修复。

NeMo还与Hugging Face集成,攻击者可以在模型下载后通过相同的代码路径利用此漏洞。

根据Unit 42的数据,Hugging Face上有超过700个来自各种开发者的模型采用NeMo文件格式。

Uni2TS库漏洞

Uni2TS是Salesforce创建的PyTorch库,用于其时间序列分析的Morai基础模型以及在Hugging Face上发布的一系列模型。

该库专门使用.safetensors文件,这是Hugging Face创建的用于存储张量的安全格式,与pickle相对,pickle在加载过程中允许任意代码执行。

使用这些库的Salesforce模型在Hugging Face上有数十万次下载,其他用户也发布了这些模型的多个改编版本。

Salesforce于7月31日发布了CVE-2026-22584并部署了修复。

FlexTok库漏洞

去年早些时候,苹果和EPFL VILAB创建了FlexTok,这是一个基于Python的框架,使AI/机器学习模型能够处理图像。

与uni2TS一样,FlexTok仅使用safetensors文件,它扩展了PyTorchModelHubMixin,可以从.safetensors文件加载配置和元数据。解码元数据后,FlexTok将其传递给hydra.utils.instantiate(),这会触发漏洞。

截至2026年1月,除了EPFL VILAB发布的模型外,Hugging Face上似乎没有其他模型使用ml-flextok库,这些模型总计有数万次下载。

苹果和EPFL VILAB通过使用YAML解析配置修复了这些安全问题。维护者还添加了可以调用Hydra的instantiate()函数的类的允许列表,并更新文档以说明应该只加载来自可信来源的模型。

Q&A

Q1:这次发现的Python库漏洞具体是什么问题?

A:漏洞存在于NeMo、Uni2TS和FlexTok这三个热门AI库中,它们都使用Hydra库的instantiate()函数。问题在于该函数不仅接受类名,还接受任何可调用对象,攻击者可以利用这一点在模型元数据中隐藏恶意代码,当文件被加载时代码会自动执行。

Q2:Hugging Face平台上有多少模型受到影响?

A:根据Unit 42的统计,Hugging Face上超过700个模型使用NeMo文件格式,使用Salesforce相关库的模型有数十万次下载,FlexTok相关模型有数万次下载。平台上使用的超过100种Python库中,近50种使用了存在漏洞的Hydra库。

Q3:这些漏洞现在修复了吗?

A:是的,相关厂商已经发布了修复。英伟达在NeMo 2.3.2版本中修复并发布了CVE-2025-23304,Salesforce在7月31日发布了CVE-2026-22584修复,苹果和EPFL VILAB通过使用YAML解析和添加允许列表机制修复了FlexTok的问题。


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/13 17:16:54

soular实践教程 - 如何使用soular统一管理TikLab帐号

soular是DevOps工具套件的帐号与门户中心,包含账号管理、认证管理、工作台管理等功能,产品简洁易用、开源免费。本文主要介绍soular的账号管理1、用户管理1.1 创建用户登录系统->系统设置->用户与权限->用户->添加用户添加用户属性说明属性是…

作者头像 李华
网站建设 2026/4/8 11:50:22

sward实践教程 - Markdown的创建与管理

Sward是一款国产开源知识管理工具,提供知识库管理、文档管理、Markdown编辑、内容分享等核心功能,整体设计轻量、简洁且易用。其内置的Markdown功能尤其适用于技术文档编写、博客创作与日常笔记整理等多种场景。本文将重点介绍如何在Sward中添加和管理Ma…

作者头像 李华
网站建设 2026/4/15 5:29:22

靠谱的厌氧池清淤哪有

厌氧池清淤哪家好:专业深度测评开篇:定下基调厌氧池在污水处理中扮演着重要角色,但随着时间的推移,池内会积累大量污泥,影响处理效果。因此,定期清淤成为必不可少的工作。本文将对市面上主要的厌氧池清淤服…

作者头像 李华
网站建设 2026/4/8 18:11:41

【拯救HMI】HMI容错设计:如何减少操作失误并快速纠错?

在复杂、高压的工业环境中,操作失误难以完全避免。容错设计的哲学不是追求“零错误”,而是承认“人会犯错”,并通过系统设计来 “预防错误发生、减轻错误后果、提供快速恢复路径” ,将人为失误对生产系统的影响降至最低。一、 预防…

作者头像 李华
网站建设 2026/4/9 15:05:02

形成性考核管理系统

第三章 需求分析 本章节的内容主要以设计为出发点介绍当初设计该系统的想法与初衷,同时根据用户对系统的实际需求进行构思。参照这些,对系统不断改进、完善,使用户的需求得以满足的同时,提高系统的稳定性以及运行速度的高效性。 3…

作者头像 李华
网站建设 2026/4/11 8:56:51

宏智树 AI:ChatGPT 学术版驱动的 AI5.0 学术创作全生态解决方案

当学术研究遇上智能科技,论文写作的低效内卷从此成为历史。宏智树 AI,一款由 ChatGPT 学术版模型深度驱动、搭载前沿 AI5.0 技术架构的专业学术智能解决方案平台,以 “真实、专业、高效、全流程” 为核心,重塑学术创作全新生态&am…

作者头像 李华