Et si l’outil que vous utilisez pour protéger votre code était précisément celui qui ouvrait la porte aux pirates ? Une attaque d’une efficacité redoutable a récemment frappé Trivy, un scanner de vulnérabilités utilisé par des milliers de développeurs. En corrompant cet « outil de confiance », des cybercriminels ont réussi à s’infiltrer dans les infrastructures cloud de nombreuses entreprises, dérobant plus de 500 000 identifiants et propageant un ver informatique destructeur.
Tribune Kaspersky – Face à cette attaque massive, une question s’impose : peut-on encore se fier aux automatismes de sécurité sans une vigilance humaine accrue ?
Leonid Bezvershenko, chercheur senior en sécurité chez Kaspersky GReAT :
“Les attaquants ont ciblé la chaîne d’approvisionnement logicielle de manière extrêmement efficace. Ils ont d’abord compromis Trivy, un outil de scan de sécurité open-source très répandu qui aide les entreprises et les développeurs à vérifier automatiquement la présence de vulnérabilités connues dans leur code et leurs images de conteneurs. En injectant un malware dans les flux de travail (workflows) officiels de GitHub Actions et les images Docker de Trivy (les paquets prêts à l’emploi que les développeurs téléchargent et utilisent directement), les attaquants se sont assurés que chaque scan automatisé effectué par les victimes récoltait discrètement des identifiants sensibles, notamment des clés SSH, des jetons d’accès cloud et des portefeuilles de crypto-monnaies. Cette brèche initiale leur a fourni les clés nécessaires pour intensifier l’attaque.
En utilisant les identifiants volés, le groupe a ensuite compromis la bibliothèque Python populaire LiteLLM. Python est l’un des langages de programmation les plus courants, utilisé pour tout construire, des simples scripts aux applications d’intelligence artificielle avancées. LiteLLM aide les développeurs à connecter facilement leur code Python à divers modèles d’IA. Par ailleurs, LiteLLM est largement utilisé par de nombreuses organisations. Les attaquants ont téléchargé des versions malveillantes (1.82.7 et 1.82.8) sur le dépôt officiel PyPI, le lieu central où les paquets Python sont téléchargés et installés. Tout système ayant installé ou exécuté ces versions activait automatiquement une porte dérobée. De là, le malware s’est propagé plus profondément dans les environnements des victimes, déployant des backdoors persistantes dans les clusters Kubernetes, des systèmes qui orchestrent et gèrent des applications cloud à grande échelle, et libérant un ver auto-réplicable nommé CanisterWorm à travers l’écosystème JavaScript npm.
Les attaquants ont affirmé avoir exfiltré des centaines de gigaoctets de données et plus de 500 000 identifiants. Ils ont exploité ces informations pour extorquer plusieurs grandes organisations et, en moins de deux minutes, ont piraté 44 dépôts officiels appartenant à Aqua Security, l’organisation derrière Trivy. L’attaque a finalement été découverte en raison d’un défaut dans le malware qui provoquait la création de milliers de sous-processus, faisant planter les machines affectées et attirant ainsi l’attention. Bien qu’Aqua Security ait depuis renouvelé ses identifiants et conseillé aux utilisateurs de « figer » des versions spécifiques plutôt que de s’en remettre aux mises à jour automatiques, les évaluations indiquent que plus de 20 000 dépôts similaires restent potentiellement vulnérables à des techniques comparables.
Cette compromission de PyPI fait écho à une autre attaque de la chaîne d’approvisionnement sur ce même dépôt, découverte par Kaspersky et ayant duré un an. Dans ce cas, des paquets malveillants déguisés en outils de chatbot IA (des « wrappers » pour ChatGPT et Claude) servaient de leurres pour livrer un logiciel espion furtif à des milliers d’utilisateurs.
Cet incident rappelle brutalement les risques inhérents aux attaques de la chaîne d’approvisionnement logicielle, où la compromission d’un seul composant de confiance peut affecter simultanément des milliers d’utilisateurs en aval. La détection traditionnelle basée sur les signatures s’est révélée insuffisante ; la surveillance comportementale et les protections au moment de l’exécution étaient essentielles pour identifier la menace. En particulier, l’attaque a exploité les pipelines CI/CD, les systèmes automatisés que les entreprises utilisent pour construire, tester et déployer continuellement de nouveaux logiciels, et les Dockerfiles, qui sont des fichiers texte simples définissant exactement comment les applications conteneurisées doivent être construites et exécutées.
Pour atténuer ces risques, les organisations doivent immédiatement :
-
Épingler les versions exactes de toutes les dépendances dans leurs pipelines CI/CD, Dockerfiles et manifestes de paquets.
-
Mettre en place des outils de sécurité comportementale robustes.
-
Adopter des identifiants à courte durée de vie via des solutions de gestion de secrets dédiées.
Il est conseillé aux développeurs individuels et aux utilisateurs de vérifier soigneusement les versions des paquets, d’utiliser des environnements virtuels et des fichiers de verrouillage, d’activer l’authentification multi-facteur sur tous les comptes et de rester vigilants face à tout comportement inhabituel du système. La reconstruction des environnements affectés à partir de sources fiables et figées est fortement recommandée. Dans un paysage numérique de plus en plus interconnecté, la vigilance, la vérification et la gestion rigoureuse des dépendances ne sont plus optionnelles : elles sont essentielles pour la sécurité collective.”





