ModelScan是由AI初创公司ProtectAI提供的一个开源项目,旨在扫描机器学习模型以确定它们是否包含不安全的代码。它是首个支持多种模型格式的扫描工具,目前支持H5、Pickle和SavedModel格式。这个工具用于保护使用PyTorch、TensorFlow、Keras、Sklearn、XGBoost等框架的用户,目前有140+satr。
模型通常由自动化管道创建,其他模型可能来自数据科学家的电脑中。无论哪种情况,模型都需要在使用之前从一台机器移动到另一台机器。将模型保存到磁盘的过程称为序列化。
模型序列化攻击是指在分发之前,在序列化(保存)期间将恶意代码添加到模型的内容中,这是特洛伊木马的现代版本。
该攻击通过利用模型的保存和加载过程来发挥作用。在使用加载模型时,PyTorch 会打开文件的内容并开始运行其中的代码。加载漏洞利用已执行的模型的第二秒。
model = torch.load(PATH)
模型序列化攻击可用于执行:
工具使用方式
安装
pip install modelscan
安装完成后,扫描模型
modelscan -p /path/to/model_file.h5
支持参数
扫描结果
将ModelScan集成到ML Pipeline或CI/CD Pipeline
下面的红色块在传统的 ML 管道中突出显示了这一点。
项目地址:https://github.com/protectai/modelscan
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。