LiteLLM: Comment des machines de dev sont devenues des réservoirs d'identifiants
Origines et historique
LiteLLM est une bibliothèque permettant d'exécuter des modèles d'IA localement sur les postes de développeurs. Ce choix apporte des gains tangibles: latence réduite, contrôle des données et confidentialité renforcée. Mais il change aussi le profil de risque. Un poste de développement n'est plus seulement un outil de travail; c'est un petit centre de services - outils de build, agents CI, clients cloud, agents d'authentification et désormais agents d'IA. Cette complexité multiplie la surface d'attaque et rend la compromission locale particulièrement précieuse pour un attaquant.
En mars 2026, une campagne attribuée au groupe TeamPCP a exploité une modification malveillante introduite dans la chaîne d'approvisionnement de LiteLLM pour compromettre un grand nombre de postes développeurs, récolter des identifiants et ouvrir des accès persistants à des environnements cloud et CI. Les analyses publiques et les signalements de la communauté technique ont documenté la technique employée et ses impacts ¹ ² ³. La nouveauté majeure n'est pas seulement le vecteur supply chain, mais l'utilisation d'une composante d'IA locale comme mécanisme d'exécution et d'automatisation des étapes de collecte et d'exfiltration.
Chronologie synthétique
- Compromission de la chaîne de build: un composant malveillant a été intégré au packaging tout en maintenant les artefacts distribués.
- Distribution: diffusion via les répertoires officiels ou par dépendances transitives utilisées par des projets tiers.
- Exécution: la bibliothèque s'exécute sur des postes de développeurs disposant d'accès à des caches, fichiers de configuration et agents d'authentification.
- Collecte et exfiltration: collecte ciblée de secrets et envoi chiffré vers des services contrôlés par l'attaquant.
Fonctionnement technique
L'attaque observée combine des techniques classiques appliquées dans un contexte nouveau. Le composant trojanisé fonctionne comme un agent d'orientation: il surveille l'environnement, identifie les cibles intéressantes et exécute des routines légères de collecte. Le comportement est conçu pour être discret et contextuel: plutôt que de siphonner de gros volumes, l'agent sait extraire ce qui a le plus de valeur pour l'attaquant.
Vecteurs d'injection dans LiteLLM
- Compromission de la chaîne de build: insertion d'un code malveillant au moment de la compilation ou du packaging, parfois en conservant une signature ou un emballage apparemment valide.
- Dépendances compromises: modules trojanisés distribués comme dépendances transitives, activés lors de l'appel normal à LiteLLM.
- Compte mainteneur compromis: commits malveillants poussés depuis un compte mainteneur légitime.
Ces vecteurs sont déjà connus dans d'autres incidents de supply chain, mais ici ils tirent avantage de la confiance portée aux outils d'exécution locale d'IA.
Mécanismes de collecte des secrets
Les postes de développement contiennent souvent des informations sensibles accessibles depuis le système local. Parmi les cibles fréquemment identifiées:
- Fichiers de configuration: .bashrc, .zshrc, .aws/credentials, fichiers de projet contenant des secrets.
- Agents d'authentification: SSH, GPG, Azure AD, Google Cloud, etc.
- Caches d'outils CI locaux et tokens (GitHub, GitLab, Docker).
- Secrets des IDE comme VSCode ou JetBrains, parfois chiffrés mais accessibles.
Un LiteLLM trojanisé peut :
- Scanner les répertoires bien connus pour des fichiers contenant des tokens ou des clés privées.
- Interroger les sockets d’agents (ex:
SSH_AUTH_SOCK) pour des clés privées. - Accéder à Docker via
/var/run/docker.socket dénicher des secrets. - Manipuler les prompts et flux d'IA pour exfiltrer des données sensibles.
Pipeline d'exfiltration et furtivité
- Exfiltration chiffrée via HTTPS masquée dans du trafic API comme s’il s’agissait de trafic légitime.
- Utilisation de services tiers pour relayer sans éveiller les soupçons, en évitant les DNS statiques.
- Migration latente : fragmentation des secrets pour limiter les détections répétées.
- Exfiltration : envoi vers un endpoint caché comme télémétrie d’IA.
Ce modèle privilégie la discrétion et la résilience: si une voie est bloquée, d'autres peuvent être activées.
Études de cas
L'incident LiteLLM attribué à TeamPCP (mars 2026)
Le composant compromis a recherché les caches d'identifiants cloud et des fichiers de configuration, puis a envoyé des paquets chiffrés vers un domaine de commandement. Plusieurs entreprises ont confirmé la fuite de tokens et la compromission d'accès CI, avec des mouvements latéraux vers d'autres environnements. Les données publiques et rapports techniques donnent une vue précise des techniques employées et de la chaîne d'exfiltration ¹ ² ³.
Techniques relevées dans l'analyse:
- Recherche de fichiers avec des mots clés comme "token", "password" ou "aws_access_key".
- Utilisation du socket SSH pour établir des sessions à distance sans exfiltrer les clés.
- Endpoint API chiffré avec certificat valide pour passer sous le radar des proxys.
Conséquences documentées: compromission de pipelines CI, altération de builds et mouvement latéral vers des ressources cloud.
Comparaison avec précédents incidents de supply chain
Des incidents comme SolarWinds avaient déjà montré la puissance d'une compromission de builds centralisée. La différence majeure de l'incident LiteLLM est que l'attaquant cible le poste développeur comme centre de collecte: l'environnement local devient un oracle pour découvrir des identifiants et des configurations spécifiques à une organisation. L'IA locale apporte l'automatisation et le ciblage contextuel, rendant chaque poste potentiellement plus dangereux pour l'organisation.
Attaques similaires sur environnements de développeurs

