Campagne d’hameçonnage exploitant l’écosystème npm
10 octobre 2025
0 minutes de lectureEn octobre 2025, des chercheurs ont découvert une opération d’hameçonnage qui détourne l’écosystème npm, mais cette fois non pas pour infecter les développeurs au moment de l’installation, mais pour héberger et diffuser des scripts d’hameçonnage via le CDN de confiance unpkg.com .
Les acteurs malveillants ont publié plus de 175 packages jetables servant d’hébergement temporaire pour du JavaScript qui redirige automatiquement les victimes vers des sites de collecte d’identifiants lorsqu’elles ouvrent des « documents professionnels » HTML spécialement conçus. Selon Socket, qui a révélé l’information et fourni les premières données, cette attaque vise plus de 135 organisations (dans les secteurs industriel, technologique et énergétique, principalement en Europe). Après cette divulgation, Snyk a cartographié plus précisément les packages de la campagne et identifié un groupe distinct utilisant des noms de type mad-x.x.x.x.x.x (où x est un nombre aléatoire), qui semble lié à ces activités ou relever d’expérimentations imitatives utilisant une infrastructure et des objectifs similaires.
Contrairement à la méthode plus connue qui consiste à téléverser des packages malveillants pour compromettre les développeurs lors de leur installation, cette campagne emprunte une autre voie. Au lieu d’infecter les utilisateurs via npm install, les attaquants exploitent la diffusion par navigateur via unpkg, transformant une infrastructure légitime d’hébergement open source en mécanisme d’hameçonnage. Cela montre clairement que les acteurs malveillants explorent des méthodes qui dépassent les attaques classiques visant les packages et cherchent activement de nouvelles façons de détourner l’écosystème open source lui-même. Même s’il ne s’agit pas d’une compromission classique de la chaîne d’approvisionnement, cette campagne mérite une attention particulière.
Déroulement de cette attaque de la chaîne d’approvisionnement
Publication massive de packages : les attaquants ont automatisé la création de nombreux packages npm (de la forme
redirect-[a-z0-9]{6}) au contenu minimal :beamglea.jset des fichiers HTML leurres.Disponibilité automatique sur le CDN : dès qu’une version d’un package est publiée, la ressource CDN populaire et centralisée
unpkg.compeut être référencée dans<script src="https://unpkg.com/<name>@<ver>/beamglea.js">pour ensuite utiliser ces packages malveillants.Diffusion de l’hameçonnage : les cibles reçoivent des fichiers HTML personnalisés (imitant souvent des factures et autres documents). Leur ouverture déclenche le chargement du script
unpkg.Vol des identifiants : le script redirige immédiatement vers une page contrôlée par l’attaquant et transmet l’adresse e-mail de la victime dans le fragment de l’URL afin de préremplir le formulaire d’hameçonnage. Cela crée un gage de confiance efficace tout en évitant les journaux du serveur.
Chronologie
Voici la chronologie connue à ce jour de cet incident en évolution :
24 septembre 2025 : les premières traces de l’infrastructure sont signalées publiquement.
9 octobre 2025 : Socket publie une enquête détaillant les 175 packages, le nom de code «Beamglea», la nomenclature
redirect-*et les plus de 135 organisations touchées.10 octobre 2025 : une analyse interne de Snyk recense des packages supplémentaires non mentionnés par Socket, selon la nomenclature
mad-*(ces éléments font toujours l’objet d’une enquête ; leur attribution et leur lien avec le même acteur ne sont pas encore établis avec certitude).
Composants touchés
Cible principale : toute personne qui ouvre l’un des leurres HTML de la campagne dans un navigateur qui récupère ensuite un script depuis
unpkg.com. Les victimes sont des employés d’entreprise, et non des développeurs.Inventaire des packages :
Famille
redirect-*(≈175 packages) servant d’hôtes CDN pourbeamglea.jset les fichiers HTML. SocketEnsemble supplémentaire signalé par Snyk (absent de l’article de Socket) :
mad-1.0.0.2.2.8,mad-1.2.9.2.2.8,mad-2.4.0.2.2.8,mad-1.4.1.2.2.8,mad-2.0.0.2.2.8,mad-4.0.1.2.2.8,mad-3.0.1.2.2.8,mad-2.0.2.2.2.8,mad-10.1.1.2.2.8,mad-1.4.2.2.2.8,mad-2.4.1.2.2.8,mad-1.4.0.2.2.8,mad-10.2.1.2.2.8,mad-2.0.1.2.2.8,mad-3.0.0.2.2.8,mad-5.0.0.2.2.8,mad-3.0.2.2.2.8,mad-4.0.0.2.2.8,mad-5.0.1.2.2.8,mad-6.0.0.2.2.8
Analyse du package mad-*
Ce package contient une fausse page « Vérification de sécurité Cloudflare » qui redirige discrètement les utilisateurs vers une URL contrôlée par l’attaquant, récupérée depuis un fichier hébergé à distance sur GitHub. Il intègre des techniques courantes d’anti-analyse qui bloquent les raccourcis d’inspection et tentent de rediriger la fenêtre principale (protection contre l’intégration en iframe) après le clic sur une fausse case de vérification.
Fonctionnement
Interface d’hameçonnage et leurre : imite Cloudflare et fait référence à la cible potentielle.

