Image d’illustration générée par IA
Des pirates exploitent npm et ses miroirs comme hébergement pour des pages de phishing
Les pirates utilisent le registre npm et ses miroirs pour héberger des pages de phishing imitant des vérifications Cloudflare, redirigeant vers des sites malveillants.
Texte généré par intelligence artificielle, publié sans relecture humaine. Transparence IA
Le 25 août 2026, une campagne a été découverte dans laquelle le registre npm et ses miroirs sont utilisés pour héberger des pages HTML imitant les contrôles de sécurité de Cloudflare et redirigeant les visiteurs vers des sites contrôlés par les attaquants. Il ne s'agit pas d'une attaque classique de la chaîne d'approvisionnement : l'installation des paquets ne compromet pas l'ordinateur du développeur. Les attaquants exploitent l'infrastructure npm comme espace de stockage gratuit pour du contenu malveillant, ensuite servi depuis des domaines légitimes.
Une campagne de 24 paquets npm avec de fausses pages Cloudflare
Cette technique avait déjà été observée en juillet par le chercheur inf0stache, qui avait identifié le paquet npm china_airlines contenant une fausse page de vérification Cloudflare. Le signalement avait également été repris par IntelFusions. Un rapport ultérieur d'OX Security a mis au jour 24 paquets npm hébergeant la même page HTML malveillante.
Contrairement aux attaques classiques de la chaîne d'approvisionnement npm, télécharger et installer ces paquets n'infecte pas l'ordinateur du développeur avec un malware ou un infostealer. L'objectif est autre : utiliser le registre npm comme dépôt gratuit pour des pages HTML qui seront ensuite répliquées par les miroirs et servies aux utilisateurs finaux.
Comment UNPKG et npmmirror deviennent un hébergement frontend gratuit
Des plateformes comme UNPKG et npmmirror permettent d'ouvrir directement dans le navigateur les fichiers individuels d'un paquet npm. L'examen de l'un des paquets de la campagne a montré qu'il ne contenait que deux fichiers : un index.html et un package.json déclarant le fichier HTML comme fichier principal du paquet.
Lorsque UNPKG réplique le paquet, le fichier HTML peut être ouvert via une URL telle que https://unpkg[.]com/[email protected]/index[.]html. Le rendu s'effectue alors depuis le domaine légitime unpkg.com, et non depuis une infrastructure contrôlée par les attaquants. Cela complique le blocage du contenu par les logiciels de sécurité, car le domaine jouit d'une bonne réputation. En pratique, les miroirs npm deviennent un hébergement web gratuit pour des pages de phishing, sans que les attaquants aient à gérer leurs propres serveurs.
Un JavaScript obscurci qui redirige systématiquement
La page HTML malveillante imite une page de vérification de sécurité Cloudflare et intègre le service CAPTCHA légitime Turnstile de Cloudflare. Quel que soit le résultat de la vérification, la page exécute un JavaScript fortement obscurci qui redirige le visiteur. Même en complétant correctement le CAPTCHA, l'utilisateur est tout de même redirigé vers la destination choisie par les attaquants.
Moshe Siman Tov Bustan, responsable de l'équipe de recherche d'OX Security, a expliqué que les versions précédentes redirigeaient vers microcloud[.]homes en juillet et vers login[.]microsofte[.]live en août. Certains des premières redirections de juillet aboutissaient finalement au site légitime de connexion Microsoft Outlook, à l'adresse outlook.office.com/mail.
Un test réalisé sur l'une des pages malveillantes servies via UNPKG a confirmé qu'elle redirige toujours vers login[.]microsofte[.]live. Le domaine n'est actuellement pas actif, mais il pourrait être utilisé à l'avenir pour héberger une fausse page de connexion Microsoft.
L'abus de services légitimes : Turnstile et keyval.org
En plus de Cloudflare Turnstile, les attaquants exploitent un autre service légitime : api.keyval.org, une plateforme de stockage de paires clé-valeur. Certains paquets plus récents ont abandonné la redirection directe et utilisent une méthode plus flexible.
Le code JavaScript récupère une valeur chiffrée depuis keyval.org, la déchiffre dans le navigateur et redirige le visiteur vers l'URL déchiffrée. Cela permet aux attaquants de modifier la destination à distance sans avoir à modifier ou republier le paquet npm. Au moment des recherches d'OX Security, la destination configurée à distance était le site légitime ChatGPT.
OX Security avertit que la valeur peut être modifiée à tout moment pour pointer vers des pages ClickFix ou d'autres pages de phishing. La page HTML examinée lors de l'analyse n'exécute pas d'attaque ClickFix, mais les pages de la campagne pourraient rediriger vers du phishing, des téléchargements de malware ou d'autres destinations contrôlées par les attaquants.
Impact et persistance sur les miroirs
La gravité de cette campagne ne réside pas dans une compromission directe des systèmes des développeurs, mais dans l'abus d'infrastructures de confiance. Le chargement des pages depuis unpkg.com peut contourner les contrôles basés sur la réputation ou les listes noires, rendant plus difficile pour les logiciels de sécurité de bloquer le contenu malveillant.
Les visiteurs finaux peuvent être redirigés vers de fausses pages de connexion Microsoft, des pages de phishing, des téléchargements de malware ou des attaques ClickFix. De plus, les paquets npm peuvent rester disponibles sur les miroirs même après avoir été retirés du registre npm officiel, prolongeant la durée de vie de la campagne et compliquant la suppression.
Atténuations et indicateurs à surveiller
OX Security recommande de traiter les requêtes HTML directes vers les domaines des miroirs npm comme potentiellement suspectes. Aucune autre mesure d'atténuation technique n'a été fournie pour le moment : il n'existe pas de correctif à appliquer, car le problème réside dans l'abus d'une infrastructure légitime.
Les indicateurs connus incluent les domaines malveillants microcloud[.]homes et login[.]microsofte[.]live, l'URL d'exemple https://unpkg[.]com/[email protected]/index[.]html, le service légitime api.keyval.org exploité pour la redirection à distance, ainsi que les paquets npm china_airlines et ndmxchdjxn2, parmi les 24 identifiés.
Surveiller les journaux pour détecter des requêtes vers unpkg.com ou npmmirror.com pointant vers des fichiers HTML anormaux peut aider à repérer des tentatives d'exploitation. Bloquer les domaines malveillants connus et former les utilisateurs à ne pas se fier à des pages de vérification inattendues constituent des mesures de confinement immédiates.
Sources
Cet article est une réécriture originale fondée sur les sources ci-dessous.
