La sécurité des modèles LLM (Large Language Model) consiste à analyser les fichiers de modèles d'IA pré-entraînés afin de détecter tout code malveillant qui y serait intégré avant leur chargement dans un environnement. Les fichiers de modèles au format pickle, PyTorch, TensorFlow ou Keras peuvent exécuter du code dès leur chargement, ce qui en fait un risque pour la chaîne d'approvisionnement équivalent à l'exécution d'un logiciel non vérifié.
En bref / Points clés à retenir
- Les modèles pré-entraînés téléchargés depuis Hugging Face, Kaggle ou PyPI sont des codes exécutables, et non des données inertes.
- Selon le rapport « State of the Union 2026 » de JFrog, intitulé « Software » (Supply Chain ), 53 % des organisations récupèrent des modèles directement à partir de registres publics, dans lesquels des chercheurs ont identifié environ 495 modèles malveillants capables de voler des identifiants et de compromettre entièrement un système.
- Les formats basés sur Pickle (.pt, .pth, .bin, .pkl) exécutent des fonctions arbitraires via l'instruction REDUCE lors du chargement ; il s'agit là de la même faille structurelle que celle présente dans les graphes TensorFlow et les couches Lambda de Keras.
- Safetensors supprime complètement le moteur d'exécution, mais des centaines de milliers de modèles au format hérité restent en circulation, et le fait qu'un fichier d'un dépôt soit sûr ne garantit pas que le reste de ce dépôt le soit également.
- MetaDefender Aether™ examine les fichiers de modèles à travers cinq niveaux d'analyse, détectant ainsi des menaces telles que les charges utiles « pickle » empilées qui passent inaperçues lors des analyses effectuées par les scanners traditionnels.
Les modèles d'IA pré-entraînés constituent du code exécutable qui franchit une frontière de confiance
La création d'un modèle linguistique de grande envergure à partir de zéro nécessite des données, des ressources informatiques et du temps dont la plupart des organisations ne disposent pas. Les équipes préfèrent donc télécharger des modèles pré-entraînés à partir de plateformes publiques telles que Hugging Face, Kaggle et PyPI. Cette dépendance a créé un vecteur d'attaque au niveau de la chaîne d'approvisionnement que de nombreux programmes de sécurité négligent encore aujourd'hui.
Les entreprises procèdent déjà à une vérification rigoureuse des bibliothèques open source et des images de conteneurs qu’elles intègrent dans leurs environnements. Rares sont celles qui appliquent ce même niveau de rigueur aux modèles d’IA que leurs équipes téléchargent, alors qu’un fichier de modèle n’est pas simplement un tableur rempli de chiffres. Selon son format, un fichier de modèle peut être un programme qui s’exécute dès son chargement.
À lui seul, Hugging Face héberge bien plus d’un million de modèles, dont la plupart n’ont jamais fait l’objet d’un contrôle de sécurité. Selon le rapport « State of the Union 2026 » de JFrog, intitulé «Software » (Supply Chain ), 53 % des organisations récupèrent désormais leurs modèles directement à partir de registres publics, et les chercheurs ont identifié environ 495 modèles malveillants dans ces registres, capables de voler des identifiants, d’exécuter du code et de compromettre entièrement un système. Un modèle LLM est un logiciel exécutable qui franchit une frontière de confiance.
Comment les menaces liées aux modèles sont passées de la théorie à la mise en œuvre
La menace s'est développée par étapes : avertissements théoriques, démonstrations de principe, abus concrets au sein de la chaîne d'approvisionnement et techniques de contournement destinées à déjouer les scanners.
L'évolution des menaces liées aux modèles, 2018-2026
Phase | Calendrier | Qu'est-ce qui a changé ? | Exemples représentatifs |
Théorie | 2018 | Des chercheurs mettent en garde contre le risque de manipulation des modèles réutilisés et pré-entraînés provenant de sources non fiables | Attaques par réutilisation de modèles contre les systèmes d'apprentissage profond |
Démonstration de faisabilité | 2023-2024 | Des modèles véritablement malveillants font leur apparition ; il a été démontré que les formats basés sur Pickle transportent des charges utiles actives | star23/baller13, un modèle utilisant une coque inversée, a fait son apparition sur Hugging Face |
À l'état sauvage | 2024-2025 | Le volume augmente, grâce à la chaîne d'approvisionnement assurée par les registres de colis | Les paquets PyPI portant la marque Alibaba marquent l'apparition d'attaques visant la chaîne d'approvisionnement des modèles de langage à grande échelle (LLM) |
Techniques avancées d'évasion | 2024-2025 | Charges utiles superposées et empilées, conçues pour déjouer les inspections rapides | Une preuve de concept « Stacked Pickle » a obtenu un score de 0/70 sur VirusTotal |
Un format plus sûr | 2023-2026 | Un format exclusivement dédié aux données, incapable de transporter du code, a été introduit, mais les modèles existants restent largement utilisés. | Safetensors devient la solution par défaut pour les nouveaux modèles commercialisés |
Les fichiers Pickle et PyTorch exécutent le code dès leur chargement
Pickle est le format de sérialisation natif de Python et a constitué pendant des années la méthode standard pour enregistrer des modèles sur disque. PyTorch s'est appuyé sur ce format pour créer ses fichiers .pt, .pth et .bin, et de nombreux modèles ont été publiés dans ces formats. Il existe aujourd'hui des options plus sûres, mais elles sont présentées en un langage commercial abstrait. Une grande partie des modèles qui circulent encore sur les plateformes publiques reste basée sur Pickle, et les équipes les chargent quotidiennement.

