news 2026/4/18 8:52:56

热门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/18 8:51:33

Python+Vue的大学生劳动教育课程评价系统 Pycharm django flask

这里写目录标题项目介绍项目展示详细视频演示技术栈文章下方名片联系我即可~解决的思路开发技术介绍性能/安全/负载方面python语言Django框架介绍技术路线关键代码详细视频演示收藏关注不迷路!!需要的小伙伴可以发链接或者截图给我 项目介绍 劳动教育是…

作者头像 李华
网站建设 2026/4/13 19:36:47

Python+Vue的 基于辅助决策的研究生导师双选管理系统的设计与实现Pycharm django flask

这里写目录标题项目介绍项目展示详细视频演示技术栈文章下方名片联系我即可~解决的思路开发技术介绍性能/安全/负载方面python语言Django框架介绍技术路线关键代码详细视频演示收藏关注不迷路!!需要的小伙伴可以发链接或者截图给我 项目介绍 随着高等教…

作者头像 李华
网站建设 2026/4/16 15:47:00

EasyGBS智能化视频监控助力企业安全运营

在商业快速扩张的背景下,连锁店门店数量激增,分布范围广。但传统人工巡检等管理方式效率低下,存在信息滞后、管理盲区,难以掌握店铺运营情况,影响企业效率与安全。作为一体化智能视频监控的国标GB28181算法算力平台Eas…

作者头像 李华
网站建设 2026/4/10 23:28:37

手把手教你8款AI论文工具实操:知网维普查重一把过无AIGC痕迹

一、为什么你需要AI论文工具?——用户痛点直击 对于大学生、研究生、科研人员来说,论文写作往往伴随四大核心痛点: 时间紧:从选题、列提纲到成稿动辄数月,临近截止才开工会陷入焦虑。写作难:缺乏结构化思…

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

基于Django的学籍管理系统的设计与实现

基于Django的学籍管理系统设计与实现 一、系统开发背景与意义 传统学籍管理模式普遍面临数据分散、流程繁琐、效率低下等问题。中小学及高校中,学生信息多依赖Excel表格或纸质档案存储,查询统计需手动筛选,易出现数据冗余或遗漏;学…

作者头像 李华
网站建设 2026/4/18 1:40:53

基于Spring Boot在线考试系统

基于Spring Boot的在线考试系统设计与实现 一、系统总体设计 基于Spring Boot的在线考试系统以“高效便捷、安全可靠、灵活适配”为核心目标,解决传统线下考试组织繁琐、阅卷耗时、场景受限的问题,适用于学校、企业培训等多场景的考核需求。系统支持题库…

作者头像 李华