Dans un article de blog publié le 24 mars 2026, les chercheurs de l’entreprise de cybersécurité Snyk reviennent sur le déroulé d’une attaque menée contre la bibliothèque Python LiteLLM. Le projet, utilisé par des millions de développeurs, a été compromis pendant trois heures. Derrière l’attaque, un groupe nommé TeamPCP qui avait préparé son coup cinq jours à l’avance.

Il est 11h48 le 24 mars 2026 quand Callum McMahon, chercheur chez FutureSearch, publie la première alerte publique sur cette affaire. Sa machine est subitement devenue inutilisable après avoir installé une récente mise à jour de LiteLLM. En remontant la piste, il déniche du code malveillant dissimulé dans le package ultra-populaire.

L’affaire crée une onde de choc : LiteLLM est une bibliothèque Python téléchargée 3,4 millions de fois par jour. Il s’agit d’un outil incontournable dans l’écosystème de l’intelligence artificielle, il sert de passerelle unifiée permettant aux développeurs de basculer facilement entre différents grands modèles de langage, ceux d’OpenAI, Anthropic, Mistral ou encore Google.

C’est précisément cette position centrale dans de nombreux projets IA qui en a fait une cible de choix pour TeamPCP, le groupe responsable de l’attaque. La compromission de LiteLLM ne s’est pas faite d’un seul coup : c’est la neuvième phase d’une campagne méthodique, préparée cinq jours à l’avance.

TeamPCP aux commandes d’une longue opération

La supply-chain attack a réellement débuté le 19 mars avec le ciblage de Trivy, un outil de sécurité utilisé par de nombreuses équipes de développement pour scanner automatiquement leur code à la recherche de failles. Ce jour-là, TeamPCP est parvenu à substituer une version malveillante de cet outil dans le circuit de distribution officiel. Mécaniquement, les projets qui font habituellement confiance à Trivy dans leur pipeline d’automatisation ont commencé à exécuter du code malveillant glissé par les pirates, à leur insu.

Le 23 mars, même scénario avec un autre outil de sécurité, Checkmarx KICS. Cette fois, nouvelle étape : TeamPCP enregistre deux domaines qui serviront à recevoir les données volées, dont models.litellm.cloud, une adresse conçue pour imiter le vrai domaine de LiteLLM et tromper les systèmes de détection. Signe que la cible finale est déjà dans le viseur des attaquants.

Le 24 mars à 10h39, le piège se referme. LiteLLM utilisait Trivy dans son propre pipeline, sans précaution de version fixe. En exécutant la version compromise, le pipeline expose involontairement la clé secrète permettant de publier des packages au nom de LiteLLM sur le dépôt officiel de bibliothèques Python. TeamPCP s’en empare et publie deux versions piégées du logiciel en l’espace de treize minutes.

Ces versions contiennent un programme malveillant en trois temps : il commence par aspirer silencieusement tout ce qu’il trouve sur la machine infectée, clés SSH, mots de passe, credentials cloud, tokens d’accès Kubernetes, et même des phrases de récupération de portefeuilles cryptomonnaies. Il envoie ensuite toutes ces données chiffrées vers les serveurs de TeamPCP. Enfin, il installe une porte dérobée persistante, déguisée en service système banal intitulé « System Telemetry Service », qui peut recevoir des instructions à distance.

Le déroulé post-incident

Quand la communauté LiteLLM commence à alerter sur GitHub, TeamPCP tente d’étouffer l’affaire : 88 commentaires automatiques envahissent la discussion en moins de deux minutes, et le compte du mainteneur légitime, lui aussi compromis, ferme le signalement. L’alerte circule déjà sur Hacker News.

PyPI, le dépôt officiel de bibliothèques Python, met les versions malveillantes en quarantaine vers 13h38, soit environ trois heures après leur publication. L’équipe de LiteLLM confirme peu après avoir révoqué et remplacé l’ensemble de ses clés d’accès GitHub, Docker et PyPI, et migré ses comptes vers de nouvelles identités.

Le mal est potentiellement fait pour tous ceux qui ont installé les versions 1.82.7 ou 1.82.8 durant cette fenêtre. Plusieurs projets majeurs, DSPy, MLflow, CrewAI et OpenHands, ont publié en urgence des mises à jour pour se dissocier des versions compromises. Pour les environnements touchés, la recommandation est sans appel : considérer la machine comme compromise, révoquer l’ensemble des clés et mots de passe présents sur le système, et auditer les accès cloud et Kubernetes.

une comparateur meilleur gestionnaire mdp numerama

Vous avez lu 0 articles sur Numerama ce mois-ci

Il y a une bonne raison de ne pas s'abonner à

Tout le monde n'a pas les moyens de payer pour l'information.
C'est pourquoi nous maintenons notre journalisme ouvert à tous.

Mais si vous le pouvez,
voici trois bonnes raisons de soutenir notre travail :

  • 1 Numerama+ contribue à offrir une expérience gratuite à tous les lecteurs de Numerama.
  • 2 Vous profiterez d'une lecture sans publicité, de nombreuses fonctions avancées de lecture et des contenus exclusifs.
  • 3 Aider Numerama dans sa mission : comprendre le présent pour anticiper l'avenir.

Si vous croyez en un web gratuit et à une information de qualité accessible au plus grand nombre, rejoignez Numerama+.

S'abonner à Numerama+
Toute l'actu tech en un clien d'oeil

Toute l'actu tech en un clin d'œil

Ajoutez Numerama à votre écran d'accueil et restez connectés au futur !


Tous nos articles sont aussi sur notre profil Google : suivez-nous pour ne rien manquer !