# 第三方扫描器：JFrog

[JFrog](https://jfrog.com/) 的安全扫描器可检测机器学习模型中的恶意行为。

![JFrog report for the danger.dat file contained in mcpotato/42-eicar-street](https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/hub/jfrog-report.png) *[danger.dat](https://huggingface.co/mcpotato/42-eicar-street/blob/main/danger.dat) 的报告示例*

我们[与 JFrog 合作](https://hf.co/blog/jfrog)提供扫描功能，以提升 Hub 的安全性。模型文件会由 JFrog 扫描器进行扫描，我们则在 Hub 界面上展示扫描结果。

JFrog 的扫描器旨在降低误报率。事实上，我们目前观察到，模型权重中包含的代码并不总是恶意的。当在文件中检测到代码时，JFrog 的扫描器会对其进行解析和分析，以检查是否存在潜在的恶意用途。

    
    

以下是一个示例仓库，您可以查看它以了解该功能的实际效果：[mcpotato/42-eicar-street](https://huggingface.co/mcpotato/42-eicar-street)。

## 模型安全回顾

为了共享模型，我们会序列化用于与模型交互的数据结构，以便于存储和传输。某些序列化格式存在严重的安全漏洞，例如任意代码执行（pickle 就是典型例子），这使得共享模型可能存在潜在风险。

随着 Hugging Face 成为流行的模型共享平台，我们希望保护社区免受此类威胁，因此我们开发了诸如 [picklescan](https://github.com/mmaitre314/picklescan) 之类的工具，并集成了第三方扫描器。

Pickle 并非唯一存在漏洞的格式，[请参阅参考](https://github.com/Azure/counterfit/wiki/Abusing-ML-model-file-formats-to-create-malware-on-AI-systems:-A-proof-of-concept)了解如何利用 Keras Lambda 层实现任意代码执行。