Le format Pickle ne stocke pas seulement des données. Il s'agit d'un flux d'instructions qu'une machine virtuelle exécute lors du chargement du fichier et de la reconstruction des objets Python. Ce flux peut appeler des fonctions arbitraires ; par conséquent, le chargement d'un modèle au format Pickle peut également entraîner l'exécution de code.
Les pirates exploitent l'instruction REDUCE de pickle, qui ordonne au chargeur d'appeler une fonction spécifiée avec des arguments choisis par le pirate lors du dé-pickling. Cela permet de lancer un shell inversé, d'injecter une charge utile de deuxième phase ou de remplacer une clé SSH, tandis que le modèle continue de se charger et de se comporter comme un fichier légitime.
TensorFlow et Keras présentent des risques similaires. Des graphes TensorFlow malveillants peuvent introduire clandestinement des opérateurs d’écriture de fichiers ou de réseau dans le graphe de calcul, tandis que les couches Lambda de Keras peuvent contenir du bytecode Python marshalé qui se désérialise au chargement. Chaque format permet à un fichier de contenir un comportement exécutable. Ce risque est structurel ; la correction d’un simple bug ne suffit donc pas à l’éliminer. Cette limitation a contraint le secteur à trouver un format plus sûr.

Des incidents réels ont transformé cette théorie en une menace d'Supply Chain
Les premières mises en garde concernant les attaques par réutilisation de modèles sont apparues en 2018. Des chercheurs ont par la suite démontré que ce risque était bien réel. En janvier 2024, un modèle nommé « star23/baller13 » a fait son apparition sur Hugging Face, contenant un shell inversé au sein d’un fichier PyTorch. Il était capable de fournir un accès à distance tout en passant pour un modèle valide.



En mai 2025, la menace s'est étendue au domaine classique de la chaîne d'approvisionnement. Les attaquants ont publié des paquets PyPI nommés « aliyun-ai-labs-snippets-sdk », « ai-labs-snippets-sdk » et « aliyun-ai-labs-sdk », qui se faisaient passer pour une boîte à outils d'IA d'Alibaba et chargeaient discrètement un modèle malveillant lors de leur utilisation. Ces paquets sont restés en ligne moins de 24 heures, mais ont tout de même été téléchargés environ 1 600 fois ; cela rappelle qu’une brève période d’exposition suffit amplement lorsque le téléchargement est effectué par un système automatisé de résolution des dépendances.

Les charges utiles « Stacked Pickle » déjouent les scanners traditionnels
En 2024, les pirates s'en prenaient aux scanners conçus pour détecter les modèles malveillants. L'exemple le plus frappant est la technique dite « Stacked Pickle », qui consiste à imbriquer plusieurs objets « pickle » et à répartir des instructions malveillantes entre les différentes couches, avant de les encapsuler dans un processus de compression et d'encodage.
Chaque couche semble inoffensive lorsqu’on l’examine isolément ; c’est pourquoi les scanners et les analyses manuelles qui se contentent d’un examen superficiel ne détectent rien. Lorsque le modèle se charge, les couches se décompressent les unes après les autres et reconstituent la charge utile. Un échantillon de preuve de concept créé à l’aide de cette technique n’a déclenché aucune détection sur aucun des moteurs de VirusTotal.
Un scanner qui analyse uniquement la couche visible peut passer à côté d'une charge utile dissimulée plus profondément dans le fichier. C'est ainsi que l'échantillon a réussi à échapper à tous les moteurs d'analyse.

