En bref

  • Le groupe TeamPCP a compromis les versions 1.82.7 et 1.82.8 de LiteLLM sur PyPI, une bibliothèque IA téléchargée 3,4 millions de fois par jour.
  • L'attaque a exposé 33 185 secrets sur 6 943 machines, avec 3 760 credentials encore valides au moment de la découverte.
  • Les développeurs utilisant LiteLLM doivent vérifier leurs versions, révoquer leurs clés et auditer leurs environnements Kubernetes.

L'attaque supply chain la plus massive de 2026

TeamPCP, le groupe derrière la compromission de Trivy qui avait déjà touché la Commission européenne, a frappé un coup bien plus large en piégeant LiteLLM, une bibliothèque Python incontournable de l'écosystème IA. Présente dans 36 % des environnements cloud, LiteLLM sert de couche d'abstraction permettant aux développeurs d'interagir avec différents modèles d'IA (OpenAI, Anthropic, Google, etc.) via une interface unifiée, selon The Hacker News.

Les versions 1.82.7 et 1.82.8, publiées le 24 mars 2026 sur PyPI, contenaient un payload en trois étapes : un collecteur de credentials balayant clés SSH, tokens cloud, secrets Kubernetes, portefeuilles crypto et fichiers .env ; un toolkit de mouvement latéral Kubernetes déployant des pods privilégiés sur chaque nœud ; et une backdoor persistante via un service systemd interrogeant un serveur de commande et contrôle. D'après BleepingComputer, l'attaque exploitait le pipeline CI/CD de LiteLLM qui utilisait Trivy, déjà compromis par TeamPCP.

Le mécanisme le plus pernicieux de la version 1.82.8 reposait sur l'installation d'un fichier .pth dans l'environnement Python. Ce type de fichier étant automatiquement exécuté au démarrage de l'interpréteur Python, le code malveillant se déclenchait même sans importer explicitement LiteLLM — une technique d'évasion redoutablement efficace qui a permis au malware de persister sur des milliers de machines de développement.

Un impact qui dépasse le cadre technique

L'ampleur de cette attaque est sans précédent dans l'écosystème Python : 33 185 secrets exposés, 6 943 machines compromises et 3 760 credentials encore valides au moment de la détection par les équipes de Wiz. LiteLLM cumule plus de 95 millions de téléchargements mensuels, ce qui en fait l'une des bibliothèques les plus téléchargées de l'écosystème IA.

Ce qui rend cette attaque particulièrement inquiétante, c'est la collaboration présumée entre TeamPCP et le groupe d'extorsion LAPSUS$. Selon les analystes de Wiz, cette convergence marque une nouvelle ère où les attaques supply chain ne visent plus seulement l'espionnage ou le sabotage, mais alimentent directement des opérations d'extorsion à grande échelle. Après l'attaque nord-coréenne sur Axios npm et les extensions piégées GlassWorm, la chaîne d'approvisionnement logicielle reste le maillon faible de la sécurité moderne.

Pour les entreprises françaises soumises à NIS 2 et utilisant des stacks IA en production, cet incident souligne l'urgence de mettre en place des contrôles stricts sur les dépendances tierces : vérification des signatures de paquets, épinglage des versions, analyse des artefacts CI/CD et monitoring des secrets en temps réel.

Ce qu'il faut retenir

  • LiteLLM 1.82.7 et 1.82.8 contenaient un malware complet : vol de secrets, mouvement latéral Kubernetes et backdoor persistante.
  • L'attaque exploitait la compromission préalable de Trivy dans le pipeline CI/CD de LiteLLM — un effet cascade typique des attaques supply chain.
  • Vérifiez immédiatement vos versions de LiteLLM, révoquez tous les secrets des machines exposées et auditez vos déploiements serveur à la recherche de pods Kubernetes non autorisés.

À retenir

La compromission de LiteLLM par TeamPCP est la plus grande attaque supply chain Python de 2026. Avec 33 000 secrets exposés et une collaboration présumée avec LAPSUS$, elle illustre la convergence entre attaques supply chain et extorsion. Auditez vos dépendances IA sans attendre.

Comment vérifier si votre environnement est compromis ?

Vérifiez d'abord votre version de LiteLLM avec pip show litellm. Si vous utilisez les versions 1.82.7 ou 1.82.8, considérez votre environnement comme compromis. Recherchez la présence du fichier litellm_init.pth dans vos répertoires site-packages Python, et vérifiez l'existence d'un service systemd nommé sysmon.service. Révoquez immédiatement toutes les clés SSH, tokens cloud et credentials Kubernetes présents sur les machines affectées, puis mettez à jour vers une version saine de LiteLLM.

Besoin d'un accompagnement expert ?

Ayi NEDJIMI vous accompagne sur vos projets cybersécurité et IA.

Prendre contact