北京市朝阳区东三环南路48号北人泽洋大厦 proficient@sina.com

案例中心

TensorFlow AI 模型因 Keras API 缺陷而面临风险

2025-04-08

TensorFlow Keras API 存在安全隐患

关键点总结

Keras API 存在漏洞,可能使 TensorFlow AI 模型面临供应链攻击风险。漏洞编号为 CVE20243660,影响 Keras 213 版本之前的所有版本。Lambda Layers 的处理存在缺陷,攻击者可能会植入恶意代码。建议用户升级到 Keras 213 及以上版本,以开启默认的安全模式。

TensorFlow 的 AI 模型可能由于 Keras API 中的一个漏洞而面临供应链攻击的风险,该漏洞允许执行潜在的不安全代码。

Keras 是一个用于神经网络的 API,使用 Python 编写,并为深度学习软件库如 TensorFlow 和 Theano 提供了高级接口。

TensorFlow AI 模型因 Keras API 缺陷而面临风险

这项漏洞被跟踪为 CVE20243660,并于上周二由 CERT 协调中心 披露。该漏洞源于对 Lambda Layers 的处理,这是一种 AI 的“构建模块”,允许开发人员将任意的 Python 代码作为匿名的 lambda 函数添加到模型中。

在早期的 Keras 版本中,包含在 Lambda Layers 中的代码可以在没有任何检查的情况下被反序列化并执行,这意味着攻击者可以分发带有恶意 Lambda Layers 的流行模型版本,并在载入该模型的用户系统上执行代码。

“这只是长达十年以上的一系列模型注入漏洞中的又一个,包括之前 Keras 模型中的命令注入问题。”Protect AI 的首席 AI 威胁研究员 Dan McInerney 在给 SC Media 的邮件中表示。

Keras 213 及后续版本引入了一个名为“safemode”的参数,默认设置为“True”,可以防止不安全的 Lambda Layers 被反序列化,从而触发任意代码执行。但是,这一检查仅适用于以 Keras 3 格式序列化的模型文件扩展名为 keras,这意味着使用旧格式的 Keras 模型仍然可能存在风险。

该漏洞对使用 TensorFlow 模型的开发人员构成了潜在的供应链风险。开发人员可能在不知情的情况下将带有恶意 Lambda Layer 的第三方模型整合到自己的应用程序中,或者基于包含恶意代码的基础模型构建自己的模型。

模型用户和创建者被敦促将 Keras 升级到至少 213 版本,并确保安全模式参数设置为“True”,以避免 Lambda Layers 的任意代码执行。模型还应以 Keras 3 序列化格式保存和加载。

“模型用户只能使用由可靠来源开发和分发的模型,并且在部署前应始终验证模型的行为。在集成机器学习模型的应用程序中,用户应遵循与任何包含第三方组件的应用程序相同的开发和部署最佳实践。”CERT 的研究人员写道。

蜜蜂加速器七天试用ios

像 Hugging Face、GitHub、npm 和 PyPI 等开源软件托管平台由于现代软件对开源第三方代码的高度依赖,常常成为供应链攻击的热门目标。随着近几年 AI 发展的蓬勃发展,针对 AI 模型的供应链威胁可能会增加。

“这一风险因不安全模型格式如 pickle长期以来被机器学习社区接受为默认模型格式而加剧,加上从在线库如 Hugging Face下载的第三方模型使用急剧增加。”McInerney 表示。

实际上,早在本月初,就发现了不安全的 pickle 格式恶意模型在 Hugging Face 平台上流通。

“有一些有用的开源工具,如 ModelScan,可以检测恶意模型,但这不太可能是强迫模型执行恶意代码的最后一种新方法,而最终用户甚至未必意识到。”McInerney 总结道。