Points clés
- LiteLLM 1.82.7 et 1.82.8 (24 mars 2026) contenaient du code malveillant
- L’attaque visait à voler des clés API et données de configuration
- Verrouille vite tes dépendances Python avec des versions exactes
- Scanne tes environnements avec pip-audit et safety
- Configure des alertes pip pour les mises à jour suspectes
Chapô : Le 24 mars 2026, deux versions malveillantes de LiteLLM ont été découvertes sur PyPI. Ce proxy Python utilisé par des millions de devs a été compromis via une attaque supply chain. Nous te montrons comment identifier l’infection, sécuriser ton code et protéger tes projets IA contre ces menaces émergentes.
Qu’est-ce qui s’est passé avec LiteLLM en mars 2026 ?
LiteLLM est un outil proxy puissant utilisé par les développeurs IA du monde entier pour standardiser les appels aux grandes familles de modèles : OpenAI, Claude, Cohere, Hugging Face, Ollama, etc. Au lieu de jongler avec des dizaines de SDK différents, tu écris une seule requête et LiteLLM la traduit pour n’importe quelle plateforme. C’est simple, c’est efficace, et c’est justement pour ça qu’il est devenu un maillon critique dans la chaîne de dépendances de milliers de projets.
Le 24 mars 2026, deux versions malveillantes ont été publiées sur PyPI (le dépôt officiel Python) : LiteLLM 1.82.7 et 1.82.8. Un attaquant a réussi à compromettre les droits de publication sur le paquet, probablement via une clé API volée ou un compte développeur piraté. Les deux versions contenaient un code injecté qui tentait de :
- Voler tes clés API (OpenAI, Claude, Anthropic, etc.)
- Exfiltrer les fichiers de configuration contenant tes données sensibles
- Envoyer les informations à un serveur de commande et contrôle
- Potentiellement installer d’autres charges malveillantes en arrière-plan
Heureusement, la communauté open source et l’équipe PyPI ont réagi vite : les paquets malveillants ont été retirés en moins de quelques heures après la découverte. Mais pendant ce temps, des développeurs qui ont lancé pip install litellm ou pip install -U litellm ont pu être infectés sans le savoir.
Pourquoi les attaques supply chain visent l’écosystème IA ?
Les attaques supply chain ne sont pas nouvelles, mais elles explosent en 2026. Voici pourquoi :
pip install package sans épingler une version exacte, ce qui veut dire qu’une nouvelle version malveillante s’installe automatiquement.Cette attaque est un signal d’alarme : la sécurité supply chain doit devenir une priorité absolue pour toi si tu construis avec l’IA.
Étape 1 : Vérifier si tu as été touché
La première chose à faire, c’est de déterminer si LiteLLM 1.82.7 ou 1.82.8 se trouve dans tes environnements actuels. Voici comment procéder :
Commande 1 : Lister ta version installée
Ouvre un terminal dans chaque projet Python qui utilise LiteLLM (ou tes environnements virtuels) et lance :
pip list | grep litellmSi tu vois litellm 1.82.7 ou litellm 1.82.8, tu es potentiellement infecté. Note bien la version exacte.
Commande 2 : Vérifier l’historique des installations
Regarde quand la version a été installée :
pip show litellmCette commande affiche des métadonnées. Si l’installation date du 24 mars 2026 ou peu après, c’est un indicateur fort d’infection. Demande-toi : « As-je installé ou mis à jour LiteLLM ce jour-là ? »
Commande 3 : Inspecter les fichiers suspects
Sur Linux/macOS, localise le dossier d’installation et inspecte son contenu :
python -c "import litellm; print(litellm.__path__)"Puis examines les fichiers .py pour chercher du code suspect : appels à `urllib`, ouverture de fichiers sensibles, connexions réseau non documentées. Le code malveillant était obfusqué mais contient souvent des patterns distinctifs.
Étape 2 : Nettoyer et réinstaller
Si tu as détecté LiteLLM 1.82.7 ou 1.82.8, il faut agir maintenant :
Suppression complète
pip uninstall litellm -y
pip cache purgeRéinstallation d’une version sûre
Installe la dernière version patché (1.82.9 ou supérieur, selon le moment où tu lis cet article) :
pip install litellm==1.82.9Remplace 1.82.9 par la version actuelle recommandée. Consulte la page officielle LiteLLM GitHub pour la version sûre confirmée.
Regénération immédiate des clés API
C’est crucial : si ton code a été infecté pendant quelques heures, tes clés API ont pu être compromises. Révoque-les et génères-en des nouvelles :
platform.openai.com → API keys, supprime les anciennes, crée de nouvelles clésconsole.anthropic.com → API keys, même processusÉtape 3 : Sécuriser ton écosystème Python avec des dépendances épinglées
La raison pour laquelle cette attaque a pu se propager aussi vite, c’est que les gens installent les dépendances avec des versions flexibles. Ne fais pas cette erreur.
Fichier requirements.txt : utilise des versions exactes
Crée ou mets à jour ton fichier requirements.txt avec des versions précises :
litellm==1.82.9
openai==1.52.0
anthropic==0.25.8
langchain==0.1.14
requests==2.31.0Utilise == (égalité exacte), pas ~= ou >=. Oui, tu devras tester manuellement les mises à jour, mais c’est le prix de la sécurité.
Fichier pyproject.toml : même approche
Si tu utilises pyproject.toml (moderne, recommandé) :
[project]
dependencies = [
"litellm==1.82.9",
"openai==1.52.0",
"anthropic==0.25.8",
]Commandes CI/CD : verrouille aussi en production
Dans tes pipelines GitHub Actions, GitLab CI, etc., utilise toujours pip install -r requirements.txt ou pip install --no-deps pour garantir que les dépendances ne se mettent pas à jour surprise.
Étape 4 : Scanner tes dépendances avec les outils de sécurité
Maintenant que tu as nettoyé, mets en place un système de surveillance automatique :
pip-audit : détecte les vulnérabilités connues
Installe et utilise pip-audit :
pip install pip-audit
pip-auditCet outil compare tes dépendances actuelles contre une base de données CVE (Common Vulnerabilities and Exposures). Il t’avertira si tu as une version vulnérable installée.
safety : autre outil d’audit
pip install safety
safety checkSafety fonctionne de façon similaire et peut avoir une base de données légèrement différente. Utilise-le en complément.
Intégration dans ton CI/CD
Ajoute ces commandes à ton workflow GitHub Actions ou GitLab CI pour que les scans s’exécutent à chaque push :
- name: Scan for vulnerabilities
run: |
pip install pip-audit
pip-audit --strictLe flag --strict fait échouer le build si une vulnérabilité est trouvée.
Étape 5 : Configurer des alertes et une veille de sécurité
Le contrôle c’est bien, mais la prévention c’est mieux. Mets en place une veille proactive :
Suive les annonces de sécurité PyPI
Dépôt Dependabot sur GitHub
Si tu héberges ton code sur GitHub, active Dependabot pour recevoir des PRs automatiques quand une mise à jour de sécurité existe :
Alertes personnalisées
Configure Google Alerts ou des outils comme IFTTT pour monitorer certains mots-clés :
Astuces pro pour renforcer ton posture de sécurité
Au-delà du nettoyage immédiat, voici ce que les devs IA chevronné font :
Erreurs courantes à éviter
pip install "litellm>=1.82" c’est dangereux. Épingle les versions exactes.Résumé en 5 points
pip list | grep litellmFAQ : Les questions que tu te poses
Est-ce que je dois paniquer si j’ai utilisé une version malveillante ?
Non, mais oui. La bonne nouvelle : l’attaque a été découverte et neutralisée vite. La mauvaise : si tu as exécuté du code avec ces versions, tes clés API ont pu être compromises. Fais les trois choses suivantes immédiatement : (1) nettoie l’installation, (2) régénère les clés API, (3) vérifie tes logs pour détecter les appels API suspects. Si tout est propre, tu es bon. Si tu vois des appels frauduleux, contacte immédiatement les fournisseurs (OpenAI, Anthropic, etc.) et signale la fraude.
Peut-il y avoir d’autres paquets IA infectés en ce moment ?
Probablement. LiteLLM n’est pas un cas isolé. Des attaques supply chain vont continuer à se produire. La meilleure défense c’est une bonne hygiène : épingle tes versions, scanne régulièrement avec pip-audit et safety, et reste vigilant. Lire les changelogs des projets que tu utilises est aussi une bonne pratique.
Dois-je auditer tout mon code pour du code malveillant injecté ?
En théorie, oui. En pratique, si tu as exécuté LiteLLM infecté, le malware avait accès à tes fichiers de configuration et tes variables d’environnement. Plutôt que de chercher l’aiguille dans la botte de foin, concentre-toi sur : (1) regénérer les clés, (2) nettoyer ton environnement, (3) redéployer une version propre. Si tu veux être extra prudent, lance un scan antivirus/antimalware sur la machine en question.
Combien de time j’ai pour nettoyer avant qu’il ne soit trop tard ?
L’attaque remonte au 24 mars 2026, mais des dégâts peuvent survenir des semaines ou mois après (les clés peuvent être utilisées progressivement). Fais-le dès aujourd’hui. Plus tu attends, plus le risque augmente. Une heure c’est le timing idéal pour (1) déterminer si tu es affecté, (2) nettoyer, (3) régénérer les clés. Deux heures max si tu dois coordonner avec d’autres ou tester en prod.
Pour aller plus loin
La sécurité supply chain en Python est un domaine qui émerge. Quelques ressources pour rester à jour :
pypi.org/help#securityLe monde de l’IA se construit vite, mais la sécurité doit rester une fondation solide. Prends le temps de sécuriser ton écosystème aujourd’hui, tu éviteras des crises demain.



