Skip to content

Votre éditeur de code est le nouveau cheval de Troie

Le tristement célèbre ver Shai-Hulud a évolué, passant de npm à l'écosystème Go. Il ne se cache plus dans vos dépendances — il transforme vos configurations VS Code et Claude en armes pour voler des secrets dès l'ouverture d'un projet.

Theo Brandt
Hero image for: Votre éditeur de code est le nouveau cheval de Troie

En bref / Points clés

  • Le tristement célèbre ver Shai-Hulud a évolué, passant de npm à l'écosystème Go.
  • Il ne se cache plus dans vos dépendances — il transforme vos configurations VS Code et Claude en armes pour voler des secrets dès l'ouverture d'un projet.

Le ver trouve un nouvel hôte

Shai-Hulud, une menace auto-réplicante, dominait auparavant l'écosystème npm. Les développeurs installant ses paquets empoisonnés déclenchaient par inadvertance des scans, volant des identifiants critiques comme les npm tokens, GitHub tokens, les clés AWS, GCP et Azure. Ces tokens volés facilitaient ensuite la propagation automatique, publiant des versions compromises des propres paquets npm de la victime.

Cette menace insidieuse, observée pour la première fois en septembre 2025 et revenue en force en novembre (affectant plus de 500 paquets et 700 versions), a désormais profondément escaladé. Une nouvelle vague, signalée par Socket.dev, montre Shai-Hulud pénétrant l'écosystème Go, spécifiquement le Verana Blockchain project. Cela marque un saut dangereux au-delà des environnements JavaScript traditionnels.

De manière cruciale, il ne s'agit pas d'une vulnérabilité Go ; l'attaque contourne entièrement le processus de build de Go. Au lieu de cela, elle intègre des fichiers JavaScript malveillants dans l'archive source du module Go, ciblant les outils du développeur. La persistance est établie via les dossiers `.claude` et `.vscode`, avec un fichier `settings.json` contenant un hook Claude Code SessionStart et un fichier `tasks.json` incluant une tâche d'ouverture de dossier VS Code exécutant `node .claude/setup.mjs`. Le malware se déclenche ainsi dès qu'un développeur ouvre le projet ou initie une session de codage, transformant l'éditeur en un nouveau vecteur d'attaque puissant.

Votre éditeur est désormais le vecteur d'attaque

Le ver Shai-Hulud a évolué, abandonnant sa dépendance aux registres de paquets pour cibler directement votre environnement de développement. Ce nouveau vecteur sophistiqué implante des hooks malveillants dans des fichiers de configuration critiques comme .vscode/tasks.json et .claude/settings.json, transformant votre éditeur de confiance en une menace directe.

Cette conception garantit que le malware s'active instantanément à l'ouverture d'un dossier de projet ou au début d'une session Claude Code, contournant entièrement les défenses traditionnelles. Le flag `npm install --ignore-scripts`, auparavant une protection critique, n'offre désormais aucune protection, car aucune installation de paquet n'est nécessaire pour déclencher la charge utile.

Une fois actif, le malware utilise Bun pour décoder sa prochaine étape, exécutant une opération précise de vol d'identifiants. Il pille systématiquement votre système, ciblant les .env files et d'autres emplacements accessibles pour des données sensibles, y compris les GitHub tokens, les clés AWS, GCP et Azure.

Avant d'exfiltrer ce trésor de données, le ver sonde intelligemment les logiciels de sécurité actifs, détectant des solutions comme CrowdStrike, Defender et SentinelOne. Cette phase de reconnaissance assure une furtivité maximale, lui permettant de contourner les périmètres de sécurité établis de votre entreprise et de transmettre les actifs volés sans être détecté.

Le champ de bataille s'est déplacé au-delà des dépendances

Le champ de bataille a fondamentalement changé. Votre entreprise ne peut plus limiter sa posture de sécurité à l'audit des `node_modules` et des dépendances de paquets. La nouvelle variante de Shai-Hulud, détectée dans les modules Go par Socket.dev, démontre un profond changement de paradigme : la surface d'attaque englobe désormais l'intégralité de l'environnement de développement, spécifiquement les configurations au niveau du projet comme `.vscode/tasks.json` et `.claude/settings.json`. Cela exige un examen approfondi de chaque fichier au sein d'un dépôt cloné, et pas seulement de ses dépendances déclarées.

