Le malware nouvellement observé abuse de la fonctionnalité « runOn:folderOpen » de VS Code pour s’exécuter automatiquement à partir de projets approuvés, permettant ainsi une compromission quasiment sans friction.
Une souche de malware récemment divulguée, baptisée « StoatWaffle », donne des dents fraîches à la célèbre campagne de menace « Contagious Interview » ciblant les développeurs.
Selon les conclusions de NTT Security, le malware marque une évolution depuis l’exécution d’une campagne de longue durée déclenchée par l’utilisateur vers une compromission quasi sans friction intégrée directement dans les flux de travail des développeurs. Les attaquants utilisent des référentiels de projets sur le thème de la blockchain comme leurres, intégrant un fichier de configuration VS Code malveillant qui déclenche l’exécution de code lorsque le dossier est ouvert et approuvé par la victime.
« StoatWaffle est un malware modulaire implémenté par Node.js et il possède des modules Stealer et RAT », ont déclaré les chercheurs de NTT dans un article de blog, ajoutant que l’opérateur de campagne « WaterPlum » « développe continuellement de nouveaux malwares et met à jour ceux existants ».
Cela signifie que le suivi de l’activité des interviews contagieuses peut désormais nécessiter d’élargir la portée des efforts de détection pour inclure les environnements de développement armés, et pas seulement les packages malveillants et les leurres d’interview.
Il suffit d’ouvrir un dossier
StoatWaffle abuse de la confiance des développeurs dans les environnements Visual Studio Code. Au lieu de compter sur les utilisateurs pour exécuter des scripts suspects, comme lors d’attaques précédentes, les attaquants intègrent des configurations malveillantes dans des référentiels de projets d’apparence légitime, souvent axés sur le développement de la blockchain, un thème de leurre qui est cohérent avec les campagnes Contagious Interview.
L’astuce repose sur un fichier « .vscode/tasks.json » configuré avec un paramètre « runOn : folderOpen ». Une fois qu’un développeur ouvre le projet et accorde la confiance, la charge utile s’exécute automatiquement sans aucun autre clic. Le malware StoatWaffle exécuté exploite un cadre modulaire basé sur Node.js qui se déroule généralement par étapes. Ces étapes comprennent un chargeur, des composants de collecte d’informations d’identification, puis un cheval de Troie d’accès à distance (RAT) implanté pour la persistance et l’accès pivotant entre les systèmes.
Le module RAT maintient une communication régulière avec un serveur C2 contrôlé par un attaquant, exécutant des commandes pour terminer son propre processus, modifier le répertoire de travail, répertorier les fichiers et les répertoires, accéder au répertoire de l’application, récupérer les détails du répertoire, télécharger un fichier, exécuter du code Node.js et exécuter des commandes shell arbitraires, entre autres.
StoatWaffle présente également un comportement personnalisé en fonction du navigateur de la victime. « Si le navigateur victime appartenait à la famille Chromium, il vole les données d’extension du navigateur en plus des informations d’identification stockées », ont déclaré les chercheurs. « Si le navigateur victime était Firefox, il vole les données d’extension du navigateur en plus des informations d’identification stockées. Il lit extensions.json et obtient la liste des noms d’extension de navigateur, puis vérifie si le mot-clé désigné est inclus. «
Pour les victimes exécutant macOS, le malware cible également les bases de données du trousseau, ont-ils ajouté.
Interview contagieuse, revisitée
StoatWaffle n’est pas une campagne isolée. Il s’agit du dernier chapitre des attaques Contagious Interview, largement attribuées à des acteurs menaçants liés à la Corée du Nord et identifiés sous le nom de WaterPlum.
Historiquement, cette campagne a ciblé les développeurs et les demandeurs d’emploi via de faux processus d’entretien, les incitant à exécuter du code malveillant sous couvert d’évaluations techniques. Auparavant, la campagne utilisait des packages npm et des chargeurs organisés tels que XORIndex et HexEval, distribuant souvent des dizaines de packages malveillants pour infiltrer les écosystèmes de développeurs à grande échelle.
L’équipe 8, l’un des sous-groupes du groupe, s’appuyait auparavant sur des logiciels malveillants tels que OtterCookie, passant à StoatWaffle vers décembre 2025, ont indiqué les chercheurs.
La divulgation partageait également un ensemble d’indicateurs de compromission (IOC) basés sur IP, probablement liés à l’infrastructure C2 observée lors de l’analyse, pour soutenir les efforts de détection.



