Un faux site Web npm utilisé pour diffuser des logiciels malveillants via un jeton volé

Une campagne de phishing ciblant les développeurs JavaScript a compromis plusieurs packages npm populaires, dont eslint-config-prettier
. La faille a débuté lorsqu'un attaquant a piégé un mainteneur en utilisant une fausse page de connexion hébergée sur un domaine similaire, npnjs.com
.
Une fois que l'attaquant a mis la main sur le jeton npm du mainteneur, il a poussé des versions malveillantes de packages clés directement via le registre, contournant complètement les référentiels GitHub .
Selon Socket, une plateforme de sécurité dédiée aux développeurs, qui a été la première à repérer l'arnaque, quatre versions d' eslint-config-prettier
(8.10.1, 9.1.1, 10.1.6, 10.1.7) contenaient un script s'exécutant à l'installation, ciblant les machines Windows. Ce script tente de lancer un fichier node-gyp.dll
à l'aide de rundll32
, ce qui pourrait permettre à l'attaquant d'exécuter du code arbitraire sur les systèmes affectés. Les chercheurs en sécurité ont attribué au problème un score CVSS de 7,5 et ont confirmé qu'une nouvelle CVE ( CVE-2025-54313 ) était en cours de suivi.
Le billet de blog de Socket partagé avec Hackread.com a révélé que l'attaque est passée inaperçue pendant un certain temps car il n'y avait aucun commit ou demande d'extraction dans le référentiel GitHub lié aux nouvelles versions.
Au lieu de cela, l'attaquant s'est appuyé sur ses identifiants npm pour publier directement, évitant ainsi toute détection jusqu'à ce que les utilisateurs remarquent une activité suspecte. Parmi les autres paquets affectés découverts par les chercheurs, on peut citer :
synckit
: 0.11.9-
@pkgr/core
: 0.2.8 -
napi-postinstall
: 0.3.1 -
eslint-plugin-prettier
: 4.2.2 et 4.2.3
Ces packages sont largement utilisés dans les projets front-end et Node.js. Comme de nombreux développeurs s'appuient sur des outils automatisés comme Dependabot ou Renovate, des versions compromises peuvent avoir été intégrées à des projets sans que personne ne s'en aperçoive. Une fois installée, la charge utile pourrait fournir un accès à distance aux machines Windows exécutant les builds concernées.
La bonne nouvelle est que le mainteneur dont le jeton a été compromis a réagi rapidement après avoir pris connaissance de la faille. Les versions malveillantes ont été dépréciées et supprimées, les identifiants ont été renouvelés et le support npm a été mis en place pour faciliter le nettoyage.
Socket surveille la situation et continue de rechercher d'autres activités suspectes dans le registre npm. Ses outils signalent toute nouvelle version contenant des scripts d'installation ou des charges binaires inattendus, ce qui pourrait aider les développeurs à détecter les problèmes plus tôt, avant la propagation du code malveillant.
Nigel Douglas , responsable des relations avec les développeurs chez Cloudsmith, a commenté les implications plus larges. Il a souligné qu'il s'agissait là d'un nouvel exemple de la façon dont les chaînes de dépendances peuvent se transformer en vecteurs d'attaque. « Les pipelines CI/CD intègrent par défaut des centaines de dépendances transitives, chacune avec ses propres mainteneurs, cycles de mise à jour et historique d'exposition », a-t-il déclaré. « Sans processus sécurisé de récupération des dépendances, une seule faille en amont suffit à semer le chaos en production. »
Douglas a également souligné qu'il était déraisonnable d'attendre des développeurs qu'ils détectent eux-mêmes toutes les vulnérabilités. « Si un seul jeton de maintenance volé peut transférer du code malveillant vers l'un des outils de linting les plus utilisés sur npm, cela devrait nous éclairer. On ne peut pas résoudre ce problème en se concentrant uniquement sur des paquets individuels », a-t-il ajouté.
Il a appelé à des pratiques de maintenance plus strictes, telles que des jetons à portée limitée et la 2FA, ainsi qu'à des mesures de protection au niveau du registre et à des systèmes de gestion d'artefacts sécurisés qui prennent en charge des éléments tels que l'immuabilité des versions et la vérification des sources fiables.
HackRead