Logiciel malveillant · 3 min de lecture
PolinRider a caché des chargeurs dans 10 paquets npm et a utilisé Ethereum pour trouver ses serveurs
Sonatype a trouvé 12 versions malveillantes dans 10 paquets npm détournés. Les chargeurs s’exécutent au chargement, puis lisent Ethereum pour trouver le prochain serveur.

Sonatype Research Labs dit avoir confirmé des chargeurs JavaScript dissimulés dans 12 versions de 10 paquets npm détournés, suivis sous sonatype-2026-010515. Le compte rendu public de l’entreprise est daté du 4 novembre 2026 ; la découverte a continué de circuler dans les briefings de menaces jusqu’au 9 novembre.
Ce que font les paquets
Contrairement à beaucoup de vers de chaîne d’approvisionnement, ces versions ne déclarent aucun crochet d’installation ou de postinstallation côté consommateur. Le code malveillant s’exécute quand un point d’entrée touché est chargé, ou, pour server-hemera-mongo, au démarrage de l’application empaquetée. Désactiver les scripts d’installation npm ne ferme pas cette voie.
Les 12 versions interrogent des points de terminaison RPC Ethereum publics (avec repli Blockscout) pour des transactions du portefeuille 0x1eef0849eda15d87f64e51c73c8442cf3c8bcef3. Elles traitent les huit premiers octets de l’adresse destinataire comme deux adresses IPv4, puis récupèrent du JavaScript chiffré XOR en HTTP clair sur le port TCP 443 aux chemins /0x/cls et /0x/ls. Après décodage, elles exécutent ce code avec eval ou un processus node détaché. Les opérateurs peuvent pointer les victimes vers un nouveau serveur en envoyant une autre transaction, sans publier une nouvelle version du paquet.
Six versions enveloppent le chargeur dans eval(atob(...)). Six autres le reconstruisent par permutation de caractères et le constructeur Function, ce qui évite certaines signatures Base64/eval évidentes tout en gardant le même portefeuille, les mêmes chemins et les mêmes clés XOR.
Paquets touchés nommés par Sonatype
| Paquet | Versions touchées |
|---|---|
| @adminide-stack/client-redux | 0.0.16-18 |
| @adminide-stack/health-api-server | 0.0.18-alpha.465 |
| @adminide-stack/user-activity-browser | 1.1.3-alpha.114 |
| @adminide-stack/utils | 0.0.16-129, 0.0.16-130 |
| server-hemera-mongo | 0.0.15, 0.0.16 |
| cdeops | 13.5.31 |
| @adminide-stack/forms-core | 5.1.9-alpha.3 |
| @adminide-stack/yantra-help-browser | 12.0.194 |
| @cdmbase/wiki-browser | 12.0.18-alpha.53 |
| @pubngo-stack/help-browser | 12.0.23-alpha.3 |
Sonatype lie le portefeuille et les chemins de récupération aux chargeurs PolinRider déjà vus dans des dépôts GitHub compromis pendant l’escalade GhostAction. Greenflagged a décodé des transactions annonçant 95.135.181.151 comme adresse C2 ; GitGuardian avait déjà listé cette IP dans du matériel PolinRider. Le chevauchement ne prouve pas le même opérateur que GhostAction.
Ce que vous pouvez faire
- Cherchez dans les fichiers de verrouillage, caches, miroirs internes et journaux de compilation les versions ci-dessus.
- Retirez les versions touchées et bloquez-les dans les miroirs. Ne gardez des copies que si vous en avez besoin pour la criminalistique.
- Déterminez si le code injecté a réellement tourné. Une entrée dans un fichier de verrouillage n’est pas une preuve d’exécution ; cherchez des enfants node -i détachés et du HTTP clair vers le port 443 sur /0x/cls ou /0x/ls. Les requêtes de charge utile peuvent porter un en-tête Sec-V comme A10-npm_inject.
- S’il a tourné, traitez l’hôte comme compromis, faites tourner les identifiants de publication, clés infonuagiques et secrets CI, et bloquez 95.135.181.151.
- Lisez notre histoire en direct GhostAction pour le contexte de la campagne d’octobre qui se chevauche.
Comment Frame peut aider
Frame surveille les nouvelles divulgations de fuites pour vos adresses vérifiées et vous donne une courte liste de vérification quand quelque chose frappe. Frame peut aussi chercher vos adresses courriel vérifiées dans la base de données de fuites de Have I Been Pwned. Frame n’audite pas les fichiers de verrouillage npm pour PolinRider ; utilisez la liste de Sonatype et vos propres outils de dépendances.
À lire aussi
- Des comptes de développeurs détournés plantent des voleurs d’identifiants sur GitHub et npm.
- Un accès CI volé a publié une version malveillante de bee-js et une version trojanisée de Swarm Desktop.
Sources
- Sonatype, PolinRider Loader Reappears in Hijacked npm Packages (en anglais), 4 novembre 2026
- Cyware, Daily Threat Intelligence - November 09, 2026 (en anglais), 9 novembre 2026
À lire aussi
- Logiciel malveillantDes attaquants ont utilisé AntiFox, un agent de piratage IA libre, pour atteindre des secrets AWS · 5 min de lecture
- Logiciel malveillantMicrosoft : des attaquants gardent une porte dérobée sur des serveurs Web Linux piratés avec GSocket · 5 min de lecture
- Logiciel malveillantDes attaquants visent des serveurs Qlik Sense et préparent des exploits pour ActiveMQ et Veeam · 4 min de lecture
Les nouveaux articles, par courriel.
Environ une fois par mois. Des notes sur la vie privée en termes simples, rien d’autre. Je ne partage jamais votre adresse.


