En bref
Que s'est-il passé ?
Le 22 avril 2026, trois releases consécutives de xinference sur PyPI (2.6.0, 2.6.1, 2.6.2), framework d'inférence LLM open source, embarquent un voleur de credentials injecté dans __init__.py.
Le malware s'exécute dès l'import xinference, décode un collecteur de second étage, moissonne clés SSH, credentials cloud, variables d'env et wallets, puis exfiltre love.tar.gz par curl POST vers un domaine attaquant. L'acteur itère l'emplacement de l'injection d'une version à l'autre.
Les environnements xinference détiennent souvent des credentials cloud élevés (rôles IAM GPU, jetons de registre de modèles, clés de stockage). Marqueur « # hacked by teampcp », acteur aussi derrière litellm et telnyx.
Épingler par version et hash, rotation des secrets, isoler les charges IA (egress, RBAC), confiner l'exécution au import, et détecter les exfiltrations curl sortantes.
Chronologie de l'attaque
Trois releases (2.6.0 à 2.6.2) injectent un voleur de credentials en deux étapes dans __init__.py, déclenché à l'import ; toutes sont retirées de PyPI.
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
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 :