Deux incidents récents dans le dépôt PyPI ont exposé des vulnérabilités dans la chaîne d'approvisionnement logicielle. Des attaquants ont réussi à publier des versions modifiées de paquets légitimes comme PyTorch Lightning et Intercom-client. Ces variantes contenaient du code caché conçu pour extraire les identifiants de connexion stockés dans les systèmes des utilisateurs, démontrant un risque croissant pour les développeurs et les entreprises qui font confiance aux bibliothèques open source.
Comment les attaquants ont manipulé des paquets légitimes de PyPI 🔍
Les attaquants ont utilisé des techniques de typosquatting et de confusion de dépendances pour distribuer leurs versions malveillantes. Dans le cas de PyTorch Lightning, le code nuisible s'exécutait lors de l'installation, collectant les variables d'environnement et les fichiers de configuration contenant des identifiants. Pour Intercom-client, le malware s'activait lors de l'importation du paquet, exfiltrant les données via des requêtes HTTP vers des serveurs contrôlés. Les deux cas ont exploité la confiance dans l'écosystème Python, où la révision manuelle des dépendances reste un défi.
Le paradoxe d'installer une confiance aveugle dans PyPI 🤔
Il est curieux que les mêmes développeurs qui écrivent du code pour automatiser des processus installent ensuite des paquets sans vérifier leur contenu. C'est comme acheter une voiture d'occasion et ne pas ouvrir le capot parce que le vendeur a l'air sympathique. Les attaquants savent que la paresse technique est un vecteur d'attaque rentable. Pendant ce temps, nous continuons à exécuter pip install comme si c'était un acte de foi, en espérant que personne n'ait glissé un keylogger dans la dernière mise à jour d'une bibliothèque pour trier des listes.