Aller au contenu
Software Supply Chain Security

Abus de packages npm avec miroirs unpkg

npm-mirrors fake CAPTCHA

Une nouvelle campagne met en lumière une menace moins intuitive : l’Abus de packages npm. Des acteurs malveillants utilisent un ensemble de paquets hébergés sur le registre npm, puis s’appuient sur des miroirs de diffusion, notamment unpkg, pour servir une page web frauduleuse ressemblant à une vérification de type CAPTCHA. Le contenu, une fois chargé par l’utilisateur via le domaine de confiance du miroir, déclenche ensuite une redirection vers l’infrastructure de phishing.

Contrairement à l’idée classique d’un code conçu pour “infecter” directement les développeurs qui installent une dépendance, l’objectif rapporté par les chercheurs est différent. Le paquet npm devient surtout un stockage légitime et validé pour déposer une charge utile : une page HTML piégée, rendue en contexte navigateur, puis orchestrée pour pousser la victime vers des sites contrôlés par l’attaquant.

Pourquoi l’Abus de packages npm est efficace

L’approche s’appuie sur une réalité pratique du web moderne : de nombreux contenus npm peuvent être accessibles via des services miroirs ou des CDN. Dans ce scénario, l’attaquant exploite précisément cette chaîne de confiance. Une fois la page HTML du paquet “miroitée”, elle est servie sous un domaine généralement perçu comme fiable.

Les chercheurs indiquent que la charge malveillante rapportée consiste en une page HTML incluse dans le paquet npm. En soi, le simple téléchargement du contenu ne ferait pas “mal” à l’environnement. Le danger apparaît lorsque la page est ouverte dans un navigateur : la victime croit interagir avec une vérification sécurisée, puis est redirigée vers une destination externe liée à la campagne de phishing.

Le rôle des miroirs comme unpkg

Le cœur de la technique réside dans la rediffusion du contenu par des miroirs. Les chercheurs citent des miroirs tels que unpkg : une fois le paquet répliqué sur ce type de service, le fichier index.html devient une page “active” et entièrement rendue.

Concrètement, une URL du miroir peut ressembler à ceci : unpkg[.]com/<nom_du_paquet>@1.0.0/index.html. À partir de là, l’utilisateur charge la page sur le domaine de confiance du miroir, ce qui augmente fortement les chances de succès de l’hameçonnage.

Une fausse vérification type CAPTCHA

Selon les détails fournis, la page HTML embarque la logique nécessaire pour afficher une fausse demande de vérification inspirée de CAPTCHA, avec une étape suivante qui déclenche une requête vers un serveur distant. L’objectif n’est pas seulement l’apparence : il s’agit d’orchestrer une redirection contrôlée par l’attaquant.

Cette page intègre également du JavaScript destiné à communiquer avec une infrastructure externe, afin de récupérer l’orientation finale de la victime. Ainsi, la campagne combine l’illusion d’un contrôle de sécurité avec une mécanique de redirection vers des sites de phishing.

Des destinations de phishing qui évoluent

Les chercheurs rapportent des itérations où le code appelait initialement un domaine typosquatté visant à imiter une page de connexion. L’exemple cité est login[.]microsofte[.]live, un domaine dont le nom imite une marque mais avec des variations typographiques.

Une fois ce domaine ajouté à la liste de blocage de Google Chrome Safe Browsing, les auteurs de la campagne auraient ajusté leur stratégie. Ils seraient passés à un autre service : api.keyval[.]org.

Key-value store : transformer un service légitime en relais

Le changement vers KeyVal est notable car il illustre un autre angle : l’utilisation d’infrastructures publiques et légitimes comme relais (“dead drop resolver”). KeyVal est un service de stockage clé-valeur accessible via une API REST. Un développeur peut y associer une valeur à une clé, puis la récupérer ensuite.

Dans cette campagne, les chercheurs expliquent que cette fonctionnalité est détournée. Le service devient une sorte de résolveur de destination : la page déclenche une requête, obtient une valeur encodée ou une logique de redirection, puis envoie l’utilisateur vers l’emplacement final.

Les chercheurs précisent qu’à l’heure de leur analyse, la logique distante transférerait l’utilisateur vers un site légitime de type ChatGPT. Toutefois, le point crucial est que la même mécanique peut être configurée pour livrer du ClickFix ou d’autres domaines d’hameçonnage.