Détection des outils de développement : le code vérifie régulièrement si ces outils sont ouverts et, s’il les détecte, vide la page ou redirige l’utilisateur.
Déclenchement par une action de l’utilisateur : lorsque la case « Je ne suis pas un robot » est cochée, un indicateur de chargement s’affiche, puis un fichier texte distant est récupéré. Si ce fichier contient une URL, le navigateur (ou sa frame parente) est redirigé vers cette adresse.
Renforcement contre l’inspection : désactive le clic droit, F12, les raccourcis courants des outils de développement, ainsi que les options « afficher la source » et « enregistrer ».
La charge utile malveillante
À titre de référence pour les autres chercheurs en sécurité et les lecteurs, nous fournissons le code obfusqué complet script.js. Cette charge utile est chargée par le script de page suivant <script src="https://unpkg.com/mad-4.0.0.2.2.8.@3.0.1/script.js" defer></script> <script>.
La charge utile malveillante :
FAQ
Quels sont les indicateurs de compromission (IOC) de cette attaque de la chaîne d’approvisionnement ?
Indices liés aux fichiers et au contenu (points de terminaison ou passerelles de messagerie) :
Code HTML contenant
<script src="https://unpkg.com/redirect-<6-char-suffix>@<semver>/beamglea.js">.Balise meta HTML présente dans les leurres :
name="html-meta" content="nb830r6x".
Indices réseau :
Requêtes sortantes depuis les terminaux des utilisateurs vers
unpkg.com, immédiatement suivies d’une navigation vers des domaines suspects commecfn.jackpotmastersdanske[.]com.
Indices liés aux packages (dépôts/environnements de développement) :
Présence de packages npm peu visibles nommés comme
redirect-[a-z0-9]{6}ou figurant dans la listemad-*ci-dessus, même s’ils ne sont pas installés (car ils sont chargés à distance depuis unpkg.com).
Quels composants open source sont impliqués dans cette attaque ?
Registre npm : utilisé comme source d’hébergement gratuite et réputée en publiant de nombreux packages de faible valeur (par exemple,
redirect-<random>), contenant chacun un petit script de redirection et des fichiers leurres.unpkg.comCDN : sert automatiquement en HTTPS tous les packages npm publics. Les attaquants s’en servent pour charger directementbeamglea.jsdans les navigateurs des victimes.Fichiers HTML leurres destinés aux victimes : des bons de commande ou des documents de projet d’apparence anodine qui, lorsqu’on les ouvre localement, récupèrent le script depuis le CDN centralisé
unpkg.comet redirigent les utilisateurs vers de faux portails de connexion où le champ d’adresse e-mail est prérempli, ce qui renforce la crédibilité de l’attaque.
SNYK LABS
Découvrez les dernières innovations de Snyk en sécurité de l’IA
Les clients Snyk peuvent désormais tester Snyk AI-BOM et Snyk MCP-Scan en avant-première expérimentale – et ce n’est qu’un début !



