Code Rouge : des hackers nord-coréens infiltrent les workflows des développeurs avec une arnaque à l’emploi Next.js
Des dépôts malveillants déguisés en évaluations techniques ciblent des développeurs sans méfiance, transformant les entretiens d’embauche en portes d’entrée pour la cyber-espionnage.
Tout commence de manière anodine : une offre d’emploi prometteuse, un défi technique, un dépôt à cloner. Mais pour un nombre croissant de développeurs, cette étape routinière du processus de recrutement s’est transformée en piège numérique. De récentes enquêtes révèlent une campagne sophistiquée - liée à des acteurs menaçants nord-coréens - qui arme des dépôts open source Next.js pour prendre le contrôle des machines des développeurs et potentiellement contaminer toute la chaîne d’approvisionnement logicielle.
La campagne a été révélée lorsque Microsoft Defender a signalé une activité suspecte : des connexions sortantes de processus Node.js vers une infrastructure contrôlée par les attaquants. En approfondissant, les chercheurs ont découvert un réseau de dépôts Next.js trojanisés - des projets open source subtilement modifiés pour armer les actions routinières des développeurs. La stratégie des attaquants est aussi insidieuse qu’efficace : se faire passer pour des recruteurs, proposer des offres d’emploi alléchantes et envoyer aux candidats des évaluations techniques servant de vecteurs pour des logiciels malveillants.
Une fois qu’un développeur clone l’un de ces dépôts et suit les workflows habituels - ouverture du projet dans Visual Studio Code, lancement d’un serveur de développement ou démarrage de services backend - il déclenche à son insu du JavaScript malveillant intégré. La chaîne d’infection est multiple : un chemin exploite le .vscode/tasks.json de VS Code pour exécuter automatiquement des scripts Node à l’ouverture du dossier ; un autre dissimule une logique obfusquée dans les assets de build, ne s’activant que lors de l’exécution de commandes standards. Le point commun est la discrétion, conçue pour s’intégrer parfaitement dans les habitudes quotidiennes de codage.
La charge technique se déroule en deux étapes. D’abord, un script léger dresse le profil de la machine hôte et l’enregistre auprès d’un serveur de commande et contrôle (C2) contrôlé par l’attaquant. Ensuite, un contrôleur plus sophistiqué est téléchargé, permettant aux attaquants d’exécuter du code arbitraire, d’énumérer les fichiers et d’exfiltrer des données sensibles - le tout à l’insu du développeur. Comme les développeurs stockent souvent du code source, des secrets et des identifiants sur leurs terminaux, une seule machine compromise peut entraîner une brèche dans toute la chaîne d’approvisionnement.
Ce n’est pas la première incursion de la Corée du Nord dans l’espionnage ciblant les développeurs. Depuis au moins 2021, le groupe Lazarus et ses affiliés utilisent de fausses offres d’emploi pour inciter les victimes à exécuter du code malveillant. Mais cette dernière campagne franchit un cap en exploitant des outils open source de confiance et les routines des développeurs, rendant la détection et la prévention exponentiellement plus difficiles.
Les experts en sécurité exhortent désormais les organisations à considérer les workflows des développeurs comme des surfaces d’attaque à haute valeur. Les recommandations incluent l’application de politiques de confiance IDE, l’utilisation de règles de réduction de la surface d’attaque et la limitation des secrets sur les machines locales. À mesure que les attaquants innovent, les développeurs - et les entreprises qui dépendent de leur code - doivent rester vigilants. Dans ce nouveau monde de guerre sur la chaîne d’approvisionnement logicielle, même un entretien d’embauche peut devenir la ligne de front.
WIKICROOK
- Exécution de code à distance (RCE) : L’exécution de code à distance (RCE) se produit lorsqu’un attaquant exécute son propre code sur le système d’une victime, menant souvent à un contrôle total ou à la compromission de ce système.
- Commande : Une commande est une instruction envoyée à un appareil ou un logiciel, souvent par un serveur C2, lui ordonnant d’effectuer des actions spécifiques, parfois à des fins malveillantes.
- Dépôt trojanisé : Un dépôt trojanisé est un dépôt de code modifié pour inclure un logiciel malveillant caché, posant des risques aux développeurs qui utilisent ou partagent ce code compromis sans le savoir.
- Confiance de l’espace de travail Visual Studio Code : La confiance de l’espace de travail dans VS Code limite l’exécution de code et de tâches dans les projets non approuvés, aidant à protéger les utilisateurs contre les scripts malveillants et les configurations dangereuses.
- Attaque sur la chaîne d’approvisionnement : Une attaque sur la chaîne d’approvisionnement est une cyberattaque qui compromet des fournisseurs de logiciels ou de matériels de confiance, propageant des logiciels malveillants ou des vulnérabilités à de nombreuses organisations simultanément.