Safetensors supprime complètement le moteur d'exécution
Safetensors stocke les poids des modèles sans moteur d'exécution. Un fichier contient un en-tête de métadonnées compact décrivant la forme, le type de données et le décalage en octets de chaque tenseur, suivi des octets bruts du tenseur. Il ne comporte ni flux d'instructions, ni machine virtuelle, ni équivalent à la fonction REDUCE de Pickle ; le chargeur ne peut donc pas recevoir d'instruction pour appeler une fonction.
Un fichier Safetensors est constitué de données inertes lues par le chargeur. Même un fichier conçu à des fins malveillantes ne peut pas exécuter de code lors de son chargement, car le format ne prévoit aucun chemin permettant l'exécution de ce code.

Pourquoi Safetensors a été créé, et pourquoi il s'est répandu
Le problème avec les formats traditionnels n'a jamais résidé dans les poids eux-mêmes. Il tenait au fait que le fichier pouvait également contenir des instructions exécutables. Hugging Face, en collaboration avec EleutherAI et Stability AI, a développé Safetensors, une solution spécialement conçue pour remplacer ces formats, qui supprime cette fonctionnalité tout en conservant ce dont les équipes ont besoin dans un fichier de poids.
Safetensors est également très pratique. Il se charge rapidement grâce à un accès par mappage en mémoire sans copie, fonctionne avec PyTorch, TensorFlow, JAX et d’autres frameworks, et est désormais la norme pour la plupart des nouvelles versions de modèles. Ces avantages ont contribué à sa diffusion sans qu’il soit imposé.

