StoatWaffle et menace dans VS Code: ouvrir un projet pourrait activer la chaîne d'approvisionnement de malware

Publié 7 min de lectura 123 lecture

Au cours des derniers mois, une campagne de cybermenace s'est développée qui combine l'ingénierie sociale très polie avec des techniques non conventionnelles pour les développeurs: Code Studio visuel. Des recherches récentes mettent en évidence un cluster nord-coréen connu sous le nom Contagious Interview ou WaterPlum, qui relie une famille de malware baptisée StomatWaffle à cette tactique dirigée contre les professionnels de l'écosystème logiciel ouvert et, en particulier, le secteur critique et le Web3.

Le vecteur d'attaque exploite un fichier légitime dans les projets VS Code: tâches.json. Lors de la configuration d'une tâche avec l'option runOn : dossier Ouvrir, il est possible de faire tourner le code à distance automatiquement quand un développeur ouvre le dossier de projet dans son éditeur. Selon l'analyse NTT Security, les attaquants ont utilisé cette fonctionnalité pour démarrer une chaîne de téléchargements à partir de services cloud, de sorte que l'exécution se produit sans plus d'interaction que d'ouvrir l'espace de travail dans VS Code - un geste que beaucoup considèrent inoffensif dans leur workflow quotidien ( NTT Rapport de sécurité).

StoatWaffle et menace dans VS Code: ouvrir un projet pourrait activer la chaîne d'approvisionnement de malware
Image générée avec IA.

La chaîne d'infection de StoatWaffle est délibérément résistante. Le premier binaire à télécharger vérifie si Node.js existe sur la machine victime; si elle n'est pas présente, installez-le directement à partir du site officiel et lancez un téléchargement qui consulte régulièrement un serveur externe pour obtenir la prochaine étape. Cette deuxième étape agit de la même manière : elle atteint un autre paramètre, reçoit le code JavaScript et l'exécute avec Node.js, créant un tuyau de décharge et d'exécution qui peut être maintenu et mis à jour à partir de l'infrastructure de l'agresseur.

Cette conception modulaire permet aux opérateurs de choisir entre différentes capacités en fonction de l'objectif. L'analyse montre que StoatWaffle développe, d'une part, voleur qui extrait les identifiants et les données des extensions de navigateur basées sur Chrome et Firefox, et que dans macOS atteint même la base de données iCloud Keychain. D'autre part, le paquet peut installer un TAUX(accès à distance Trojan) qui communique avec les serveurs de commande et de contrôle pour exécuter des commandes allant de listing et de téléchargement de fichiers aux commandes shell en cours d'exécution ou Node.js code fourni par les attaquants.

Le choix de Node.js en tant qu'environnement de fonctionnement n'est pas occasionnel : il offre la portabilité entre les systèmes et le confort de l'exécution de scripts complexes avec peu de changements, ce qui rend plus facile pour les logiciels malveillants d'être multiplateforme et d'évoluer rapidement. En outre, les attaquants ont amélioré leur logistique: les premières campagnes ont utilisé des domaines dans des services tels que Vercel pour héberger les téléchargements, tandis que les variantes plus récentes ont déménagé vers des scripts hébergés dans GitHub Gist tirer parti de la confiance générée par les dépôts publics et de la facilité d'intégration du contenu dans les projets légitimes de GitHub.

Ce développement ne se produit pas dans le vide. WaterPlum fait partie d'une série plus large d'opérations visant la chaîne d'approvisionnement à source ouverte. Les paquets npm malveillants ont été détectés qui servent de distributeurs de logiciels malveillants comme PylangGhost ( KM Analyse de la sécurité) et des campagnes telles que PolinRider qui ont inséré JavaScript dans des centaines de dépôts publics, modifiant des projets pour déployer des charges telles que BeaverTail, un chargeur / voleur bien connu lié à la même famille d'agresseurs ( Étude PolinRider).

Microsoft a documenté comment les auteurs de Contagious Interview obtenir la première porte d'entrée par de faux processus de recrutement qui simulent de véritables entretiens techniques. Avec un script convaincant, les candidats reçoivent des exercices et des commandes prétendument nécessaires à l'évaluation, et finissent par exécuter des instructions qui compromettent leurs machines. Dans de nombreux cas, les objectifs ne sont pas des développeurs juniors, mais des fondateurs, des CTO et des ingénieurs de haut niveau du monde cryptographique, des professionnels dont l'accès précieux peut permettre le vol de clés et l'exfiltration d'actifs numériques ( Analyse Microsoft).