Par conséquent, les étapes de remédiation conventionnelles sont désormais entièrement inefficaces. `npm uninstall` n'offre aucune défense lorsque le code malveillant ne réside pas dans un package gérable, mais directement dans des fichiers de configuration conçus pour l'automatisation de l'éditeur. Le mécanisme de persistance du ver contourne la gestion traditionnelle des dépendances, lui permettant d'exécuter du code dès qu'un dossier est ouvert ou qu'une session de codage commence, sans jamais toucher un script d'installation.

Cela présente un risque en aval aigu. Un développeur infecté, ignorant les fichiers `.vscode` ou `.claude` compromis, pourrait sans le savoir commettre ce code malveillant dans la base de code partagée. Cela pousse l'attaque dans vos pipelines CI/CD, compromettant potentiellement les environnements de production et les infrastructures critiques. Comprendre cette menace évolutive est crucial pour les dirigeants ; pour plus de contexte sur l'historique du ver, lisez Shai-Hulud npm Supply Chain Attack: What You Need to Know.

Renforcer votre environnement local

Protéger votre environnement local exige un changement fondamental de perception. Traitez les configurations de votre IDE et de votre assistant IA — spécifiquement les fichiers dans les dossiers `.vscode` et `.claude` — comme du code exécutable. Avant d'ouvrir tout nouveau projet, inspectez manuellement ces répertoires critiques. Cet examen proactif empêche les hooks malveillants, comme ceux utilisés par Shai-Hulud, de s'exécuter à l'ouverture d'un dossier ou au démarrage d'une session, protégeant ainsi votre machine d'une compromission immédiate.

Enjoying this? Get one like it in your inbox each morning.

one email a day · unsubscribe in two clicks · no third-party tracking

De manière cruciale, désactivez l'exécution automatique des tâches dans VS Code. Accédez à la commande "Task: Manage Automatic Tasks" et assurez-vous que cette fonctionnalité est désactivée. Ce paramètre empêche toute tâche potentiellement malveillante de type 'folder open' de s'exécuter sans votre consentement explicite, ajoutant une couche de défense vitale contre l'exécution de code subreptice.

Au-delà des protections locales, mettez en œuvre des stratégies robustes de défense en profondeur. Utilisez des jetons à privilèges moindres de courte durée, tirant parti d'OIDC pour tous les services comme GitHub, AWS et Azure. Cela limite considérablement la valeur de toute information d'identification volée. De plus, imposez un filtrage strict des sorties sur vos exécuteurs CI, tels que les workflows GitHub, pour bloquer les tentatives d'exfiltration de données non autorisées, garantissant que même si une attaque pénètre, les données sensibles ne peuvent pas quitter votre environnement contrôlé.

Foire aux questions

Qu'est-ce que le ver Shai-Hulud ?

Shai-Hulud est un ver auto-réplicatif qui infecte les packages logiciels. Il vole les identifiants des développeurs comme les npm tokens, les clés cloud et les clés SSH pour empoisonner davantage de packages et se propager automatiquement.

Comment cette nouvelle attaque de la chaîne d'approvisionnement a-t-elle évolué ?

Au lieu d'utiliser des scripts d'installation de packages, la nouvelle vague intègre du code malveillant dans des fichiers de configuration de projet comme `.vscode/tasks.json` et `.claude/settings.json`. Ce code s'exécute lorsqu'un développeur ouvre le projet dans son éditeur, contournant les défenses courantes.

Pourquoi le flag 'npm install --ignore-scripts' ne fonctionne-t-il pas contre cette attaque ?

Le flag `--ignore-scripts` empêche uniquement l'exécution de scripts lors de l'installation de packages. Ce vecteur d'attaque n'utilise pas de scripts d'installation ; il se déclenche via des actions de l'éditeur comme l'ouverture d'un dossier ou le démarrage d'une session de codage, rendant ce flag inefficace.

Quelle est l'action la plus critique que les développeurs peuvent prendre pour rester en sécurité ?

Traitez les configurations de votre environnement de développeur comme du code exécutable. Inspectez toujours les fichiers comme `tasks.json` dans les dépôts clonés avant d'ouvrir le projet, et désactivez l'exécution automatique des tâches dans les paramètres de votre éditeur.

Found this useful? Share it.

AI Reputation Report

What AI knows about you.

ChatGPT, Perplexity, Gemini, Claude & Grok are already answering questions in your category. Type your site, see who they name — you, or your competitor. Free preview.

Check my sitefree preview

One short daily email of tools worth shipping. No drip funnel.

one email a day · unsubscribe in two clicks · no third-party tracking

🚀En savoir plus

Gardez une longueur d'avance en IA

Découvrez les meilleurs outils IA, agents et serveurs MCP sélectionnés par Stork.AI.

P.S. Vous avez créé quelque chose d'utile ? Listez-le sur Stork