Les pirates du groupe TeamPCP ont compromis, ce mercredi, le paquet officiel Telnyx sur l’index Python PyPI. Ils y ont mis en ligne des versions malveillantes qui diffusent un logiciel espion conçu pour voler des identifiants, en dissimulant le code malveillant dans un fichier audio WAV.
Une attaque de chaîne d’approvisionnement
Cette attaque de type supply-chain a été détectée par les sociétés de sécurité Aikido, Socket et Endor Labs. Les chercheurs l’ont attribuée à TeamPCP en raison de l’utilisation d’une clé RSA et d’une méthode d’exfiltration identiques à celles observées lors d’opérations précédentes de ce même acteur. Ce groupe est connu pour plusieurs attaques récentes sur des chaînes logicielles, comme celles visant l’outil de scan Trivy d’Aqua Security ou la bibliothèque Python LiteLLM, ainsi que pour des attaques par wiper contre des systèmes iraniens.
Les assaillants ont d’abord publié la version Telnyx 4.87.1 avant de corriger un problème de payload et de diffuser l’édition 4.87.2 peu après. Il est présumé que l’accès au compte de publication sur PyPI a été obtenu via des identifiants volés.
Fonctionnalités du malware et méthode de dissimulation
Le paquet Telnyx est un kit de développement logiciel très utilisé, avec plus de 740 000 téléchargements mensuels, permettant d’intégrer des services de communication. Le code malveillant est inséré dans le fichier ‘_telnyx/_client.py’ et s’exécute automatiquement à l’importation du paquet, sans perturber le fonctionnement légitime du SDK.

Sous Linux et macOS, le logiciel lance un processus qui télécharge un second stade de l’attaque, camouflé dans un fichier WAV nommé ‘ringtone.wav’. La charge utile est extraite en mémoire via une routine de déchiffrement basée sur un XOR, une technique de stéganographie qui ne modifie pas la lecture audio. Ce malware récolte alors les clés SSH, les jetons d’accès cloud, les portefeuilles de cryptomonnaie et autres secrets système. Sur les machines utilisant Kubernetes, il tente également d’énumérer les secrets du cluster et de déployer des pods privilégiés.
Sur les systèmes Windows, une autre charge est téléchargée via le fichier ‘hangup.wav’, qui dépose un exécutable nommé ‘msbuild.exe’. Ce dernier est placé dans le dossier de démarrage pour assurer une persistance après chaque redémarrage.
Recommandations de sécurité
Les chercheurs indiquent que la version sûre du SDK est la Telnyx 4.87.0. Ils recommandent vivement aux développeurs ayant installé les versions 4.87.1 ou 4.87.2 de revenir immédiatement à cette version propre. Tout système ayant importé les versions compromises doit être considéré comme potentiellement infecté, car le code s’exécute au moment de l’exécution. Il est urgent de renouveler l’ensemble des secrets, clés et mots de passe qui auraient pu être exposés.