Les familles de malware qui apparaissent dans ces intrusions montrent un écosystème actif et multiforme: d'OtterCookie, conçu pour exfilter de grandes quantités d'information, à InvisibleFerret, une porte arrière en Python, et FlexibleFerret (également appelé WeaselStore) qui existe dans Go et Python variantes sous des noms comme GolangGhost et PylangGhost. Dans certains cas, un premier accès obtenu avec OtterCookie finit par servir à télécharger des deuxièmes étapes comme InvisibleFerret. Des chercheurs ont également documenté des intrusions où des dépôts reconnus ont été manipulés par des comptes engagés pour distribuer des charges utiles chiffrées comprises dans les transactions de la chaîne de verrouillage, une technique utilisée pour camoufler la charge utile et la rendre difficile à détecter ( engagement dans Neutralinojs).

Devant ce modus operandi, la communauté logicielle a répondu par des mises à jour dans le Visual Studio Code lui-même. Microsoft a introduit dans la version 1.109 une option globale qui désactive par défaut l'exécution automatique des tâches - tâche.allow AutomaticTasks- et a empêché les dépôts malveillants d'écraser cette préférence au niveau de l'espace de travail. Les versions ultérieures ont ajouté des avertissements secondaires lorsqu'une tâche auto-exécutable est détectée dans un espace de travail nouvellement ouvert, des mesures visant à redonner le contrôle à l'utilisateur et à réduire le risque d'exécutions silencieuses ( notes concernant la version 1.109, version 1.110).

Au-delà de VS Code, adversaires ont exploité la très dynamique de confiance entre recruteur et candidat pour convaincre les cibles d'exécuter des commandes dans leur terminal au moyen de fausses pages qui imitent CAPTCHAs ou des liens vidéo. Les chercheurs MacPaw décrivent des campagnes qui utilisent ce modèle pour injecter des commandes dans le presse-papiers et réaliser son exécution, avec des charges utiles adaptées à la fois à macOS et à Windows ( Analyse du laboratoire Moonlock).

Le phénomène n'est pas seulement technique : il a aussi des limites juridiques et humaines. De récentes condamnations américaines ont sanctionné des individus impliqués dans des programmes de recrutement frauduleux qui ont facilité la participation des travailleurs nord-coréens aux opérations de logiciels malveillants et de fraude, soulignant que les réseaux de recrutement et de fraude servent de passerelle entre les capacités techniques et les objectifs géopolitiques des États concernés ( Communiqué du ministère de la Justice).

Les enquêtes conjointes menées auprès d'entreprises de sécurité ont permis de cartographier l'infrastructure et le cahier des charges de ces opérations, en soulignant que les soi-disant « travailleurs des technologies de l'information » du réseau nord-coréen passent par des processus sélectifs et forment une structure organisée qui poursuit des objectifs tels que la production de revenus, le vol de propriété intellectuelle, l'extorsion et le soutien à d'autres groupes d'État ( Travaux de recherche de Kudelski).

StoatWaffle et menace dans VS Code: ouvrir un projet pourrait activer la chaîne d'approvisionnement de malware
Image générée avec IA.

Pour ceux qui développent ou collaborent à des projets open source, la leçon est claire : la confiance par défaut est un vecteur de risque lorsqu'elle convient aux attaquants. Maintenir des outils à jour, examiner attentivement toute instruction ou script requis dans les processus d'évaluation technique et désactiver l'exécution automatique des tâches sont des étapes pratiques qui peuvent interrompre ces chaînes. Les entreprises devraient combiner les contrôles techniques et la formation spécifique du personnel clé, car les profils élevés sont souvent les objectifs les plus lucratifs de ces campagnes.

Le modèle révèle également une inclination stratégique : les attaquants préfèrent profiter de mécanismes de développement légitimes - dépôts, gestionnaires de paquets, outils d'évaluation - parce qu'ils réduisent les soupçons et augmentent le taux de réussite. Entre-temps, la collaboration entre les équipes de sécurité, les plateformes libres et les fournisseurs d'outils de développement sera essentielle pour que ces pratiques malveillantes ne soient pas normalisées. Rapports publics et mises à jour des fournisseurs - de NTT et Microsoft aux équipes indépendantes qui analysent les paquets NPM et les dépôts compromis - permettent de suivre l'évolution de ces menaces et d'appliquer des contre-mesures éclairées ( NTT Sécurité, Microsoft, Sécurité abstraite, Kudelski).

Bref, StoatWaffle et les campagnes associées rappellent que les logiciels et outils ouverts qui accélèrent le développement peuvent également être utilisés comme vecteurs d'attaque entre les mains d'adversaires sophistiqués. La réponse devrait combiner des changements de configuration raisonnables, un suivi proactif de la chaîne d'approvisionnement et une mentalité de sécurité qui remet même en question les processus apparemment familiers de recrutement et de collaboration technique.

Couverture

Autres

Plus de nouvelles sur le même sujet.