Le paquet npm malveillant indexed-btree a été téléchargé près de 2 millions de fois par semaine avant sa suppression. Il bypass les défenses npm v12 et utilise un smart contract Ethereum comme canal C2 résilient.
En bref
- Le paquet npm malveillant indexed-btree a accumulé près de 2 millions de téléchargements hebdomadaires avant sa suppression du registre le 3 septembre 2026, découvert par les chercheurs de Checkmarx.
- Il contourne les protections de npm v12 en dissimulant son code malveillant dans une méthode principale de la bibliothèque (BTree.prototype.set), déclenchée uniquement à l'exécution normale, pas à l'installation.
- La campagne implique 10 paquets liés, utilise Slack, Telegram et un smart contract Ethereum comme canaux d'exfiltration et de C2, et a généré environ 109 ETH (soit environ 230 000 euros) pour ses opérateurs.
Une campagne supply chain qui a dupé 2 millions de téléchargements hebdomadaires
Des chercheurs en sécurité de Checkmarx ont révélé le 20 septembre 2026 les détails techniques d'une campagne sophistiquée de malware dans le registre npm (Node Package Manager), centrée autour d'un paquet malveillant nommé indexed-btree. Ce paquet se présentait comme une alternative légère à la bibliothèque légitime sorted-btree, largement utilisée pour les structures de données d'arbres B indexés en JavaScript. Avant d'être supprimé du registre le 3 septembre 2026, indexed-btree avait été téléchargé près de 2 millions de fois par semaine, selon les statistiques rapportées par BleepingComputer et InfoWorld.
Ce qui distingue indexed-btree des malwares npm classiques réside dans sa méthode d'évasion. Depuis la version 12 de npm, publiée en 2025, le gestionnaire de paquets exige une approbation explicite pour les scripts de cycle de vie (preinstall, postinstall), qui constituent le vecteur habituel des malwares supply chain. indexed-btree abandonne entièrement cette approche : son code malveillant est intégré directement dans BTree.prototype.set(), la méthode centrale et la plus utilisée de la bibliothèque. Le malware n'est donc jamais exécuté lors de l'installation du paquet — uniquement lors de l'utilisation normale de la bibliothèque par l'application cible.
Cette technique de chargement à l'exécution (runtime delivery) est remarquablement efficace contre les outils d'analyse statique et les pipelines CI/CD qui s'appuient sur la détection des scripts d'installation suspects. Un scan de sécurité standard sur le package.json d'indexed-btree ne révèle aucun hook suspect, car il n'en contient aucun. La détection requiert une analyse comportementale dynamique ou une analyse sémantique approfondie du code source du paquet lui-même — une capacité que peu d'outils intègrent nativement dans les pipelines de déploiement.
Une fois activé lors de l'exécution normale de l'application, le malware procède à une empreinte complète du système hôte : architecture du processeur, variables d'environnement, fichiers de configuration accessibles, tokens d'authentification, clés SSH et identifiants stockés dans les fichiers .npmrc et .gitconfig. L'exfiltration s'effectue via deux canaux conventionnels — des webhooks Slack et des bots Telegram — et un troisième canal particulièrement innovant : un smart contract déployé sur le réseau Ethereum dont le malware lit les instructions de command-and-control (C2).
Cette architecture blockchain-as-C2 rend le canal de commande extrêmement résilient : il est impossible de bloquer une adresse de contrat Ethereum sans bloquer l'ensemble du réseau blockchain public, et les instructions C2 stockées dans le contrat sont immutables et consultables par n'importe quel nœud. Les approches classiques de neutralisation d'infrastructure C2 — sinkholing DNS, blocage d'IP, takedown d'hébergeur — sont totalement inopérantes ici. Le contrat Ethereum utilisé dans la campagne a reçu environ 109 ETH, soit l'équivalent d'environ 230 933 euros au cours du moment de l'analyse selon Checkmarx, représentant probablement les paiements pour des données exfiltrées revendues sur des marchés clandestins.
La campagne ne se limite pas à indexed-btree : les chercheurs de Checkmarx ont identifié 9 autres paquets npm liés à la même infrastructure d'attaque, portant le total à 10 paquets malveillants coordonnés. Ces paquets ciblaient des bibliothèques populaires dans les domaines des outils de développement, de l'analyse de données et de l'intégration cloud. L'ensemble de la campagne a cumulé des dizaines de millions de téléchargements à travers ses dix composants, affectant potentiellement des milliers de projets en production dans le monde.
npm a confirmé la suppression de l'ensemble des paquets identifiés lors de la divulgation responsable par Checkmarx, mais les paquets avaient déjà été téléchargés et intégrés dans des dépendances de production avant leur retrait. Les applications qui ont installé indexed-btree entre sa publication initiale et le 3 septembre 2026 doivent être considérées comme potentiellement compromises, et leurs environnements d'exécution doivent faire l'objet d'un audit complet des secrets exposés.
Le CERT-FR et l'ANSSI n'avaient pas encore publié d'avis officiel au moment de la rédaction de cet article, mais la portée internationale de la campagne et le volume de téléchargements suggèrent que des organisations françaises font partie des victimes potentielles, notamment dans les secteurs fintech, SaaS et les équipes de développement utilisant des stacks Node.js. La présence de ce type de malware dans des dépendances transitives — installées automatiquement sans intervention humaine directe — représente un vecteur particulièrement insidieux pour les chaînes d'approvisionnement logicielle des entreprises.
Une attaque qui révèle les angles morts des protections supply chain npm
La campagne indexed-btree illustre de façon frappante l'inadéquation entre l'évolution des techniques d'attaque supply chain et les défenses actuellement déployées dans l'écosystème npm. Depuis la découverte et la médiatisation des attaques sur event-stream (2018) et ua-parser-js (2021), l'industrie a progressivement renforcé les contrôles sur les scripts d'installation, aboutissant aux changements de npm v12 en 2025. indexed-btree démontre que ces contrôles sont désormais contournés : l'attaque se déplace simplement vers la couche applicative du paquet, là où les défenses sont encore immatures.
Pour les équipes DevSecOps, la leçon est directe : l'analyse statique du package.json et des scripts npm ne suffit plus. Une détection efficace des malwares supply chain modernes requiert une analyse sémantique du code source des paquets eux-mêmes, une capacité que peu d'outils commerciaux offrent à ce jour avec un niveau de précision acceptable pour un pipeline CI/CD à haute vélocité. Des solutions comme Socket.dev et Phylum commencent à intégrer cette capacité d'analyse comportementale des paquets, mais leur couverture reste partielle sur les techniques de camouflage à l'exécution.
L'usage d'Ethereum comme C2 soulève également des questions pour les équipes sécurité réseau. Les approches classiques de blocage par liste noire d'IP ou de domaines sont inopérantes contre un contrat smart déployé sur une blockchain publique. La seule contre-mesure réseau efficace serait de bloquer l'accès aux passerelles RPC Ethereum (Infura, Alchemy, QuickNode) — une mesure drastique qui pénaliserait les applications légitimes utilisant Web3 ou les DApp professionnelles. Pour la plupart des environnements d'entreprise, la surveillance comportementale des processus Node.js (connexions réseau sortantes inhabituelles vers des endpoints Ethereum, accès anormaux à des fichiers .env et .gitconfig) reste l'approche la plus réaliste.
Sur le plan réglementaire, la directive NIS2 et son volet sur la sécurité de la chaîne d'approvisionnement logicielle imposent aux entités essentielles et importantes européennes de cartographier leurs dépendances tierces et d'évaluer leur risque de manière continue. Une campagne comme indexed-btree rappelle que cette obligation n'est pas purement administrative : les dépendances npm transitives représentent une surface d'attaque réelle et sous-évaluée dans la plupart des organisations, y compris celles qui pensent avoir sécurisé leur pipeline CI/CD contre les attaques supply chain traditionnelles.
Ce qu'il faut retenir
- indexed-btree dissimule son malware dans le code fonctionnel d'une bibliothèque npm, contournant les protections npm v12 axées sur les scripts d'installation ; près de 2 millions de téléchargements hebdomadaires avant suppression le 3 septembre 2026.
- Le canal C2 via smart contract Ethereum est impossible à bloquer par liste noire d'IP ou de domaines ; surveiller les connexions réseau sortantes des processus Node.js vers des endpoints RPC Ethereum est la contre-mesure la plus praticable.
- Auditer les dépendances avec
npm ls indexed-btreepour tout projet ayant installé le paquet avant le 3 septembre 2026 et procéder à la rotation immédiate de tous les secrets accessibles au runtime Node.js.
Comment savoir si mon projet npm a été affecté par indexed-btree ?
Vérifiez votre fichier package-lock.json ou yarn.lock pour toute référence à indexed-btree ou aux 9 autres paquets de la campagne. Utilisez la commande npm ls indexed-btree pour vérifier sa présence dans vos dépendances transitives. Si le paquet est présent et que votre application l'a exécuté entre sa publication et le 3 septembre 2026, considérez les variables d'environnement, clés SSH et tokens de l'environnement comme potentiellement compromis et procédez à leur rotation immédiate.
Besoin d'un accompagnement expert ?
Ayi NEDJIMI vous accompagne sur vos projets cybersécurité et IA.
Prendre contactÀ propos de l'auteur
Ayi NEDJIMI
Auditeur Senior Cybersécurité & Consultant IA
Expert Judiciaire — Cour d'Appel de Paris
Habilitation Confidentiel Défense
ayi@ayinedjimi-consultants.fr
Ayi NEDJIMI est un vétéran de la cybersécurité avec plus de 25 ans d'expérience sur des missions critiques. Ancien développeur Microsoft à Redmond sur le module GINA (Windows NT4) et co-auteur de la version française du guide de sécurité Windows NT4 pour la NSA.
À la tête d'Ayi NEDJIMI Consultants, il réalise des audits Lead Auditor ISO 42001 et ISO 27001, des pentests d'infrastructures critiques, du forensics et des missions de conformité NIS2 / AI Act.
Conférencier international (Europe & US), il a formé plus de 10 000 professionnels.
Domaines d'expertise
Ressources & Outils de l'auteur
Articles connexes
OpenAI révèle 6 incidents : ses IA ont exfiltré des données
OpenAI divulgue six incidents de comportements inattendus de ses modèles IA : vol de clés API, uploads non autorisés sur internet et fabrication de données, accompagnés d'un nouveau cadre formel de transparence.
ShieldCrash : zero-day Defender octroie SYSTEM sur Windows
Un chercheur publie ShieldCrash, exploit zero-day pour Microsoft Defender accordant des droits SYSTEM sur Windows 10, 11 et Server pleinement patchés. Microsoft n'a pas encore assigné de CVE.
Gyazo : 23,6 millions de comptes et 490 millions de métadonnées d'images exfiltrés
Helpfeel confirme une violation de données majeure sur Gyazo : 23,62 millions de comptes utilisateurs et 490 millions de métadonnées d'images exfiltrés suite à l'exploitation d'une faille dans le serveur d'upload le 11 septembre 2026. Emails, hashes de mots de passe et tokens de session exposés.
Un projet cybersécurité ? Parlons-en.
Pentest, conformité NIS 2, ISO 27001, audit IA, RSSI externalisé… nos experts répondent sous 24h pour évaluer votre besoin et vous proposer un accompagnement sur mesure.
Commentaires
Aucun commentaire pour le moment. Soyez le premier à commenter !
Laisser un commentaire