// CLUBIC — CYBERSECURITY
MALFEX : comment des pirates ont piégé des milliers de téléchargements npm avec de banales images PNG
La campagne MALFEX exploite plusieurs bibliothèques npm pour diffuser des malwares sur Windows. Parmi ses méthodes, deux détournent des fichiers PNG, tantôt en leur empruntant leur apparence, tantôt en y dissimulant des données chiffrées.
Voilà un peu plus de trois ans qu'un même opérateur multiplie les publications sur npm, le registre de bibliothèques JavaScript utilisé par les développeurs. Dans une enquête publiée le 5 octobre, les chercheurs de Checkmarx retracent ses activités depuis 2023, et lui attribuent douze paquets, dont huit malveillants. Ils ont ainsi identifié trois chaînes d’infection distinctes ciblant Windows, dont deux détournent le format PNG pour installer des malwares à l’insu des victimes.
Votre petite entreprise a de grandes ambitions. Protégez-là contre les pirates. Et développez sereinement votre activité !
Le premier procédé consiste à faire passer une archive exécutable Windows pour une image PNG. Lorsqu'un développeur installe l'un des paquets piégés, comme tlxbnhd, un script récupère le fichier sur un service d'hébergement d'images et le lance automatiquement. Il contient un interpréteur AutoIt légitimement signé, accompagné d’un script chiffré qui permet de reconstituer puis d’exécuter Overlord, un cheval de Troie d’accès à distance. Une fois installé, le malware peut enregistrer les frappes au clavier, surveiller le presse-papiers, réaliser des captures d’écran et donner au pirate le contrôle de l’ordinateur. Une tâche planifiée relance également ses composants toutes les cinq minutes pour maintenir l'infection sur la machine.
La deuxième technique exploite une particularité du format PNG. Cette fois, les pirates utilisent une vraie image, hébergée sur GitHub, à laquelle ils ont ajouté un programme chiffré. L'astuce consiste à placer ces données après le marqueur signalant la fin de l'image. Les logiciels de visualisation ignorent alors ce contenu supplémentaire et affichent le PNG normalement. Mais lorsque le paquet npm piégé cdn-img-fetch télécharge le fichier, un autre composant malveillant récupère les données dissimulées et les déchiffre pour reconstituer un exécutable Windows.
Ce programme télécharge ensuite movinlike, un malware spécialisé dans le vol d’informations. Jetons d’authentification Discord, cookies et identifiants enregistrés dans les navigateurs, sessions Telegram, données de portefeuilles de cryptomonnaies… Les informations dérobées sont compressées, puis transmises aux pirates.
Les images ne constituent toutefois qu'une partie de l'arsenal de MALFEX. Les pirates ont également piégé function-flag, une bibliothèque JavaScript permettant de générer des dessins en caractères ASCII, distribuée directement ou par l'intermédiaire de function-color, qui l'installe comme dépendance. À l'installation, function-flag exécute automatiquement un exemple utilisant une police baptisée « Bloody », qui active une fonction cachée, chargée de télécharger un exécutable dans le répertoire AppData de Windows et de le lancer sans afficher de fenêtre.
Avec 37 419 téléchargements sur les 40 767 recensés pour l'ensemble de MALFEX au 1er octobre 2026, function-flag représente à lui seul plus de 90 % du total.
Malgré l'ancienneté de la campagne, trois paquets malveillants, function-flag, function-color et cdn-img-fetch, étaient encore disponibles sur npm lors des dernières vérifications des chercheurs. Les deux premiers ne faisaient l'objet d'aucun avis de sécurité dans la base OSV, tandis que l'alerte concernant le troisième ne couvrait que deux de ses quatre versions malveillantes. Les outils s'appuyant exclusivement sur ces signalements risquaient donc de passer à côté de plusieurs paquets ou versions malveillantes.
Leur retrait du registre ne garantit pas l'élimination de la menace. Des copies peuvent subsister dans les caches et les registres privés, tandis que la désinstallation d'un paquet ne supprime pas nécessairement les malwares déjà exécutés sur le PC. Pour les développeurs concerné