Les mainteneurs de l’HTTP client Axios ont récemment publié un rapport détaillant une attaque de social engineering visant l’un de leurs développeurs, attribuée à des hackers nord-coréens. Cet incident a conduit à la compromission d’un compte de mainteneur, permettant la publication de deux versions malveillantes d’Axios (1.14.1 et 0.30.4) sur le registre de paquets npm, déclenchant ainsi une attaque par supply chain.
Ces versions infectées contenaient une dépendance nommée plain-crypto-js, installant un remote access trojan (RAT) sur des systèmes macOS, Windows et Linux. Bien que ces versions aient été disponibles seulement pendant environ trois heures avant d’être supprimées, tout système les ayant installées devrait être considéré comme compromis, et il est recommandé de faire tourner tous les identifiants et clés d’authentification.
Les mainteneurs d’Axios ont indiqué qu’ils avaient effacé les systèmes affectés, réinitialisé tous les identifiants, et mis en place des modifications afin d’éviter d’autres incidents similaires. Le groupe de renseignement sur les menaces de Google a lié cette attaque aux acteurs malveillants nord-coréens identifiés comme UNC1069.
Une attaque ciblée par social engineering
Le rapport indique que la compromission a débuté plusieurs semaines auparavant par une attaque ciblée sur le mainteneur principal du projet, Jason Saayman. Les attaquants ont usurpé l’identité d’une entreprise légitime, cloné son image de marque, et invité le mainteneur à rejoindre un espace de travail Slack fictif. Ce serveur contenait des canaux réalistes et des profils fictifs se faisant passer pour des employés.
Saayman a décrit que le serveur Slack était si convaincant qu’il contenait des activités scénarisées, et même des publications d’employés sur LinkedIn. En utilisant cette approche, les attaquants ont ensuite organisé une réunion sur Microsoft Teams, semble-t-il regroupant de nombreuses personnes. Lors de l’appel, un message d’erreur technique a été affiché, suggérant que son système était obsolète, incitant le mainteneur à installer une mise à jour de Teams, qui était en réalité un malware RAT.
D’autres mainteneurs ont rapporté des tentatives similaires, où les hackers ont essayé de les inciter à installer une mise à jour de Microsoft Teams qui se révélait aussi être malveillante. Cette méthode rappelle un type d’attaque appelé ClickFix, où des victimes sont confrontées à des messages d’erreur trompeurs et invitées à suivre des étapes de dépannage qui aboutissent à l’installation de logiciels malveillants.
Les mainteneurs d’Axios ont confirmé que l’attaque n’a pas modifié le code source du projet, mais a consisté à intégrer une dépendance malveillante dans des versions autrement légitimes. Pelle Wessman, un mainteneur d’autres projets open-source, a également vécu la même campagne et a partagé une capture d’écran d’un message d’erreur RTC utilisé pour tromper des cibles.

Source: Pelle Wessman
Lorsque Wessman a refusé d’installer l’application, les attaquants ont tenté de le convaincre d’exécuter une commande Curl. Face à son refus, ils ont finalement disparu, supprimant toutes les conversations. La société de cybersécurité Socket a également rapporté que cette campagne était coordonnée et ciblait des mainteneurs de projets Node.js populaires. De nombreux développeurs, incluant des mainteneurs de paquets largement utilisés, ont rapporté avoir reçu des messages similaires.
Socket a noté que ces attaquants se concentraient sur des projets à fort impact, soulignant le danger que représentent ces types d’attaques. À la suite de ce compromis, des mainteneurs de l’écosystème Node.js ont fait part de leurs expériences avec la même campagne de social engineering.
Les chercheurs de Socket indiquent que ce genre d’attaques par supply chain devient de plus en plus fréquent, avec un focus accru sur les paquets largement utilisés pour générer un impact considérable.
