En bref

  • Le groupe TeamPCP a publié deux versions malveillantes (4.87.1 et 4.87.2) du SDK Telnyx sur PyPI le 27 mars 2026.
  • Le malware utilise la stéganographie audio pour dissimuler un stealer dans un fichier WAV, échappant ainsi aux analyses réseau classiques.
  • Les développeurs ayant installé ou mis à jour telnyx entre 03h51 et 10h13 UTC le 27 mars doivent révoquer immédiatement leurs credentials.

Ce qui s'est passé

Le 27 mars 2026, deux versions compromises du package Python telnyx (4.87.1 et 4.87.2) ont été publiées sur le registre PyPI. L'attaque est attribuée au groupe TeamPCP, déjà responsable de la compromission du package LiteLLM quelques semaines plus tôt. Le code malveillant a été injecté dans le fichier telnyx/_client.py, s'exécutant automatiquement à chaque importation du package dans une application Python.

La technique employée est particulièrement sophistiquée : plutôt que d'héberger un exécutable ou un blob base64 facilement détectable, TeamPCP a encapsulé le payload final dans un fichier .WAV en utilisant la stéganographie audio. Cette approche permet de contourner les inspections réseau et les solutions EDR qui filtrent les contenus suspects. Le malware cible indifféremment Windows, Linux et macOS, collectant les variables d'environnement, les fichiers .env et l'historique du shell.

Selon les analyses de Datadog Security Labs et de la communauté open source, le token PyPI utilisé pour publier les versions malveillantes provient vraisemblablement de la compromission LiteLLM antérieure. TeamPCP aurait récupéré ce token en aspirant les credentials des développeurs et pipelines CI ayant importé LiteLLM tout en disposant d'un accès au compte PyPI telnyx. Cette attaque en cascade illustre l'effet domino des compromissions supply chain dans l'écosystème Python.

Pourquoi c'est important

Cette attaque marque une évolution préoccupante dans les techniques de supply chain attack. La stéganographie audio comme vecteur de livraison de malware est rare et démontre un niveau de sophistication croissant des attaquants ciblant les registres de packages. Les failles récentes dans LangChain et LangGraph montrent que l'écosystème IA et communications est devenu une cible de choix.

L'effet cascade est le point le plus alarmant : une seule compromission initiale (LiteLLM) a permis à TeamPCP d'étendre son emprise à un second package populaire. Ce modèle d'attaque latérale via les credentials volés transforme chaque compromission supply chain en tête de pont pour les suivantes. Les pipelines CI/CD qui ne segmentent pas leurs secrets sont particulièrement exposés.

Ce qu'il faut retenir

  • Vérifiez immédiatement si les versions 4.87.1 ou 4.87.2 de telnyx sont installées dans vos projets et rétrograder vers la 4.87.0.
  • Révoquez et renouvelez tous les tokens et secrets d'environnement des machines ayant importé les versions compromises.
  • Segmentez les secrets dans vos pipelines CI/CD : un token PyPI ne devrait jamais coexister avec d'autres credentials sensibles dans le même environnement.

Comment vérifier si mon projet est affecté par cette compromission ?

Exécutez pip show telnyx pour vérifier la version installée. Si elle affiche 4.87.1 ou 4.87.2, désinstallez immédiatement le package avec pip uninstall telnyx puis réinstallez la version saine avec pip install telnyx==4.87.0. Vérifiez également vos fichiers requirements.txt et lock files pour épingler la version sûre. Auditez les logs de vos pipelines CI entre le 27 mars 03h51 UTC et 10h13 UTC.

Besoin d'un accompagnement expert ?

Ayi NEDJIMI vous accompagne sur vos projets cybersécurité et IA.

Prendre contact