Aller au contenu
Sécurité medium

TeamPCP - xinference (PyPI)

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é
TeamPCP injecté un voleur de credentials en deux étapes dans le paquet PyPI xinference.
3 versions
2.6.0/2.6.1/2.6.2
import
déclencheur
love.tar.gz
archive exfiltrée
TeamPCP
acteur (litellm, telnyx)

En bref

Date
04/05/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 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.

Mécanisme

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.

Impact

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.

Parades

É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

22 avril 2026
Compromission de xinference

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

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