Ce que cela signifie pour les utilisateurs et les équipes techniques

Cette campagne montre que le risque ne se limite pas à l’exécution de paquets sur une machine. Même sans “infection” au sens classique, une page servie depuis un miroir npm peut suffire à compromettre les utilisateurs : en imitant une vérification, l’attaquant vise à provoquer des actions non désirées ou à récolter des informations.

Pour les développeurs, cela rappelle aussi une nuance importante. Oui, il faut surveiller ce que l’on installe. Mais il faut aussi tenir compte de l’écosystème : certains paquets peuvent être consultés ou “servis” via des services miroirs, ce qui change le modèle de menace. Les équipes sécurité doivent donc intégrer ces scénarios dans leur compréhension des risques liés au supply chain.

Une technique déjà observée, mais qui s’amplifie

Les chercheurs soulignent que ce n’est pas une première. En octobre 2025, une autre société avait détaillé une campagne où de nombreux paquets npm utilisaient le CDN associé à unpkg pour héberger des scripts de redirection. L’objectif était alors de router les victimes vers des pages visant la récupération d’identifiants, dans une campagne baptisée Beamglea.

L’élément constant, d’après OX Security, est que les attaquants recherchent des méthodes nouvelles pour ne pas seulement “déposer du code malveillant” directement. Ils exploitent surtout l’infrastructure légitime pour stocker des charges, persistes via la présence des paquets dans les miroirs et résoudre dynamiquement des destinations.

Liste de paquets impliqués

Les chercheurs indiquent plusieurs noms de paquets utilisés dans cette campagne. Certains d’entre eux seraient encore disponibles au téléchargement. La liste rapportée comprend notamment :

  • bgzxcuite2
  • prezdentkxheiw
  • egair0810
  • mntectets
  • airdzticket
  • egypt0811
  • passport811
  • vxhjkseuiaqkb
  • ndmushdkeqe
  • ndmxchdjxn2
  • ndmfguyhoxc3
  • mjsdqwocvn
  • m2fcsfyjkuxb
  • m3fdfocdoewn
  • @worrisome/reutil
  • testdgdbcsd
  • tesgfvbncsdbcv
  • mndsxcusiwlk1
  • mn2adskhweox
  • mn3sadkoiewu
  • mn4xcouzvhus
  • mbxcnsuwgs1
  • skxcmwuncbg2
  • mobiwaefhxc3

Le point important n’est pas seulement la liste elle-même, mais la façon dont ces paquets sont exploités : la page HTML placée dans le paquet devient un leurre accessible via les miroirs.

Comment réduire l’exposition

Même si le détail de cette campagne vise des redirections côté navigateur, quelques bonnes pratiques peuvent limiter les risques. D’abord, rester attentif aux liens qui pointent vers des fichiers hébergés par des services miroirs : même si le domaine paraît “connu”, le contenu peut être falsifié.

Ensuite, surveiller les changements de comportements réseau. Les pages de phishing modernes utilisent souvent des appels JavaScript vers des serveurs de contrôle. En présence d’un doute, des outils de protection web (navigateur, passerelles, protections DNS) peuvent aider à détecter des domaines bloqués ou à limiter le chargement de scripts non fiables.

Enfin, côté organisation, élargir la réflexion supply chain : traiter le risque non seulement sous l’angle “installation de dépendances”, mais aussi sous l’angle “contenu servi et redirigé” via des miroirs ou CDN associés aux écosystèmes package.

Conclusion

Cette enquête met en évidence une nouvelle facette du Abus de packages npm. En exploitant des miroirs comme unpkg, les attaquants transforment une simple page HTML embarquée dans un paquet en un faux écran de vérification de type CAPTCHA. La victime croit interagir avec une procédure légitime, puis se fait rediriger vers des sites contrôlés, avec des destinations qui peuvent évoluer pour échapper aux blocages.

Pour se protéger, il faut donc penser au-delà de l’installation de paquets : surveiller les liens, comprendre le rôle des miroirs et renforcer la vigilance sur les comportements web (scripts, redirections, destinations externes). C’est précisément cette combinaison entre infrastructure légitime et logique de phishing qui rend la menace particulièrement préoccupante.

Source: https://thehackernews.com/2026/08/24-npm-packages-abuse-unpkg-mirrors-to.html