Des pirates informatiques nord-coréens soutenus par l’État ont intensifié leur campagne Contagious Interview, déclenchant l’une des attaques de chaîne d’approvisionnement les plus sophistiquées jamais observées dans l’écosystème open source.
Des chercheurs en sécurité ont découvert 338 paquets npm malveillants — téléchargés plus de 50 000 fois — conçus pour cibler les développeurs de cryptomonnaies et de la blockchain.
Cette opération organisée comme une usine a exploité à la fois la confiance inhérente au développement open source et les comportements sociaux des professionnels de la technologie, illustrant la manière dont les acteurs malveillants étatiques continuent d’armer les chaînes d’approvisionnement logicielles à des fins financières et stratégiques.
Ingénierie sociale et piège du recrutement
La campagne commence par une vaste phase d’ingénierie sociale. Les acteurs malveillants se font passer pour des recruteurs ou des responsables du recrutement sur LinkedIn, en ciblant les développeurs spécialisés dans les technologies de la blockchain, du Web3 ou des cryptomonnaies.
Les victimes reçoivent ce qui semble être une offre d’emploi légitime et doivent réaliser des exercices de programmation dans le cadre d’un prétendu processus d’entretien.
Un cas récent concernait un ingénieur logiciel à qui l’on avait demandé de cloner un dépôt contenant une dépendance npm malveillante nommée eslint-detector.
Le paquet contenait des charges utiles chiffrées conçues pour dérober les identifiants de navigateur, les jetons d’API et les données de portefeuilles de cryptomonnaies.
Les attaquants ont augmenté le taux de réussite des infections en instaurant une urgence artificielle — délais d’entretien serrés et consignes d’installation apparemment banales — afin de pousser les victimes à exécuter npm install sans examiner le code.
Ce prétexte du recrutement permet aux attaquants de contourner les défenses traditionnelles contre l’hameçonnage. Comme l’installation semble s’effectuer dans le cadre d’un flux de développement normal, les antivirus et les outils de protection des terminaux ne signalent souvent pas ces dépendances malveillantes.
Sophistication technique et diffusion des logiciels malveillants
La dernière vague de la campagne Contagious Interview montre une évolution technique importante. Les premières variantes reposaient principalement sur les diffuseurs du logiciel malveillant BeaverTail.
Cette nouvelle vague d’attaques a introduit trois nouvelles familles de chargeurs — HexEval, XORIndex et des chargeurs chiffrés — qui reconstituent le code malveillant directement en mémoire.
Cette exécution en mémoire réduit au minimum les traces détectables sur le disque, compliquant l’analyse statique et l’analyse traditionnelle des logiciels malveillants.
Une fois exécutés, ces chargeurs récupèrent généralement la porte dérobée InvisibleFerret, un logiciel malveillant multiplateforme conçu pour maintenir la persistance et permettre l’exécution de commandes à distance.
La chaîne d’attaque exploite les hooks du cycle de vie de npm — comme postinstall — pour déclencher automatiquement l’exécution du code lors de l’installation ou de l’importation.
Les paquets malveillants se font souvent passer pour des dépendances courantes utilisées dans les environnements Node.js et Express. Les acteurs malveillants déploient des versions typosquattées de paquets très utilisés, notamment express, dotenv et body-parser.
D’autres imitent des bibliothèques de développement de cryptomonnaies comme ethers.js et web3.js. En exploitant la confiance et les automatismes des développeurs, ces faux paquets s’intègrent parfaitement aux environnements de projet habituels.
Infrastructure de commande et de contrôle (C2)
Une fois installé, le logiciel malveillant se connecte à des serveurs de commande et de contrôle (C2) via les protocoles HTTP, HTTPS ou WebSocket.
L’analyse de l’infrastructure révèle une configuration hybride : des adresses IP brutes hébergées sur des serveurs privés virtuels standards, associées à des balises en façade sur des plateformes légitimes comme Vercel.
Cette conception permet au trafic de paraître inoffensif, en imitant des requêtes web liées aux développeurs au moyen d’URI comme « /api/ipcheck » ou « /process-log ».
Le logiciel malveillant BeaverTail assure la persistance en enregistrant l’hôte compromis et en le préparant à un accès de longue durée. Il déploie ensuite InvisibleFerret, qui fonctionne sur les systèmes Windows, macOS et Linux.
Cette approche en deux étapes offre aux attaquants un point d’ancrage durable, permettant le vol d’identifiants, l’enregistrement des frappes et l’exfiltration de données sur plusieurs systèmes d’exploitation.
Les chercheurs soulignent que lorsque des paquets npm malveillants sont découverts et supprimés, les attaquants mettent rapidement en ligne de nouvelles variantes sous de nouveaux pseudonymes. Cette tactique itérative témoigne de la persistance et de l’organisation à l’échelle industrielle qui sous-tendent la campagne.
Objectifs
L’objectif ultime de l’opération Contagious Interview semble être le gain financier par le vol de cryptomonnaies. Une fois présents dans l’environnement d’un développeur, les attaquants peuvent extraire des clés privées, des identifiants et des données de portefeuille — des actifs précieux dans les écosystèmes de la finance décentralisée.
Selon certains rapports, les groupes de cybermenaces nord-coréens ont dérobé collectivement plus de 2 milliards de dollars en 2025 à eux seuls, ce qui souligne la rentabilité et l’ampleur de ces opérations.
La campagne met également en lumière des implications plus larges pour la sécurité de la chaîne d’approvisionnement. En compromettant des registres open source comme npm, les acteurs malveillants peuvent empoisonner les pipelines logiciels à l’échelle mondiale, en atteignant aussi bien les développeurs individuels que les grandes organisations en aval.
Recommandations de défense
Se défendre contre des campagnes comme Contagious Interview nécessite à la fois des mesures de contrôle techniques et une évolution culturelle des pratiques de développement.
Les chercheurs en sécurité recommandent de considérer chaque npm install comme un événement potentiel d’exécution de code. Les organisations devraient mettre en place une analyse automatisée des dépendances et imposer des contrôles avant fusion afin de vérifier la provenance et la fiabilité des bibliothèques externes.
Les registres comme npm doivent également renforcer les contrôles au niveau des comptes en suspendant les éditeurs malveillants, en révoquant les jetons d’accès et en exigeant une authentification multifacteur. Le filtrage avant publication et la limitation du débit peuvent aider à détecter les schémas de téléversement suspects et à empêcher les infiltrations à grande échelle.
Pour les développeurs individuels, la vigilance est tout aussi essentielle. Les candidats doivent vérifier l’identité des recruteurs, éviter d’exécuter du code non vérifié et examiner les listes de dépendances avant toute installation.
La campagne nord-coréenne Contagious Interview montre comment les acteurs soutenus par un État continuent d’affiner leurs méthodes en combinant la tromperie humaine et la sophistication technique.
En infiltrant la chaîne d’approvisionnement, ces attaquants brouillent la frontière entre les pratiques de développement fiables et la compromission malveillante.

