Les paquets malveillants liés à la campagne MALFEX sur le registre NPM ont dépassé le seuil des 40 000 téléchargements, selon Checkmarx. La campagne a commencé en août 2023 et l’acteur malveillant a depuis publié 12 paquets, dont huit se sont révélés malveillants.
Cinq paquets ont été supprimés du registre, mais trois étaient toujours installables au 1er octobre : function-flag, function-color et cdn-img-fetch. Le paquet function-flag se distingue notamment parce qu’il est resté malveillant depuis juillet 2025 et a enregistré plus de 37 000 téléchargements, sans aucun avertissement de sécurité permettant de l’identifier comme paquet malveillant.
Trois voies de diffusion des logiciels malveillants
Checkmarx a identifié trois voies d’exécution indépendantes. Elles ne partagent pas la même infrastructure, mais sont attribuées au même acteur malveillant. Dans la première voie, des chargeurs du logiciel de contrôle à distance Overlord RAT sont utilisés avec des scripts obfusqués qui s’exécutent lors de l’exécution de npm install. Ces scripts peuvent être exécutés sur Windows, macOS et Linux, mais la charge utile finale ne fonctionne que sous Windows.
Overlord RAT fournit à l’opérateur des capacités de surveillance et de contrôle du système, notamment la capture d’écran, l’enregistrement des frappes, la surveillance des fenêtres, l’accès à une ligne de commande à distance, la recherche de fichiers et l’utilisation d’un bureau caché pour mener des activités malveillantes à l’insu de la victime.
Dans la deuxième voie, le code malveillant s’exécute lors du chargement du paquet afin de déposer le voleur d’informations movinlike sur l’appareil de la victime. Le logiciel cible huit clients Discord, sept navigateurs courants ainsi que des portefeuilles de cryptomonnaies afin de voler des données.
La troisième voie, qui est la plus ancienne et toujours active, utilise un téléchargeur distinct dans chaque version malveillante de function-flag, lequel récupère la charge utile depuis un site différent. Le mécanisme d’infection est conçu de sorte que l’installation du paquet se termine même si le téléchargement de la charge utile échoue, tandis que le processus échoue silencieusement sur macOS et Linux ; l’impact pratique se concentre donc sur les systèmes Windows.
Qu’est-ce que cela signifie pour les équipes de développement ?
L’Open Source Vulnerabilities Initiative a publié des alertes concernant six paquets malveillants : tlxbnhd, tldriver, mxdriver, img-to-native, native-runner et cdn-img-fetch. Toutefois, l’alerte concernant cdn-img-fetch ne couvre que deux des quatre versions malveillantes de ce paquet, ce qui limite la possibilité de s’y fier seule lors de l’examen des journaux d’installation.
Checkmarx indique qu’aucun des paquets concernés n’est une dépendance de paquets légitimes ou largement utilisés. Le périmètre d’exposition se limite donc aux systèmes ayant installé directement ces noms. L’entreprise n’a pas non plus identifié de ciblage géographique ou organisationnel particulier : toute personne qui installe le paquet voleur peut devenir une cible.
Cette campagne montre que l’achèvement du processus d’installation ne prouve pas l’innocuité du paquet, en particulier lorsque la charge utile s’exécute pendant l’installation ou lors du chargement, ou lorsque le téléchargement échoue silencieusement. Pour les équipes concernées, le point le plus important reste de vérifier la présence de ces noms dans les fichiers de dépendances, les journaux NPM et les environnements Windows, en gardant à l’esprit que la suppression de certains paquets ou l’apparition d’une alerte ne couvre pas nécessairement toutes les versions malveillantes.