🎯 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