Le partage ouvert de modèles a fait des points de contrôle pickle de PyTorch un canal de distribution de la confiance. Pickle était pratique, mais la documentation de sécurité de Hugging Face explique que la désérialisation de pickle peut exécuter du code, y compris des fonctions intégrées dangereuses telles que eval ou exec.
SafeTensors a répondu en restreignant le format. Il stocke les tenseurs de manière sûre, maintient un chargement rapide grâce à l'accès à copie nulle et permet un chargement partiel afin que les grands fragments de modèle n'aient pas à être désérialisés en une seule fois. L'astuce réside dans la soustraction : les poids de modèle deviennent de simples données.
Après un audit de Trail of Bits en 2023, Hugging Face, EleutherAI et Stability AI se sont orientés vers la généralisation de SafeTensors comme format d'enregistrement par défaut des modèles. La documentation mentionne un large soutien des projets, et les API de sérialisation de Hugging Face recommandent désormais la sérialisation sûre pour des raisons de sécurité.
Les poids ne devraient jamais s'exécuter
Il a supprimé l'exécution de code arbitraire au lieu de tenter de mettre sur liste noire les imports pickle malveillants.
La copie nulle et le chargement différé ont rendu la sécurité plus rapide, et non plus lente.
Une surface de format minuscule a rendu l'audit externe réalisable.
Les flux de conversion du hub ont permis aux modèles existants de migrer sans attendre que chaque auteur apprenne un nouvel outil.
Lorsqu'un fichier est partagé à l'échelle d'Internet, éliminer toute une classe d'attaques vaut mieux que tenter d'inspecter chaque fichier dangereux.
Suites
SafeTensors s'est répandu dans la pile d'outils d'IA à mesure que les modèles ouverts se développaient. La documentation de Hugging Face mentionne son adoption par Transformers, Diffusers, llama.cpp, ComfyUI et d'autres projets, tandis que l'article d'audit de 2023 indiquait que Transformers s'orienterait vers l'enregistrement des modèles au format SafeTensors par défaut.
VÉRIFIEZ LES SOURCES
Les sources
- Pickle Scanning Hugging Face · huggingface.co
- Audit shows that safetensors is safe and ready to become the default Hugging Face · huggingface.co ·
- Safetensors Hugging Face · huggingface.co