Des chercheurs de Socket spécialisés en sécurité ont découvert une campagne d’hameçonnage à grande échelle qui a détourné le registre npm et le CDN unpkg, en utilisant 175 packages malveillants totalisant plus de 26 000 téléchargements pour dérober des identifiants de connexion.
La campagne, baptisée Beamglea par les chercheurs, ciblait principalement plus de 135 entreprises industrielles, technologiques et énergétiques en Europe et dans la région APAC.
Les chercheurs ont déclaré, « L’écosystème npm devient une infrastructure involontaire plutôt qu’un vecteur d’attaque direct. »
Une nouvelle facette de l’abus de npm
Ce n’est pas la première fois que des packages npm sont utilisés dans une attaque.
Comme les packages restent inertes lors de l’installation npm, les contrôles traditionnels de la chaîne logistique (par exemple, les analyses de malwares au moment de la compilation) peuvent ne pas se déclencher.
Les attaquants ont plutôt exploité un canal de diffusion fiable (unpkg via HTTPS) pour charger du JavaScript qui redirige discrètement les utilisateurs vers des portails d’hameçonnage dédiés, souvent préremplis avec l’adresse e-mail de la victime via des fragments d’URL, ce qui permet d’échapper aux journaux élémentaires côté serveur.
Du package à l’hameçonnage
Beamglea comprend 175 packages publiés depuis neuf comptes npm. Chacun suit un schéma de nommage redirect-[a-z0-9]{6} et fait référence à une charge utile simple, beamglea.js, qui ajoute l’adresse e-mail de la victime à une URL d’hameçonnage sous forme de fragment (par exemple, #user@company.com) avant de rediriger l’utilisateur.
Les chercheurs de Socket ont identifié plus de 630 leurres HTML thématiques, notamment des bons de commande, des fiches techniques et des documents de projet, qui chargent ces scripts depuis unpkg.
La valeur de la balise meta nb830r6x apparaît également dans plusieurs artefacts, ce qui a aidé les chercheurs à suivre la campagne. L’équipe de Socket a contacté npm pour demander la suppression des packages issus de cette campagne.
Les acteurs malveillants ont automatisé la génération des packages de bout en bout au moyen d’outils Python qui vérifient la connexion à npm, créent des modèles de JavaScript propres à chaque victime, publient le package et génèrent un leurre HTML pointant vers unpkg.com/<package>@<version>/beamglea.js.
Lorsqu’il est ouvert, le leurre redirige vers l’un de plusieurs domaines d’hameçonnage (par exemple, cfn.jackpotmastersdanske[.]com) et préremplit les identifiants.
Certaines URL incluent des paramètres encodés en Base64 indiquant un ciblage d’Office 365 « sans MFA » (par exemple, sv=o365_1_nom), ce qui pourrait indiquer que les acteurs malveillants prévoient d’utiliser cette infrastructure pour de futures attaques de compromission de messageries professionnelles (BEC).
Cette technique exploite la confiance accordée aux CDN largement utilisés par les développeurs, sans nécessiter l’exécution des packages sur leurs machines.
Stratégies d’atténuation des attaques visant npm
Pour réduire l’exposition aux packages npm malveillants ou compromis, les organisations devraient adopter une stratégie de défense en profondeur combinant contrôles techniques, pratiques de développement sécurisé et surveillance continue.
- Gestion sécurisée des dépendances : Utilisez des registres privés, autorisez explicitement les packages et verrouillez les versions afin de contrôler les dépendances qui entrent dans votre environnement.
- Automatiser l’analyse et les contrôles d’intégrité : Exécutez des outils SCA en continu et vérifiez les signatures ou les sommes de contrôle des packages afin de détecter toute altération ou tout code malveillant.
- Sécuriser les environnements de compilation et réseau : Isolez les pipelines CI/CD, limitez le trafic sortant aux domaines de confiance et désactivez les scripts npm install risqués.
- Sensibiliser et surveiller : Formez les développeurs à examiner attentivement les packages, à repérer les typosquattages ou les anomalies et à intégrer les événements npm à la surveillance de la sécurité et aux plans de réponse aux incidents.
Ensemble, ces mesures aident les organisations à protéger leur chaîne logistique logicielle et à réduire le risque de compromission par des packages npm malveillants ou altérés.
Beamglea marque le passage des installations malveillantes à l’utilisation des registres publics et des CDN comme infrastructures de confiance pour l’hameçonnage.
Alors que des attaques comme Beamglea brouillent la frontière entre outils de confiance et infrastructure malveillante, renforcer la sécurité globale de la chaîne logistique logicielle n’a jamais été aussi essentiel.

