Contexte et découverte
En septembre 2026, des chercheurs en cybersécurité ont identifié un groupe de 13 paquets npm diffusant un nouveau logiciel malveillant nommé WeaselBiscuit. Les paquets – @biz44/id10-client, @biz44/id12-client, @biz44/id44-client, @biz44/id79-client, @biz44/id95-client, @biz44/id99-client, @biz44/process-runtime-utils, @biz44/runtime-utils, engin1, id79-client, process-lhpm, process-mite et process-tailwind – sont publiés sur le registre npm et importés comme dépendances classiques. L’analyse d’OpenSourceMalware montre que le code partage des fonctions avec les familles de logiciels malveillants nord‑coréennes BeaverTail et OtterCookie, mais il est nettement plus léger et ne comporte pas de modules de persistance ou de vol de cryptomonnaies.
Mécanisme d’infection et architecture
Le chargement s’opère dès qu’un développeur exécute une instruction require vers l’un des paquets. Le fichier loader.js présent dans chaque paquet récupère le chargeur principal depuis un dépôt « dead‑drop » hébergé sur npoint.io et l’exécute directement en mémoire, évitant ainsi toute écriture sur disque. Le chargeur contacte ensuite une seconde URL Npoint pour télécharger la configuration du serveur de commande‑et‑contrôle (C2) – dans l’exemple observé, l’adresse IP 103.170.217[.]184:8787. Après résolution, le malware dresse un profil du système (OS, architecture, adresse IP publique) en interrogeant api.ipify.org et ip‑api.com, puis il attend des ordres du C2.
const weasel = require("@biz44/id10-client");
weasel.initialize();Capacités de vol de données
Une fois activé, WeaselBiscuit cible le répertoire Local Extension Settings des extensions Chrome, qui stocke les données sous forme de base LevelDB. Le malware parcourt chaque fichier lisible et non vide, puis les transmet en bloc au serveur C2. Cette technique permet d’extraire les états de portefeuilles, les jetons d’authentification ou toute information sensible conservée par les extensions. Sur les machines Windows, le C2 peut également ordonner la capture du presse‑papier et l’enregistrement de frappes clavier, ce qui élargit le spectre d’informations volées.
Analyse de la chaîne d’approvisionnement et attribution
Le recours à Npoint.io, aux services de géolocalisation IP publics et à une architecture C2 similaire à celle d’OtterCookie rappelle les indicateurs déjà associés à la campagne nord‑coréenne Contagious Interview. De plus, chaque installation est marquée par un identifiant numérique (10, 12, 44, 79, 95, 99) qui reproduit le schéma de balisage utilisé par le groupe PolinRider. Malgré ces parallèles, les chercheurs n’ont pas identifié de preuves concluantes (infrastructure partagée, signatures de compilation, certificats) permettant d’attribuer formellement WeaselBiscuit à la République populaire de Corée. Le cas illustre toutefois la tendance croissante à exploiter la chaîne d’approvisionnement npm pour diffuser des chargeurs légers capables de cibler des données d’extension Chrome, un vecteur jusqu’alors peu exploité dans les campagnes de vol d’informations.