Points clés
- Le 24 mars 2026, un groupe nommé TeamPCP a publié des versions piégées de LiteLLM (v1.82.7 et v1.82.8) sur PyPI
- Le malware volait clés API, identifiants cloud, secrets CI/CD, clés SSH et wallets crypto
- LiteLLM totalise 95 millions de téléchargements mensuels — des frameworks majeurs (CrewAI, DSPy, Guardrails) en dépendent
- Les versions malveillantes sont restées en ligne environ 3 heures avant quarantaine par PyPI
- Le vecteur d’attaque : un scanner de sécurité Trivy compromis dans le pipeline CI/CD de LiteLLM
Le 24 mars 2026, le groupe TeamPCP a compromis le pipeline CI/CD de LiteLLM pour publier deux versions piégées du package Python sur PyPI. Avec 95 millions de téléchargements mensuels et des dépendances directes depuis CrewAI, DSPy ou Guardrails, cette attaque supply chain expose une vulnérabilité structurelle de l’écosystème IA open source.
Comment l’attaque s’est-elle déroulée ?
Le pipeline CI/CD de LiteLLM utilisait Trivy, un scanner de vulnérabilités, installé via apt sans version épinglée. Les attaquants ont compromis cette dépendance pour exfiltrer le token PYPI_PUBLISH depuis l’environnement GitHub Actions. Avec ce jeton, ils ont publié deux versions du package en l’espace de 13 minutes : la v1.82.7 à 10h39 UTC et la v1.82.8 à 10h52 UTC.
Chaque version contenait un fichier malveillant — litellm_init.pth — qui s’exécutait automatiquement au démarrage de tout processus Python dans l’environnement où LiteLLM était installé. Ce mécanisme ne nécessitait aucune action de l’utilisateur.
Quelles données ont été ciblées ?
Le malware collectait un large éventail de données sensibles : variables d’environnement, clés SSH, identifiants cloud (AWS, GCP, Azure), configurations Kubernetes et Docker, historique du shell, credentials de bases de données, fichiers de wallets crypto et secrets CI/CD. Les données étaient chiffrées avec un schéma hybride AES-256 + RSA-4096 avant d’être envoyées vers un serveur contrôlé par les attaquants (models.litellm.cloud).
Cette sophistication technique suggère un groupe organisé, capable de cibler spécifiquement les environnements de production et les pipelines d’IA où circulent des clés API de grande valeur.
Pourquoi cette attaque est-elle si préoccupante pour l’IA ?
LiteLLM est une bibliothèque de proxy qui permet d’utiliser différents modèles d’IA (OpenAI, Anthropic, Mistral, Cohere) via une interface unifiée. Avec 95 millions de téléchargements mensuels, elle est directement intégrée dans des frameworks largement utilisés : CrewAI, Browser-Use, DSPy, Mem0, Instructor, Guardrails, Agno et Camel-AI.
Le rayon d’impact potentiel est considérable. Une entreprise utilisant CrewAI pour orchestrer ses agents IA pouvait se retrouver exposée sans même avoir installé LiteLLM directement. Cette dynamique de dépendances transitives est au cœur du risque supply chain dans l’écosystème IA en pleine expansion.
Quelle a été la réponse de l’écosystème ?
PyPI a mis les versions malveillantes en quarantaine environ 3 heures après leur publication. LiteLLM a publié un billet de sécurité détaillé et recommandé à tous les utilisateurs de vérifier s’ils avaient installé les versions 1.82.7 ou 1.82.8 dans cette fenêtre. Plusieurs sociétés de sécurité — Snyk, Datadog Security Labs, Wiz et Sonatype — ont publié des analyses techniques détaillées.
Les recommandations immédiates incluent la rotation de toutes les clés API et secrets potentiellement exposés, l’épinglage des versions de dépendances dans les pipelines CI/CD, et l’audit des fichiers .pth dans les environnements Python.
Quelles leçons pour la sécurité de l’IA ?
Cette attaque met en lumière un paradoxe : les outils d’IA sont de plus en plus intégrés dans les processus critiques des entreprises, mais leur chaîne d’approvisionnement logicielle reste fragile. L’absence de version épinglée pour un simple scanner de sécurité a suffi à compromettre l’un des packages les plus utilisés de l’écosystème.
Le cas LiteLLM pourrait accélérer les discussions autour de la sécurité des registres de packages et de la signature cryptographique des releases dans le domaine de l’IA. Un sujet que les principaux acteurs du secteur ne peuvent plus ignorer.
FAQ
Comment savoir si mon projet est affecté par l’attaque LiteLLM ?
Vérifiez si vous avez installé LiteLLM v1.82.7 ou v1.82.8 entre le 24 mars 2026 à 10h39 UTC et 13h45 UTC environ. Utilisez pip show litellm pour vérifier la version installée. Si vous étiez concerné, effectuez une rotation immédiate de toutes vos clés API et secrets d’environnement.
Quels frameworks IA dépendent de LiteLLM ?
LiteLLM est une dépendance directe de CrewAI, Browser-Use, DSPy, Mem0, Instructor, Guardrails, Agno et Camel-AI. Si vous utilisez l’un de ces frameworks, votre projet intègre LiteLLM de manière transitive.
Comment se protéger contre ce type d’attaque supply chain ?
Épinglez systématiquement les versions de vos dépendances, utilisez des fichiers de verrouillage (lock files), auditez régulièrement les fichiers .pth dans vos environnements Python, et activez la vérification de signatures quand elle est disponible sur PyPI.
À suivre
L’attaque TeamPCP contre LiteLLM est un signal d’alarme pour l’ensemble de l’écosystème IA open source. Alors que les entreprises multiplient les déploiements d’agents IA, la sécurité de la chaîne d’approvisionnement logicielle devient un enjeu stratégique. Les prochaines semaines diront si cette alerte conduit à des mesures structurelles — ou si elle sera vite oubliée jusqu’au prochain incident.
Sources : LiteLLM — Security Update · Datadog Security Labs · Wiz Blog · Snyk
