Aller au contenu
KLYNLABS

Un paquet npm téléchargé 2 millions de fois par semaine cachait un malware dans son propre code

Des chercheurs de Checkmarx ont découvert que le paquet indexed-btree et neuf autres bibliothèques liées dissimulaient leur charge malveillante dans une fonction exécutée à chaque utilisation

Kelvyn3 min de lecture

Des chercheurs en sécurité de Checkmarx ont révélé, le 20 septembre 2026, qu'un paquet npm nommé indexed-btree, téléchargé environ 2 millions de fois par semaine, dissimulait un chargeur de malware directement dans le code exécuté à l'usage, et non dans un script d'installation — une méthode conçue pour échapper aux défenses mises en place par le gestionnaire de paquets npm depuis juin 2026.

L'information a été rapportée par BleepingComputer.

Quels paquets sont concernés ?

Neuf autres paquets liés au même auteur ont été retirés de npm après la découverte : btree-core (1 951 274 téléchargements cumulés), btree-leaderboard (493 685), btree-range-store (468 092), ordered-kv-index (448 184), sliding-score-window (448 024), btree-time-index (425 312), priority-slot-queue (402 860), btree-lru-cache (372 185) et neighbor-key-map (366 019), selon les chiffres relayés par BleepingComputer. Au total, plusieurs millions d'installations cumulées auraient exposé des machines de développeurs à ce code.

Comment le malware échappait-il à la détection ?

npm a introduit en juin 2026 des mécanismes bloquant l'exécution automatique de scripts au moment de l'installation d'un paquet (les fameux « lifecycle scripts »), une des techniques les plus courantes pour glisser du code malveillant dans la chaîne d'approvisionnement logicielle. Les auteurs d'indexed-btree ont contourné cette protection en plaçant leur chargeur directement dans une méthode que tout utilisateur du paquet appelle en permanence pendant son fonctionnement normal.

« Le chargeur de malware se cache dans la méthode BTree.prototype.set de la bibliothèque, la fonction principale que tout utilisateur appellerait constamment », selon les chercheurs cités par BleepingComputer.

Le code n'exécutait sa charge obfusquée que lors d'un usage réel, ce qui rendait le paquet indistinguable d'une bibliothèque légitime lors d'un simple scan à l'installation.

Que fait le malware une fois actif ?

Une fois déclenché, le code collecte des informations sur la machine infectée (architecture du processeur, nom d'hôte, modèle de CPU, mémoire disponible, durée de fonctionnement) et les exfiltre via des canaux Slack et Telegram dont les identifiants sont codés en dur dans le paquet. Pour ses instructions de commande et de contrôle, le malware interroge un smart contract déployé sur la blockchain Ethereum, les communications étant chiffrées par un échange de clés X25519.

Qui est concerné et que faire ?

Tout projet ayant installé indexed-btree ou l'un des neuf paquets liés depuis leur publication est potentiellement concerné. Checkmarx recommande aux équipes de développement de ne plus se fier au seul contrôle des scripts d'installation, et de déployer une analyse comportementale à l'exécution en complément. Les organisations ayant utilisé ces paquets sont invitées à faire tourner l'ensemble des secrets exposés (jetons d'API, identifiants de dépôt) et à restaurer leurs environnements de développement à partir de sauvegardes saines antérieures à l'infection.

Cet incident illustre une évolution notable des attaques par paquets malveillants sur npm : à mesure que les protections à l'installation se renforcent, les attaquants déplacent leur charge vers le code d'exécution, un terrain que la plupart des outils de scan automatisés couvrent encore mal.

Source

D'après BleepingComputer, 20 septembre 2026, citant les recherches de Checkmarx.

À lire ensuite

Code informatique affiché sur un écran sombre avec numéros de ligne
Cybersécurité

Une faille de WordPress permet de forcer l'installation d'un thème pour exécuter du code à distance

Le chercheur en sécurité Paulos Yibelo, de la société pwn.ai, a révélé le 18 septembre 2026 une faille de WordPress permettant d'installer un thème à l'insu d'un administrateur via un lien piégé. Combinée à une vulnérabilité du thème installé, l'attaque atteint un score CVSS de 9,6 sur 10 ; WordPress a corrigé le problème dans la version 7.1.1.

Kelvyn2 min de lecture