Aller au contenu
Sécurité medium

litellm: Credential Stealer Hidden in PyPI Wheel

3 min de lecture
Point de compromission dans la chaîne Rupture · étape Secrets
Source
amont
Dépendances
deps
Build & CI
ci
Packaging
artefact
Release
Secrets
Registres
distribution
Déploiement
admission
Runtime
exécution
Rayon d'explosion — compromission à l'étape Secrets, propagation possible aux consommateurs. Domaines : Poste de travail, Source, Intégration, Secrets
Gravité élevé
litellm : voleur de credentials cache dans un wheel PyPI.
1.82.7/.8
versions piégées
100+
fournisseurs LLM
AES+RSA
exfil chiffrée
compromission latérale

En bref

Date
28/03/2026
Gravité
Élevé
Étape de la chaîne
Secrets
Domaines SOCLE
Poste de travail+ Source, Intégration, Secrets

Que s'est-il passé ?

Contexte

Le 24 mars 2026, deux versions de litellm sur PyPI sont compromises (1.82.7 et 1.82.8). litellm est une bibliothèque Python d'API unifiée pour 100+ fournisseurs LLM, très présente dans les stacks IA et la CI.

Mécanisme

Attaque en trois étapes : moisson massive de credentials, exfiltration chiffrée AES-256 + RSA-4096 vers un domaine attaquant, et backdoor C2 persistante capable de compromettre latéralement tout un cluster Kubernetes. Deux injections : un .pth (1.82.8) et un blob base64 dans proxy_server.py (1.82.7).

Impact

Toute machine ayant installé 1.82.7 ou 1.82.8 voit ses secrets exposés (variables d'env, clés SSH, credentials cloud, clés d'API). Compromission d'un jeton de publication ou d'un pipeline CI/CD sur au moins deux releases.

Parades

Rotation immédiate des secrets, épingler par version et hash, restreindre les jetons de publication, isoler les charges IA (namespace, egress, RBAC Kubernetes), et scanner les .pth et blobs base64.

Chronologie de l'attaque

24 mars 2026
Compromission de litellm

Deux releases PyPI (1.82.7 et 1.82.8) sont publiées avec une charge identique de vol de credentials, divulguée dans l'issue #24512.

Comment l'attaquant a procédé

Cet incident met en jeu les vecteurs d'attaque suivants du catalogue SOCLE ; chacun renvoie à sa fiche, où l'on trouve les exigences qui le neutralisent :

La leçon à en tirer

Ce qu'il faut retenir

Pas de secrets en clair ; scan de secrets ; rotation et détection de fuite ; jetons courts.

Les exigences SOCLE qui auraient limité cet incident

Cet incident se rattache à 18 exigences du référentiel, par domaine. Les satisfaire n'aurait pas forcément tout empêché, mais aurait réduit la probabilité de l'attaque, limité son impact ou accéléré sa détection :

Pour aller plus loin

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracing. Aujourd'hui, ce site ne couvre même pas mes frais d'hébergement, d'électricité, de matériel, de logiciels, mais surtout de cafés.

Un soutien régulier, même symbolique, m'aide à garder ces ressources gratuites et à continuer de produire des guides de qualité. Merci pour votre appui.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn