共计 1637 个字符,预计需要花费 5 分钟才能阅读完成。
安全研究人员在 Hugging Face 平台上广泛使用的多个热门 Python 开源人工智能库中发现了关键安全漏洞。这一漏洞可能被用于远程代码执行攻击,影响深远,波及英伟达、Salesforce、苹果等多家科技巨头参与开发的库,累计下载量已达数千万次。
Palo Alto Networks 旗下 Unit 42 威胁研究团队近日披露,三个基于 Hydra 配置管理框架的机器学习库存在设计缺陷。攻击者可以通过篡改模型元数据植入恶意代码,当用户加载受污染的模型文件时,恶意代码将自动执行,从而实现远程代码执行(RCE)。
漏洞机理:元数据如何成为攻击载体?
问题的核心在于 Hydra 框架的 `instantiate()` 函数。Hydra 是由 Meta 维护的 Python 库,在机器学习项目中广泛用于配置管理。`instantiate()` 函数功能强大,不仅接受类名进行实例化,还可以调用任何可执行对象并传递参数。攻击者正是利用此特性,在模型元数据中嵌入 `eval()` 或 `os.system()` 等 Python 内置函数,从而在加载模型时执行任意系统命令。
尽管目前尚未发现这些漏洞在野被利用,但研究人员警告,攻击者有充分的机会利用它们。恶意行为者只需创建热门模型的修改版本,声称具有性能优势,随后在元数据中添加恶意代码即可实施攻击。Meta 已更新 Hydra 文档,警告使用 `instantiate()` 可能导致 RCE,并建议用户添加阻止列表机制,但该防护机制尚未集成到正式版本中。,
受影响库详解与修复状态
此次 AI 开源库漏洞波及多个重要项目,以下是详细情况:,
- 英伟达 NeMo 框架 :漏洞编号为 CVE-2025-23304(高危)。Hugging Face 上超过 700 个采用 .nemo 格式的模型受到影响。.nemo 文件实质是包含 model_config.yaml 的 TAR 压缩包,在调用 `instantiate()` 前未对元数据进行清理。英伟达已在 NeMo 2.3.2 版本中发布补丁。
- Salesforce Uni2TS 库 :漏洞编号为 CVE-2026-22584。该库虽然使用 Hugging Face 创建的 .safetensors 安全格式存储张量,但通过 `PyTorchModelHubMixin` 接口解码配置时仍调用 `instantiate()`,相关模型已被下载数十万次。Salesforce 已于 2025 年 7 月 31 日部署修复程序。
- 苹果 -EPFL FlexTok 框架 :主要用于图像处理的 AI 模型,下载量为数万次。其修复方案是改用 YAML 解析配置,并实施类允许列表机制限制 `instantiate()` 的调用范围。维护方明确建议“只应加载来自可信来源的模型”。
平台责任与 AI 安全行业反思
此次事件也暴露了 Hugging Face 等 AI 模型平台存在的监管盲区。平台虽然推广 .safetensors 等安全格式,但并未对使用这些格式文件的元数据进行安全检查,也未将 NeMo 等特定格式文件标记为潜在风险。
Unit 42 恶意软件研究工程师 Curtis Carmony 指出:“Hugging Face 上的模型依赖超过 100 种 Python 库,其中近半数使用 Hydra。虽然文件格式本身可能安全,但处理它们的代码存在巨大攻击面。”随着开源人工智能生态的快速发展,安全防护必须跟上技术创新的步伐。此次事件再次提醒业界,即使是最基础的工具链组件,也可能成为攻击链上的关键一环。,
给开发者的 AI 安全建议
为了防范此类利用模型元数据进行的攻击,开发者和用户应采取以下措施:,
- 及时更新 :使用 NeMo、Uni2TS、FlexTok 库的开发人员应立即升级至已修复的安全版本。
- 来源验证 :仅从官方仓库或绝对可信的渠道下载模型文件,对来源不明的模型保持警惕。
- 配置审查 :如果项目中使用 Hydra 的 `instantiate()` 函数,应自主实现危险函数阻止列表,对可实例化的对象进行严格限制。
- 推动平台监管 :建议 Hugging Face 等平台加强对模型元数据的安全扫描机制,从源头降低风险。