Un audit indépendant confirme les allégations relatives à la sécurité
Les responsables de la maintenance ne sont pas les seuls à étayer cette affirmation concernant la sécurité. La bibliothèque est écrite en Rust, dont le compilateur empêche l'apparition de toute une catégorie de bogues liés à l'analyse syntaxique. En 2023, Hugging Face, EleutherAI et Stability AI ont conjointement commandé un audit indépendant du format à Trail of Bits.
L'audit n'a révélé aucune faille critique susceptible d'entraîner l'exécution de code arbitraire. Il a mis en évidence quelques imprécisions dans les spécifications ainsi qu'une validation manquante qui avait permis l'utilisation de fichiers polyglottes. Les responsables du projet ont corrigé et publié toutes ces modifications, puis ont fait de Safetensors la valeur par défaut.
Les données enregistrées depuis lors corroborent les conclusions de l'audit. Les formats hérités ont donné lieu à des incidents réels depuis 2024, tandis qu'aucune attaque par exécution de code visant le format Safetensors lui-même n'a été démontrée au cours de la même période. Safetensors n'offre aux attaquants aucun mécanisme d'exécution permettant de mener le type d'attaque qui rend les fichiers au format « pickle » dangereux. Le risque résiduel provient des formats hérités qui sont encore largement utilisés.
Le modèle « Supply Chain » a toujours besoin d'une trappe d'inspection
Le risque tient au fait qu'un format de fichier de modèle puisse ou non contenir du code en plus de ses poids. C'est le cas des formats Pickle, PyTorch, TensorFlow et Keras ; ce n'est pas le cas du format Safetensors, de par sa conception. Les responsables de la sécurité doivent considérer les formats de modèles exécutables comme un risque, inspecter chaque modèle entrant dans l'environnement et orienter les équipes vers des formats sûrs dans la mesure du possible.
Des millions de modèles au format obsolète sont encore disponibles sur les plateformes publiques, et les équipes continuent de les télécharger. Un référentiel peut également contenir à la fois un fichier au format « pickle » et un fichier sécurisé ; par conséquent, la présence de poids Safetensors ne garantit pas la sécurité de l'ensemble du référentiel. La chaîne d'approvisionnement des modèles devra être soumise à un contrôle de sécurité jusqu'à ce que les formats obsolètes soient retirés.
Concrètement, cela se traduit par une liste de contrôle concise, présentant un faible taux de faux positifs :
- Privilégiez les fichiers Safetensors et considérez les formats hérités comme devant faire l'objet d'une vérification avant utilisation. Tout modèle au format .pt, .pth, .bin, .pkl, .pb ou .h5 provenant d'un éditeur non validé doit être analysé avant d'être chargé.
- Considérez le chargement d'un modèle au format hérité comme un événement d'exécution. Le chargement d'un modèle qui lance un shell, ouvre une connexion sortante depuis un interpréteur Python ou écrit dans un chemin d'accès sensible constitue un signal comportemental qui doit être intégré à la télémétrie de l'hôte, au même titre que n'importe quelle exécution de code.
- Analysez l'artefact dans son intégralité, et pas seulement le fichier de poids. L'unité d'analyse est le paquet de modèle tel qu'il est fourni, car le format d'un référentiel constitue une déclaration et non une garantie, tant qu'il n'a pas été vérifié.
Comment le pipeline à cinq niveaux d'MetaDefender Aether analyse les fichiers des modèles LLM
MetaDefender Aether™, la solution unifiée de détection des failles « zero-day » d’ OPSWAT, offre une efficacité de détection de 99,9 % grâce à un pipeline d’inspection à cinq niveaux. Chaque fichier soumis fait d’abord l’objet d’une analyse de type de fichier, qui identifie le fichier sans se fier uniquement à son extension. Chaque niveau d’analyse peut établir son verdict de manière indépendante. Dès qu’un niveau parvient à une conclusion définitive, l’analyse s’arrête, ce qui permet à la plupart des fichiers d’éviter les étapes plus approfondies et plus coûteuses.
- Réputation en matière de menaces. Le hachage du fichier et les indicateurs associés sont comparés à la base de données mondiale de renseignements sur les menaces de OPSWAT, qui s'appuie sur plus de 50 milliards d'indicateurs. Un hachage déjà associé à un fichier malveillant connu est bloqué en moins d'une seconde, et un fichier jugé inoffensif est validé tout aussi rapidement ; ainsi, seuls les fichiers inconnus sont autorisés à passer.
- Analyse statique. Avant toute exécution, le fichier est évalué par Predictive Alin AI, parallèlement à une analyse statique et à une analyse par un moteur antivirus. Predictive Alin AI fournit des verdicts basés sur l’apprentissage automatique en quelques millisecondes, sans recourir à un environnement de test (sandbox), grâce à un modèle entraîné sur des ensembles de données d’entreprise triés et respectueux de la vie privée, et amélioré en continu via une boucle de réentraînement « zero-day » alimentée par les détections confirmées d’ MetaDefender Aether. Pour les fichiers modèles, c’est à ce stade qu’un « pickle » suspect contenant des opcodes de charge utile reconnaissables est détecté avant même qu’un temps d’émulation ne lui soit consacré.
- Analyse dynamique. L'émulation au niveau des instructions résout le problème du « Stacked Pickle » en révélant le comportement d'un fichier sans avoir à démarrer une machine virtuelle complète pour chaque échantillon. Elle contourne les contrôles anti-VM et les délais d'exécution qui permettent de passer outre les sandbox traditionnelles, effectuant ainsi l'analyse en quelques secondes plutôt qu'en quelques minutes, avec une vitesse jusqu'à 20 fois supérieure et un volume jusqu'à 100 fois supérieur à celui des outils de sandboxing traditionnels.
- Évaluation de la menace. Cette couche combine les fonctions appelées, les tentatives de connexion, les signaux de réputation et d'autres éléments issus des trois premières couches. Elle s'appuie sur plus de 900 indicateurs comportementaux pour générer un score exploitable et une empreinte de similarité en vue de la phase finale.
- Recherche de menaces. La recherche de similitudes par apprentissage automatique établit des corrélations entre l'empreinte digitale et la base de données de renseignements sur les menaces de OPSWAT, ainsi qu'avec les comportements répertoriés par MITRE, afin d'identifier les variantes et les campagnes. Un modèle malveillant reconditionné ou renommé peut présenter un nouveau hachage, mais cette couche est toujours en mesure de détecter sa similitude avec un ancêtre malveillant connu.
L'ensemble du processus se déroule automatiquement. Il aboutit à un verdict global et à un rapport d'analyse qui établit un lien entre chaque indicateur et le comportement à l'origine de celui-ci.
MetaDefender Aether analyse les fichiers de modèles à chaque point d'entrée
Les modèles sont transmis via des téléchargements sur Internet, par e-mail, via des plateformes de transfert de fichiers et par des pipelines automatisés. Un point de contrôle doit couvrir tous ces canaux sans obliger les organisations à repenser l'infrastructure qui achemine le trafic.
Pour les canaux réseau, MetaDefender Aether s'intègre via ICAP, le protocole standard que les proxys, les passerelles de messagerie et les plateformes de transfert de fichiers utilisent déjà pour transmettre des fichiers à un service d'inspection. Lorsque le trafic ne transite jamais par un périphérique réseau, la même analyse est accessible via une interface REST API .
- Téléchargements Web. Lorsqu’un développeur récupère un modèle depuis Hugging Face ou Kaggle, le proxy ou la passerelle Web sécurisée transfère le téléchargement vers MetaDefender Aether via ICAP, et un fichier pickle malveillant est bloqué avant même d’atteindre le point de terminaison.
- E-mail. Les fichiers de modèles et les outils d'IA partagés en pièces jointes sont extraits et analysés via le même pipeline que n'importe quelle autre pièce jointe, ce qui permet de contourner les contrôles au niveau du registre par le biais de l'ingénierie sociale.
- Transferts de fichiers. Les modèles échangés avec des partenaires et des fournisseurs, ou transférés entre des zones internes via un système de transfert de fichiers géré, sont analysés pendant leur transit ; ainsi, la limite de confiance s'applique même aux fichiers qui ne passent jamais par un hub public.
- Pipelines et registres automatisés. Créez des tâches de compilation et des plateformes d'apprentissage automatique qui récupèrent les modèles par programmation et les soumettent via l'API avant que quoi que ce soit ne soit transféré vers un registre interne, comblant ainsi la faille précise exploitée par les paquets PyPI d'Alibaba, où la résolution des dépendances se charge du téléchargement et où personne ne voit jamais de fichier susceptible d'éveiller des soupçons.
Chaque route utilise le même pipeline d'inspection et la même logique de décision, ce qui exclut tout canal non surveillé susceptible d'être exploité par un attaquant.
La sécurité sans freiner les développeurs
Les équipes de sécurité négligent souvent la gestion du risque lié aux modèles, car il est impossible dans la pratique d'interdire les téléchargements depuis des hubs publics. MetaDefender Aether permet aux développeurs de conserver leurs workflows existants tandis que le pipeline analyse les modèles en ligne à la vitesse d'émulation. Les téléchargements bloqués s'accompagnent d'un rapport justificatif expliquant la décision.
Découvrez comment Aether d'MetaDefender . analyse les fichiers de modèles LLM avant qu'ils ne franchissent votre périmètre de confiance.
Questions fréquemment posées
Qu'est-ce que la sécurité des modèles LLM ?
La sécurité des modèles LLM consiste à inspecter les fichiers de modèles d'IA pré-entraînés afin de détecter tout code malveillant qui y serait intégré avant leur chargement dans un environnement. Elle considère les modèles téléchargés à partir de plateformes publiques comme des logiciels exécutables franchissant une frontière de confiance, et non comme des données inertes.
Pourquoi les fichiers Pickle sont-ils dangereux pour les modèles d'IA ?
Une machine virtuelle exécute le flux d'instructions d'un fichier Pickle au fur et à mesure de son chargement. L'instruction REDUCE permet à un attaquant d'appeler des fonctions arbitraires au cours de ce processus ; ainsi, le chargement d'un modèle au format Pickle peut entraîner l'exécution, sans avertissement, d'un code contrôlé par l'attaquant.
Qu'est-ce que Safetensors, et en quoi diffère-t-il de pickle ?
Safetensors est un format de fichier exclusivement dédié aux données, destiné au stockage des poids de modèles. Il contient un en-tête de métadonnées et des octets de tenseurs bruts, sans moteur d'exécution ni équivalent à l'instruction REDUCE de pickle. Alors qu'un fichier pickle est un programme exécuté par le chargeur, un fichier Safetensors est constitué de données inertes lues par le chargeur.
Un fichier Safetensors peut-il tout de même être malveillant ?
Un fichier Safetensors ne peut pas exécuter de code lors de son chargement, car son format ne prévoit aucun chemin d'exécution. Cependant, un référentiel peut contenir un fichier hérité au format pickle aux côtés de poids Safetensors sûrs ; il est donc nécessaire de procéder à une inspection complète du référentiel.
Comment MetaDefender Aether détecte-t-il les modèles LLM malveillants ?
MetaDefender Aether analyse les fichiers de modèles à travers cinq couches : réputation des menaces, analyse statique, analyse dynamique, notation des menaces et recherche active de menaces. Il bloque la plupart des fichiers avant qu’ils n’atteignent les étapes plus approfondies et plus coûteuses, et est capable de détecter des charges utiles « pickle » empilées qui échappent aux scanners traditionnels à couche unique.
Vérifiez chaque modèle avant qu'il ne franchisse votre périmètre de confiance
Les équipes s'appuient désormais sur des modèles réutilisés et pré-entraînés, mais chaque téléchargement provenant d'une source publique soulève la même question : le fichier contient-il uniquement des données, ou peut-il exécuter du code ? MetaDefender Aether apporte une réponse avant même le chargement du modèle, en appliquant cinq niveaux d'analyse aux téléchargements Web, aux e-mails, aux transferts de fichiers et aux pipelines automatisés.
