Cybersécurité · Septembre 2026

Votre chaîne d'approvisionnement IA exécute aussi du code

Poids de modèles, paquets, CLI d'IA, serveurs MCP et skills : chaque pièce que vous installez s'exécute avec vos droits. Les attaques déjà observées, les contrôles qui fonctionnent et ce qu'exige l'Union européenne depuis le 11 septembre 2026.

21,7 % paquets hallucinés (modèles ouverts)341 skills malveillants sur ClawHub24 h alerte précoce du CRA
En bref

La chaîne d'approvisionnement d'une application d'IA ne se limite plus à npm ou PyPI : elle comprend les poids de modèles, les jeux de données, les CLI et extensions d'IA, les serveurs MCP et les skills. En 2025 et 2026, on a vu des modèles qui exécutaient du code au chargement, des paquets enregistrés sous des noms inventés par les modèles, des paquets compromis qui utilisaient les CLI d'IA de la victime pour chercher des secrets et une place de marché de skills comptant des centaines d'éléments malveillants.

Les contrôles connus restent valables (versions figées, moindre privilège, registres privés, inventaire), avec une nuance nouvelle : une signature valide ne prouve pas que le code est sûr. Et depuis le 11 septembre 2026, tout éditeur qui vend des produits logiciels dans l'Union européenne, y compris depuis la Colombie, doit émettre sous 24 heures une alerte précoce sur les vulnérabilités activement exploitées.

La nouvelle chaîne d'approvisionnement de l'IA

Une application d'IA dépend de bien plus que de son propre code. Chacune de ces pièces est écrite par quelqu'un d'autre, arrive par un registre ou une place de marché et s'exécute avec vos droits :

  • Poids et fichiers de modèles, souvent téléchargés depuis Hugging Face, dans des formats qui peuvent exécuter du code au chargement.
  • Jeux de données de fine-tuning, d'évaluation et d'index RAG, qui décident de ce que le modèle apprend et répète.
  • Paquets et SDK, comme les passerelles d'IA et les frameworks d'agents, exposés aux mêmes attaques npm et PyPI que n'importe quelle bibliothèque.
  • CLI et extensions d'IA pour l'IDE, qui travaillent avec les fichiers, jetons et sessions cloud du développeur.
  • Serveurs MCP : du code qui tourne sur votre machine, plus des descriptions d'outils que le modèle lit comme des instructions.
  • Prompts, skills et fichiers de règles : des instructions en langage naturel qui, comme le souligne Unit 42 à propos des skills d'agents, s'exécutent avec tous les droits de l'agent.

Le Top 10 de l'OWASP pour les applications de LLM classe la chaîne d'approvisionnement en LLM03 et l'empoisonnement des données et des modèles en LLM04 ; la liste agentique ajoute ASI04, les vulnérabilités de la chaîne d'approvisionnement agentique. La surface d'attaque n'est pas nouvelle par nature, mais par sa vitesse : un agent installe, exécute et enchaîne ces pièces sans qu'un humain les lise.

Fichiers de modèles et données : du code qui s'exécute au chargement

Pickle, le format par défaut des poids PyTorch, peut exécuter du code arbitraire au chargement d'un fichier. Hugging Face analyse les fichiers déposés, mais prévient que cette analyse n'est pas infaillible. La menace est réelle : en février 2024, JFrog a trouvé une centaine de modèles sur la plateforme avec de vraies charges malveillantes, dont l'un ouvrait un reverse shell au chargement. Un an plus tard, ReversingLabs a découvert deux modèles (« nullifAI ») empaquetés dans des fichiers pickle volontairement corrompus qui échappaient à Picklescan, le scanner de la plateforme ; Hugging Face les a retirés en moins de 24 heures et a mis l'outil à jour.

L'échelle compte aussi. En avril 2025, Protect AI et Hugging Face avaient analysé 4,47 millions de versions de modèles dans 1,41 million de dépôts et signalé 352 000 problèmes dangereux ou suspects sur 51 700 modèles. Une voie plus sûre existe : safetensors stocke les tenseurs sans code exécutable (un audit de Trail of Bits en 2023 n'a trouvé aucune faille critique permettant d'exécuter du code arbitraire), et PyTorch 2.6 a fait du chargement des seuls poids le comportement par défaut en janvier 2025.

Les poids ne sont pas le seul vecteur. En 2025, Pillar Security a montré des instructions cachées dans le modèle de chat d'un fichier GGUF, invisibles pour les scanners qui n'inspectent que les poids. Côté données, les chiffres publics sur l'empoisonnement réel de modèles d'entreprise sont rares ; le risque documenté se situe dans la chaîne de traitement. En avril 2026, l'OWASP a relié la compromission de LiteLLM à une brèche chez Mercor, fournisseur de données pour l'IA, qui a exposé des flux de données d'entraînement de laboratoires, selon WIRED.

