Une nouvelle campagne de cyberattaque d’origine nord-coréenne cible activement les développeurs en s’infiltrant dans la chaîne d’approvisionnement npm (Node Package Manager). Les chercheurs en cybersécurité de Socket ont révélé la découverte de 35 packages JavaScript malveillants, hébergés sous 24 comptes npm différents, et déjà téléchargés plus de 4 000 fois.
table des matières
ToggleLa campagne “Contagious Interview” se poursuit sur npm
Cette opération, baptisée “Contagious Interview”, s’inscrit dans une campagne plus large documentée depuis 2023, visant spécifiquement les développeurs en quête d’emploi. L’objectif : infecter leurs machines pour faciliter l’espionnage, le vol de données et le siphonnage de cryptomonnaies.
Liste des packages concernés
Parmi les 35 bibliothèques identifiées, on retrouve notamment :
react-plaid-sdk
sumsub-node-websdk
vite-plugin-next-refresh
vite-loader-svg
node-orm-mongoose
router-parse
(Note : Ces six packages restent encore téléchargeables depuis npm au moment de la rédaction.)
L’ensemble de ces packages partage un point commun : l’intégration d’un chargeur hexadécimal obfusqué, surnommé HexEval, conçu pour collecter des informations système, puis déployer à la demande une charge utile supplémentaire.
Un mode opératoire en poupées russes : HexEval → BeaverTail → InvisibleFerret
L’attaque suit une logique en plusieurs couches :
HexEval : Un loader dissimulé qui, une fois exécuté, analyse l’environnement de la machine infectée.
BeaverTail : Un voleur JavaScript chargé ensuite de collecter des données sensibles et de préparer le terrain.
InvisibleFerret : Un backdoor Python, téléchargé en phase finale, permettant aux attaquants de prendre un contrôle à distance complet du système ciblé.
Cette architecture multi-étapes et multi-langages (JavaScript et Python) permet à la campagne de contourner les analyses statiques classiques et de rester sous le radar des antivirusLogiciel de détection et suppression de malwares. ESET protège contre les ransomwares. NIST.
À noter : les chercheurs de Socket signalent également qu’un des comptes npm utilisé a diffusé un keyloggerProgramme espion enregistrant les frappes clavier. Vol de mots de passe par keylogger via malware. Kaspersky multiplateforme, preuve que les attaquants adaptent leurs outils en fonction de la cible et du contexte.
Une campagne basée sur le social engineering et le faux recrutement
Le vecteur initial d’infection reste le social engineering, via de faux recruteurs opérant principalement sur LinkedIn. Les victimes ciblées (principalement des développeurs logiciels) sont invitées à passer des entretiens techniques et à exécuter des projets “test” envoyés via GitHub ou Bitbucket.
Ces projets contiennent les fameux packages npm malveillants. L’astuce ? Les cibles sont poussées à cloner et exécuter ces codes hors environnement sécurisé, comme un conteneur Docker, augmentant ainsi le risque d’infection.
“Ils exploitent la confiance naturelle que les chercheurs d’emploi accordent aux recruteurs, en utilisant des personas crédibles et des descriptifs de poste réalistes,” souligne Kirill Boychenko, chercheur chez Socket.
Un mode opératoire en évolution
Cette branche npm de la campagne Contagious Interview montre clairement que les attaquants nord-coréens perfectionnent leurs techniques :
Utilisation de faux comptes LinkedIn
Hébergement des charges utiles sur GitHub / Bitbucket
Encapsulation multi-phases pour échapper aux analyses
Adaptation en fonction du système d’exploitation de la victime
On note également un recours croissant à des outils comme ClickFix ou encore des malwares comme GolangGhost et PylangGhost dans des campagnes parallèles.
Recommandations pour les développeurs et les organisations
Vérifiez systématiquement l’origine des packages npm que vous intégrez, surtout s’ils proviennent de recruteurs ou de projets externes.
Analysez chaque package inconnu avec des outils de sécurité spécifiques aux menaces de la chaîne d’approvisionnement.
Utilisez des environnements isolés (VM, containers) pour exécuter du code venant de sources non officielles.
Soyez méfiants face aux offres d’emploi trop insistantes ou aux projets de test envoyés de manière informelle.
Conclusion
Cette attaque illustre une fois de plus la sophistication croissante des campagnes d’espionnage étatiques et le ciblage accru des développeurs, maillon essentiel des chaînes logicielles modernes. La menace n’est plus théorique : elle est active, documentée et continue d’évoluer.
La vigilance face aux manipulations sociales et la mise en place de bonnes pratiques de sécurité dans le développement logiciel deviennent plus que jamais indispensables.