← Retour aux actualités
BleepingComputer20 Sept 2026 · 3 min de lecture

Des paquets npm malveillants dissimulent des charges utiles dans le code d’exécution pour contourner les contrôles à l’installation

Des chercheurs en sécurité ont identifié une opération de logiciels malveillants npm qui contourne les protections plus récentes à l’installation en plaçant sa fonctionnalité malveillante dans du code...

Des chercheurs en sécurité ont identifié une opération de logiciels malveillants npm qui contourne les protections plus récentes à l’installation en plaçant sa fonctionnalité malveillante dans du code de paquet ordinaire qui ne s’exécute qu’après qu’une application commence à utiliser la bibliothèque.

La campagne est centrée sur un paquet appelé indexed-btree, que les chercheurs de Checkmarx décrivent comme conçu pour ressembler au projet légitime sorted-btree. Le paquet aurait enregistré environ 2 millions de téléchargements hebdomadaires avant son retrait ou l’ouverture d’une enquête, illustrant la portée potentielle du typosquattage et des dépendances imitatrices dans les chaînes d’approvisionnement logicielles.

Un déclencheur à l’exécution contourne les contrôles des scripts de cycle de vie

Les récents contrôles de sécurité de npm restreignent les scripts de cycle de vie des dépendances, notamment les hooks preinstall, install et postinstall, à moins que les utilisateurs ne les approuvent explicitement. Ces mesures visent à réduire le risque d’exécution de code malveillant dès l’installation d’un paquet.

Selon Checkmarx, le paquet malveillant n’utilisait pas ces hooks. À la place, son chargeur était intégré à la fonction BTree.prototype.set() de la bibliothèque. Le code s’active lors d’une activité normale à l’exécution lorsque la méthode est appelée avec une clé particulière, permettant au paquet de sembler inoffensif pendant l’installation et de potentiellement échapper aux scanners axés sur les scripts de cycle de vie.

Une fois activé, le logiciel malveillant peut collecter des informations sur l’appareil et le système, telles que le nom d’hôte, l’architecture du processeur, la mémoire, le temps de fonctionnement et les détails du processeur. Les chercheurs ont indiqué que les données pourraient être envoyées via une infrastructure Slack et Telegram codée en dur.

La charge utile utiliserait également un contrat intelligent du réseau de test Ethereum Sepolia dans le cadre de son processus de commande et de contrôle. Elle récupère les informations nécessaires pour dériver une clé de chiffrement, puis déchiffre une charge utile d’étape ultérieure. Selon Checkmarx, le logiciel malveillant comprend des capacités de nettoyage permettant de supprimer des fichiers et de retirer le déclencheur injecté lorsque les opérateurs décident de mettre fin à une opération.

Un groupe plus large de paquets identifié

Les chercheurs ont lié neuf paquets npm supplémentaires à la même activité, notamment btree-core, ordered-kv-index, btree-leaderboard, priority-slot-queue et btree-range-store. Plusieurs affichaient des volumes de téléchargement importants. L’opération utilisait également une présence GitHub soignée, incluant un profil de développeur élaboré et un historique de commits apparemment fabriqué, afin de renforcer sa légitimité.

Les développeurs devraient examiner leurs inventaires de dépendances afin d’y rechercher les noms de paquets identifiés, renouveler les identifiants potentiellement exposés et, le cas échéant, reconstruire les environnements de développement affectés à partir de sauvegardes fiables. L’incident souligne également la nécessité d’une surveillance comportementale et d’une revue du code allant au-delà de la seule analyse lors de l’installation.

Partager cet article :TwitterLinkedIn