Règle pratique

Ne chargez que des safetensors (ou d'autres formats sans exécution de code) d'éditeurs vérifiés, avec une version figée par empreinte. Traitez tout modèle livré avec son propre code ou ses propres gabarits comme un logiciel tiers : relisez-le avant la production.

Paquets hallucinés : le slopsquatting

Les modèles de code recommandent parfois des paquets qui n'existent pas. Une étude présentée à USENIX Security 2025 (Spracklen et al.) a testé 16 modèles générateurs de code sur 576 000 échantillons : au moins 5,2 % des paquets suggérés étaient inventés pour les modèles commerciaux et 21,7 % pour les modèles open source, soit 205 474 noms uniques inexistants. Il suffit à un attaquant d'enregistrer les noms que les modèles inventent régulièrement et d'attendre : c'est le slopsquatting.

Les agents rendent le risque concret. En avril 2026, ReversingLabs a décrit PromptMink : un agent de code a ajouté une dépendance npm malveillante à un projet d'agent de trading de cryptomonnaies, dans un commit co-signé par Claude Opus, exposant des portefeuilles. ReversingLabs relie la campagne à Famous Chollima, un groupe lié à la Corée du Nord qui empile des paquets pour tromper les assistants de code plus que les humains.

Conséquence pratique : un agent qui peut lancer npm install ou pip install est un nouveau développeur sans moyen de savoir quels paquets sont réels. Faites passer ses installations par une liste d'autorisation ou un registre privé, et relisez les changements du lockfile comme n'importe quel code.

Les attaques qui ont utilisé des outils d'IA, 2025–2026

Des attaques classiques de la chaîne d'approvisionnement, avec une cible nouvelle : les outils d'IA sur le poste du développeur.

Sélection d'incidents publics ; chiffres tels que publiés par les sources citées.
DateIncidentCe qui s'est passéLeçon
Juillet 2025Amazon Q Developer pour VS Code 1.84.0Publiée avec un prompt injecté demandant à l'agent d'effacer des ressources locales et cloud ; l'attaquant est entré grâce à un jeton GitHub aux droits trop larges. Selon AWS, une erreur de syntaxe a empêché l'exécutionRéduisez au minimum les jetons de CI
Août 2025s1ngularity (Nx, environ 6 millions d'installations par semaine)Des versions malveillantes, en ligne environ 4 heures, ont tenté d'utiliser les CLI d'IA de la victime (Claude, Gemini) pour chercher des secrets, puis les ont publiés dans des dépôts GitHub publicsVotre CLI d'IA travaille aussi pour l'attaquant
Septembre et novembre 2025Vers Shai-Hulud (npm)Plus de 500 paquets compromis lors de la première vague (CISA) ; environ 700 paquets et plus de 25 000 dépôts de secrets volés lors de la seconde (Wiz)Figez les versions et exigez une MFA résistante au phishing
Septembre 2025postmark-mcpLe premier serveur MCP malveillant documenté : après 15 versions saines, la 1.0.16 copiait en silence chaque e-mail sortant vers un attaquantUn historique propre ne prouve rien
Février 2026ClawHavoc (skills de ClawHub)Koi Security a trouvé 341 skills malveillants sur 2 857 audités ; 335 installaient un voleur de données macOS via de fausses étapes d'installation préalablesUn skill est du code, même rédigé en langage naturel
Mars 2026LiteLLM (environ 95 millions de téléchargements par mois)Deux versions piégées sur PyPI, en ligne environ 40 minutes, volaient des secrets cloud, SSH et Kubernetes ; l'accès remonte à un scanner de sécurité compromis dans sa CIQuarante minutes suffisent
Septembre 2026TeamPCP (rapport de Google GTIG)Copies piégées de serveurs MCP sur PyPI, fichiers cachés dans les dossiers .claude et .cursor, et paquets publiés avec des attestations signées valides grâce à des jetons de CI volésLa provenance ne prouve pas la sécurité

Autre signal : en février 2026, Socket a trouvé 19 paquets npm aux noms quasi identiques à des paquets légitimes ; l'un de leurs modules installait un faux serveur MCP dont les descriptions d'outils demandaient aux assistants de code de lire les clés SSH, les identifiants cloud et les fichiers .env.

Les contrôles qui fonctionnent, et leurs limites

Synthèse de Slash à partir des recommandations et incidents cités dans cet article.
ContrôleCe qu'il couvreLimite
Provenance vérifiée : éditeurs officiels, noms en DNS inversé dans le MCP RegistryUsurpation et typosquattingUn éditeur légitime peut être compromis (LiteLLM)
Signature : model signing v1.0 de l'OpenSSF (Sigstore) et attestations de build signéesAltération entre l'éditeur et vousUne signature faite avec un jeton volé reste valide
AI-BOM ou ML-BOM (CycloneDX, SPDX 3.0)Savoir quel modèle, quel jeu de données et quelle version de paquet tourne oùN'est utile que s'il est tenu à jour
Versions figées, lockfiles et empreintesVersions malveillantes éphémères et versExige un processus pour appliquer vite les vrais correctifs
Miroir privé avec liste d'autorisation et analysePaquets hallucinés, fichiers pickle, serveurs MCP inconnusLes scanners peuvent être contournés (nullifAI, skills aux fichiers gonflés)
Agents et CLI d'IA en bac à sableVol de secrets par des scripts ou des instructions injectéesTout ce que le bac à sable peut encore atteindre
Jetons à moindre privilège et de courte durée, hygiène des secrets en CILa portée d'un jeton volé (Amazon Q, Nx)Un compte de mainteneur aux droits légitimes

L'OpenSSF a publié model signing v1.0 en avril 2025 avec Google, NVIDIA et HiddenLayer : une bibliothèque et une CLI pour signer et vérifier des modèles de tout format avec Sigstore, des certificats autosignés ou des paires de clés. CycloneDX prend en charge un ML-BOM qui recense modèles, jeux de données et leur provenance, et SPDX 3.0 comporte des profils IA et jeux de données. Pour MCP, Invariant Labs recommande d'afficher les descriptions complètes des outils et de figer les serveurs par empreinte, car un serveur peut les modifier après votre approbation.

La provenance n'est pas une preuve

Le groupe de renseignement sur les menaces de Google a indiqué en septembre 2026 que le voleur DUSTMAKER publie des paquets compromis avec des attestations SLSA Build 3 valides et signées, obtenues grâce à des jetons de CI volés, qui passent les contrôles de confiance automatiques des agents de code. Une signature dit qui a publié ; ce que le code peut faire, seuls la revue et le moindre privilège le limitent.

Cyber Resilience Act : la déclaration est obligatoire

Le Cyber Resilience Act (CRA, règlement (UE) 2024/2847) est entré en vigueur le 10 décembre 2024 ; ses obligations principales s'appliquent au 11 décembre 2027, mais la déclaration a commencé le 11 septembre 2026. Les fabricants de produits comportant des éléments numériques doivent signaler les vulnérabilités activement exploitées et les incidents graves via la plateforme unique de l'ENISA, à destination du CSIRT de leur établissement principal.

Délais selon la Commission européenne.
DélaiQuoi envoyer
24 heuresAlerte précoce
72 heuresNotification
14 jours après la disponibilité d'un correctifRapport final (vulnérabilité)
Un moisRapport final (incident grave)

Pour l'IA, le lien est direct : une dépendance piégée comme les versions de LiteLLM, activement exploitée dans votre produit, déclenche le délai de 24 heures, et sans AI-BOM vous ne pouvez pas savoir en une journée si vous l'avez livrée. Les éditeurs colombiens qui vendent ces produits dans l'UE sont concernés même sans bureau en Europe ; faites confirmer le périmètre et le CSIRT compétent par votre conseil, à l'aide du guide pratique publié par la Commission en juillet 2026. Si des données personnelles sont touchées, la loi colombienne 1581 de 2012 impose aussi de déclarer l'incident à la SIC.

Check-list pour les équipes qui construisent avec l'IA

  1. Tenez un AI-BOM : chaque modèle, jeu de données, paquet, CLI d'IA, serveur MCP et skill, avec version et responsable.
  2. Ne chargez des modèles qu'en safetensors, d'éditeurs vérifiés, figés par empreinte.
  3. Faites passer les installations des personnes et des agents par un registre privé avec liste d'autorisation.
  4. Figez les dépendances, relisez les changements du lockfile et attendez avant d'adopter une version toute neuve.
  5. Utilisez des jetons de CI de courte durée et de portée minimale, et exigez une MFA résistante au phishing pour publier.
  6. Exécutez agents de code et CLI d'IA dans un bac à sable, loin des clés SSH, des identifiants cloud et des fichiers .env.
  7. Validez serveurs MCP et skills comme un fournisseur : lisez les descriptions, figez les versions et soyez alerté des changements.
  8. Répétez l'exercice CRA : détecter, décider et envoyer l'alerte précoce sous 24 heures.

La place de Slash : notre activité de cybersécurité couvre l'évaluation, le durcissement et la remédiation des applications web et des API, et lors d'un pentest, les composants d'IA que charge votre application font partie de la surface que nous examinons. À lire aussi : injection de prompt, MCP expliqué et le code agentique.

L'essentiel

  • La chaîne d'approvisionnement de l'IA comprend fichiers de modèles, jeux de données, CLI d'IA, serveurs MCP et skills, qui s'exécutent tous avec vos droits.
  • Les modèles au format pickle peuvent exécuter du code au chargement : privilégiez safetensors, d'éditeurs vérifiés, figés par empreinte.
  • Les modèles inventent des noms de paquets (21,7 % pour les modèles ouverts dans une étude) : contrôlez ce qu'installent les agents.
  • Des attaques récentes ont retourné les outils d'IA de la victime contre elle (Nx, TeamPCP) : bac à sable et jetons minimaux.
  • Depuis le 11 septembre 2026, le CRA impose une alerte précoce sous 24 heures, y compris aux éditeurs colombiens qui vendent dans l'UE.

Sources

  1. Data scientists targeted by malicious Hugging Face ML models with silent backdoor · JFrog, 2024-02-27
  2. Malware in ML models hosted on Hugging Face (nullifAI) · ReversingLabs, 2025-02-06
  3. Protect AI and Hugging Face: six months of model scanning · Hugging Face, 2025-04-14
  4. We Have a Package for You! Package hallucinations by code-generating LLMs · arXiv (USENIX Security 2025), 2024-06-12
  5. s1ngularity: postmortem of the Nx supply-chain attack · Nx, 2025-08
  6. Widespread supply chain compromise impacting npm ecosystem · CISA, 2025-09-23
  7. Shai-Hulud 2.0: ongoing supply chain attack · Wiz, 2025-11-24
  8. Security update, March 2026 · LiteLLM, 2026-03-24
  9. OpenClaw and the AI supply chain risk of agent skills · Palo Alto Networks Unit 42, 2026-06-23
  10. From prompting to autonomy: the evolution of adversarial AI · Google Threat Intelligence Group, 2026-09-08
  11. Launch of model signing v1.0 · OpenSSF, 2025-04-04
  12. Cyber Resilience Act: reporting obligations · European Commission, 2026-09-11

Note éditoriale : cette analyse reflète les informations publiques disponibles à la date de révision. Modèles, prix et règles évoluent vite ; chaque donnée tierce renvoie à sa source et nos opinions sont présentées comme telles. Une erreur ? Écrivez à contact@slash-digital.io.

Questions fréquentes

Les questions qu'on nous pose souvent

Qu'est-ce que le slopsquatting ?

Enregistrer des noms de paquets que les modèles d'IA inventent, pour que le code ou les agents qui suivent la suggestion installent le paquet de l'attaquant. Une étude de 2025 a mesuré au moins 5,2 % de paquets inventés pour les modèles commerciaux et 21,7 % pour les modèles open source.

Safetensors suffit-il à rendre un modèle sûr ?

Il supprime l'exécution de code au chargement, principal risque lié au format. Il ne prouve pas que les poids se comportent bien, et les gabarits ou le code livrés avec le modèle doivent aussi être relus.

Les serveurs MCP du registre officiel sont-ils sûrs ?

Le MCP Registry, lancé en préversion en septembre 2025, rattache les noms à des comptes GitHub ou des domaines vérifiés et s'appuie sur une modération communautaire pour bloquer les serveurs malveillants. Il ne remplace pas votre revue : figez les versions et lisez les descriptions. Plus de détails dans MCP expliqué.

Le CRA s'applique-t-il à une entreprise colombienne ?

Si elle met sur le marché de l'UE des produits comportant des éléments numériques, oui : la déclaration s'applique depuis le 11 septembre 2026 et les obligations principales à partir du 11 décembre 2027. Faites valider le périmètre de vos produits par un conseil juridique.

Par où commencer ?

Par l'inventaire (AI-BOM) : sans lui, impossible de savoir en 24 heures si un modèle, un paquet ou un serveur MCP compromis se trouve dans votre produit. Ensuite, figez les versions et isolez vos agents dans un bac à sable.

Parler à Slash

Mettons-le en production

Racontez-nous votre défi. Nous répondons sous 24 heures ouvrées avec une première lecture honnête : si nous pouvons aider, nous dirons comment ; sinon, nous dirons qui peut.

Je réponds en personne. Pas de formulaires interminables ni de réponses automatiques.

Écrire à Esteban