MALFEX : le package npm imgdecode cache un loader de shellcode

La campagne MALFEX frappe npm : le package imgdecode, téléchargé 979 fois, dissimule un chargeur de shellcode sous Windows.
Les chercheurs en cybersécurité ont repéré un nouveau paquet piégé sur le registre npm. Il se rattache à la campagne MALFEX, une attaque de la chaîne d’approvisionnement logicielle révélée récemment. Le paquet se nomme imgdecode. En effet, son nom évoque un outil de traitement d’images, ce qui lui donne une apparence anodine.
Ce que l’on sait du package imgdecode
Le paquet a été publié le 30 septembre 2026. Son auteur utilise le pseudonyme malfexteste8. Ainsi, ce nom fait directement référence à la campagne en cours.
Au moment de la rédaction, imgdecode totalisait 979 téléchargements. De plus, il restait disponible sur npm. Autrement dit, n’importe quel développeur pouvait encore l’installer, par erreur ou par confiance.
Le point le plus notable concerne sa conception. En effet, le paquet dissimule un chargeur de shellcode (shellcode loader) dans un addon natif pour Windows. Cette technique mérite donc qu’on s’y arrête.
Pourquoi un addon natif Windows est un bon refuge
Un addon natif est un composant compilé. Node.js le charge à côté du code JavaScript habituel. Il s’agit d’un binaire, et non d’un simple fichier texte. Par conséquent, il est bien plus difficile à relire.
Les attaquants y trouvent plusieurs avantages :
- Le code JavaScript du paquet peut paraître propre et inoffensif.
- En effet, la logique malveillante se cache dans un fichier binaire opaque.
- Ainsi, les analyses statiques classiques, centrées sur les scripts, passent facilement à côté.
- Par ailleurs, le composant peut exécuter du code directement sur la machine de la victime.
Un chargeur de shellcode a un rôle précis. Il place en mémoire une suite d’instructions machine, puis la fait exécuter. Cette approche permet notamment de livrer une charge utile sans la déposer sous forme de fichier évident. De plus, elle complique le travail des solutions de sécurité qui surveillent le disque.
À ce stade, les informations disponibles ne détaillent pas la charge finale. Il serait donc imprudent de lui attribuer des fonctions précises. En revanche, la méthode de dissimulation est clairement établie.
Une nouvelle pièce de la campagne MALFEX
Ce paquet n’est pas un cas isolé. Il s’inscrit dans la campagne MALFEX, déjà documentée par les chercheurs. Les attaques de ce type visent la confiance accordée aux dépôts publics. En effet, un développeur qui exécute npm install accepte souvent du code tiers sans le vérifier.
Le pseudonyme du publieur est également révélateur. Le suffixe « teste8 » laisse penser à une série d’essais ou de comptes jetables. Toutefois, il faut rester prudent sur cette interprétation. Ce détail suggère seulement que l’opération a pu être menée de façon itérative.
Par ailleurs, le nombre de téléchargements doit être lu avec nuance. Avec 979 installations, l’ampleur reste limitée. Pourtant, le compteur ne dit rien de l’usage réel. Une partie de ces téléchargements peut venir de robots, de miroirs ou d’analyses automatisées. En revanche, une seule installation sur un poste de développeur peut suffire à causer des dégâts sérieux.
Ce risque est important sous Windows. En effet, les postes de développement contiennent souvent des jetons d’accès, des clés d’API et des secrets de déploiement. Ainsi, une compromission initiale peut se propager vers les dépôts de code et les pipelines d’intégration continue.
Recommandations pour les équipes de développement
Les équipes qui utilisent npm doivent agir sans attendre. D’abord, il convient de vérifier si imgdecode figure dans un projet, un fichier de verrouillage ou un cache. Ensuite, il faut examiner les journaux d’installation des dernières semaines.
Si le paquet a été installé, la prudence impose plusieurs mesures :
- D’abord, isoler la machine concernée du réseau.
- Ensuite, supprimer le paquet et reconstruire l’environnement à partir d’une source saine.
- Révoquer et renouveler les secrets accessibles depuis ce poste, notamment les jetons npm et les clés cloud.
- Enfin, rechercher des signes d’exécution inhabituelle de code en mémoire avec une solution de détection sur les terminaux.
Enfin, quelques bonnes pratiques réduisent durablement l’exposition :
- Par exemple, examiner tout paquet inconnu avant son installation, y compris son auteur et son historique.
- Se méfier des paquets contenant des fichiers binaires ou des addons natifs sans justification claire.
- Utiliser un fichier de verrouillage et des versions figées.
- De plus, désactiver les scripts d’installation quand ils ne sont pas nécessaires.
- Passer par un registre interne ou un proxy qui filtre les nouveaux paquets.
Ce qu’il faut retenir
imgdecodeappartient à la campagne MALFEX et a été publié le 30 septembre 2026 parmalfexteste8.- De plus, il comptait 979 téléchargements et restait en ligne au moment de la rédaction.
- En effet, il cache un chargeur de shellcode dans un addon natif pour Windows.
- Par conséquent, les développeurs doivent auditer leurs dépendances et renouveler leurs secrets en cas d’installation.
Source : MALFEX npm Package 'imgdecode' Hides Shellcode Loader in Windows Native Addon