🎯 Quand Prettier devient un vecteur d’infection : attaque supply chain sur npm

Quand Prettier devient un vecteur d’infection : attaque supply chain sur npm, c’est le genre de titre qu’on aimerait croire sorti d’un article satirique. Et pourtant, la compromission récente de deux packages npm ultra-populaires (eslint-config-prettier et eslint-plugin-prettier) est bien réelle. En exploitant un phishing ciblé contre les mainteneurs, des attaquants ont injecté du code malveillant dans ces bibliothèques, les transformant en droppers de malware capables de contaminer développeurs, environnements de build et pipelines CI/CD. Cette attaque supply chain sur npm illustre une nouvelle fois à quel point notre écosystème open source est devenu une cible de choix… et un cauchemar latent pour la sécurité des entreprises.

📌 Paquets compromis :

  • eslint-config-prettier
  • eslint-plugin-prettier
    ➡️ Des packages très populaires, utilisés dans des millions de projets JavaScript/Node.js.

Bienvenue dans l’ère du Â«Â npm install && infect ».


📦 Le point de départ : la crédulité des mainteneurs open source

Tout commence par un scénario désormais bien rodé :

  1. Un développeur mainteneur reçoit un mail piégé.
  2. Il clique (parce qu’il est humain).
  3. Ses identifiants npm tombent dans les mains des attaquants.
  4. Ces derniers publient une nouvelle version piégée des bibliothèques ESLint.

Et voilĂ . Vous faites un npm install, vous ne vous mĂ©fiez de rien… et vous venez de lancer un script postinstall qui tĂ©lĂ©charge un binaire malveillant sur votre poste ou dans votre pipeline CI/CD.

Si c’était un film, on appellerait ça Â«Â Beautify me softly ».

đź§ľ Fiche d’incident – SecuSlice

ÉlémentDétail
Type d’incidentAttaque chaĂ®ne d’approvisionnement (npm)
OriginePhishing ciblé sur les mainteneurs
ImpactPrise de contrĂ´le des packages, propagation de malware
Packages compromiseslint-config-prettiereslint-plugin-prettier
InfectionInjection d’un script malveillant via postinstall
CiblesDéveloppeurs, build pipelines, environnements CI
StatutPaquets désindexés par npm, mais infections possibles
Score de sĂ©vĂ©rité🔴 Critique â€“ niveau 9.5+ (estimĂ©)
Actions recommandéesAudit complet des dépendances, suppression des versions compromises, vérification des logs CI/CD

🎯 Les victimes : des développeurs… et leur CI/CD

Ce qui rend cette attaque particulièrement redoutable, c’est son discret ciblage :

  • Ces packages sont des outils de mise en forme de code. On les installe souvent en devDependencies, sans y penser.
  • Ils sont appelĂ©s dans des projets open source, mais aussi dans des repositories privĂ©s, des environnements de build, et mĂŞme des images Docker.

Le malware n’a pas été détaillé dans son intégralité, mais selon les premières analyses, il permet :

  • De collecter des donnĂ©es système,
  • D’exfiltrer des tokens, des clĂ©s SSH, ou des fichiers .env,
  • Et potentiellement d’installer une porte dĂ©robĂ©e persistante.

MoralitĂ© : la moindre npm install sur un runner CI peut devenir un acte suicidaire si vous ne maĂ®trisez pas vos dĂ©pendances.

Voir notre article sur la sécurité des pipelines : Sécuriser un pipeline CI/CD : mission (im)possible ?


🧨 Une attaque « low-tech », efficacité « high-impact »

Ce qui est ironique ici, c’est que rien n’est innovant :

  • Pas de CVE spectaculaire,
  • Pas d’exploitation complexe,
  • Juste de la confiance exploitĂ©e, et un package.json piĂ©gĂ©.

Comme dans 90 % des attaques modernes, le point d’entrĂ©e est humain, et la cible, c’est la chaĂ®ne d’approvisionnement logicielle.

Les pirates ne cherchent plus Ă  casser des firewalls. Ils cassent la chaĂ®ne de confiance entre dĂ©veloppeurs et Ă©cosystème.

Et vous savez quoi ? Ça marche.


🧪 Comment savoir si vous êtes touché

Si vous avez installĂ© ces packages rĂ©cemment, surtout entre le 17 et le 19 juillet 2025, vous devez :

  1. Vérifier vos fichiers package-lock.json ou yarn.lock.
  2. Supprimer les versions compromises.
  3. Regénérer vos environnements (npm ci, docker build, etc.).
  4. Révoquer tous les secrets potentiellement exposés (tokens, clés, variables d’environnement).
  5. Auditer les logs CI/CD pour toute activité suspecte.

Un bon grep dans vos dĂ©pĂ´ts vaut mieux qu’un long discours.

âś… Que faire maintenant ?

  1. 📦 Supprimez immédiatement toute version installée après le 17 juillet 2025.
  2. 🔒 Réinitialisez vos secrets dans les projets ayant ces dépendances.
  3. 🛡️ Auditez vos pipelines CI/CD pour détecter toute activité anormale.
  4. 🧪 Utilisez un scanner de dépendances type npm audit ou Snyk.
  5. 💡 Activez l’authentification 2FA obligatoire pour les mainteneurs npm.

đź§  Commentaires SecuSlice

Encore une attaque chirurgicale sur la supply chain JavaScript, via ce bon vieux phishing ciblĂ©. Le malware n’avait mĂŞme pas besoin de 0-day, juste de la confiance de la communautĂ© npm.

📦 Quand vos outils de qualité de code (eslint + prettier) deviennent des vecteurs d’infection, on touche le fond.


🛡️ Bonnes pratiques (que personne n’applique jusqu’au drame)

Soyons honnĂŞtes :
🔸 Qui vérifie les dépendances d’un plugin ESLint ?
🔸 Qui active l’option de vérification des intégrités (package-lock) ?
🔸 Qui impose la 2FA sur tous ses mainteneurs npm ?

Pas grand monde. Et les attaquants le savent.

Voici donc la checklist de survie du jour :

  • âś… Activez la 2FA obligatoire sur tous les comptes npm.
  • âś… N’installez jamais de paquets sans les verrouiller par version.
  • âś… Utilisez des outils comme Snyk, npm audit, ou socket.dev pour scanner les dĂ©pendances.
  • âś… Ne faites jamais confiance Ă  un outil de dev « par dĂ©faut ».
    Même pas Prettier. Surtout pas Prettier.

🔚 Conclusion : le ver est dans le linter

L’histoire de ce dĂ©tournement est un rappel brutal : la supply chain logicielle est une passoire, et l’open source n’est pas gratuit â€” il coĂ»te du temps, de la sĂ©curitĂ©, et de la vigilance. La prochaine fois que vous ferez un npm install, souvenez-vous que mĂŞme les outils qui rendent votre code plus joli peuvent cacher un cauchemar bien laid.


🎯 Et maintenant, tous ensemble : auditons nos dĂ©pendances, sĂ©curisons nos pipelines, et envoyons des cafĂ©s aux mainteneurs Ă©puisĂ©s. Ils en ont besoin.

🎯 Quand Prettier devient un vecteur d’infection : attaque supply chain sur npm
Partager cet article : Twitter LinkedIn WhatsApp

🖋️ Publié sur SecuSlice.com

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Retour en haut