Des campagnes antérieures ont tiré parti d'extensions IDE compromises ou de packages malveillants. TeamPCP a combiné ces approches avec une composante d'IA locale afin d'augmenter la furtivité et d'adapter la collecte aux artefacts disponibles sur chaque machine.
Perspectives
L'adoption d'outils d'IA locaux va probablement se poursuivre au bénéfice de la performance et de la confidentialité. En parallèle, les risques évoluent:
- Découverte automatisée des secrets: un agent IA peut extraire juste les infos critiques.
- Difficulté de détection: le trafic exfiltré peut ressembler à de la télémétrie légitime.
- Exposition accrue: davantage de processus locaux exécutant des modèles augmente la surface d'attaque.
Les tendances attendues incluent une montée en puissance des contrôles autour des postes développeurs, des solutions d'isolation plus poussées et une exigence renforcée de preuve d'intégrité pour les artefacts distribués.
Mesures techniques et organisationnelles recommandées
Durée courte et immédiate
- Inventaire: recenser toutes les instances de LiteLLM et autres agents IA sur les postes. Restreindre ou interdire leur usage si nécessaire.
- Rotation et révocation: faire pivoter tokens exposés et révoquer clés compromises.
- Surveillance réseau: filtrer les endpoints de télémétrie IA suspects et inspecter les certificats des connexions sortantes.
Durée moyenne
- Séparation des privilèges: bloquer l'accès non autorisé à SSH_AUTH_SOCK et à /var/run/docker.sock.
- Sandboxes: exécuter les modèles locaux dans des environnements isolés pour limiter leur rayon d'action.
- Renforcement: déployer EDR capables d'identifier des patterns de scan de fichiers sensibles et d'activité anormale liée aux agents d'IA.
Durée longue
- Intégrité des builds: exiger des builds reproductibles, signatures fortes et SBOM vérifiés pour les dépendances.
- Zero trust pour les credentials: accès aux tokens sur la base de sessions éphémères et approbations.
- Formation: sensibiliser les développeurs aux risques des modèles locaux et aux bonnes pratiques de gestion des secrets.
Checklist technique pratique
- Activer la rotation automatique et utiliser des tokens à courte durée de vie.
- Interdire le stockage de secrets en clair dans des fichiers de configuration; déployer des scanners SCA.
- Restreindre les accès aux sockets via des ACLs (par exemple chmod 660).
- Vérifier les signatures pour toutes les dépendances et consommer SBOMs.
- Mettre en place des alertes sur des comportements suspects, comme des accès répétés à
SSH_AUTH_SOCK.
Les mesures techniques doivent être complétées par une gouvernance de la chaîne logistique et une culture de la gestion des secrets. Les postes de développeurs doivent être traités comme des actifs critiques, avec des contrôles comparables à ceux appliqués en production.