NIS2 50+ salariés ou €10M+ CA : reporting d’incident en 72h obligatoire. Reporting d’incident en 72h obligatoire. Êtes-vous prêt ? →
Skip to main contentSkip to footer

Axios compromis : protéger vos projets contre les attaques supply chain npm

La supply chain npm vient d’être frappée de plein fouet : des versions piégées d’Axios, l’une des bibliothèques les plus populaires du web avec plus de 83 millions de téléchargements hebdomadaires, ont été publiées avec un RAT (Remote Access Trojan) embarqué. Voici comment détecter cette menace et protéger vos projets.

Ce qui s’est passé avec Axios

Les versions 1.14.1 et 0.30.4 d’Axios ont été compromises via le détournement d’un compte mainteneur. Ces versions injectent un cheval de Troie qui ouvre une porte dérobée sur la machine de la victime, permettant l’exécution de commandes à distance, le vol de données et la persistance.

L’attaque est particulièrement sournoise car Axios est une dépendance transitive de milliers de projets — votre application peut être vulnérable même si vous n’utilisez pas Axios directement.

Vérifier si votre projet est affecté

La première étape est de contrôler vos dépendances avec les commandes suivantes :

Avec npm

npm ls axios
npm audit

Avec yarn

yarn why axios
yarn audit

Avec pnpm

pnpm why axios
pnpm audit

Si la version affichée est 1.14.1 ou 0.30.4, vous êtes compromis. Revenez immédiatement à la version 1.14.0 ou 0.30.3.

Corriger le problème immédiatement

Voici les étapes de remédiation :

  • Épinglez la version saine dans votre package.json : "axios": "1.14.0" (sans le ^)
  • Supprimez node_modules et le lock file, puis réinstallez : rm -rf node_modules package-lock.json && npm install
  • Vérifiez l’intégrité : comparez le hash SHA-512 du package installé avec celui publié sur npmjs.com
  • Analysez vos logs réseau : le RAT communique avec des serveurs C2 — cherchez des connexions sortantes inhabituelles
  • Scannez les machines de développement : si le package compromis a été installé, considérez la machine comme potentiellement infectée

Prévenir les attaques supply chain npm

Cette attaque n’est pas un cas isolé. Voici les bonnes pratiques pour sécuriser votre chaîne d’approvisionnement :

Verrouiller les versions

  • Utilisez des versions exactes ("1.14.0") plutôt que des plages ("^1.14.0")
  • Committez votre lock file (package-lock.json, yarn.lock) dans le dépôt
  • Activez npm config set save-exact true par défaut

Surveiller automatiquement

  • Intégrez npm audit dans votre pipeline CI/CD
  • Utilisez des outils comme Snyk, Socket ou Dependabot pour la détection en continu
  • Configurez des alertes sur les changements de mainteneurs de vos dépendances critiques

Utiliser un registre privé

  • Déployez un proxy npm (Verdaccio, Artifactory, Nexus) pour contrôler les packages autorisés
  • Mettez en place une liste blanche de versions approuvées pour les dépendances critiques
  • Activez la vérification de signature npm (npm audit signatures)

Renforcer la sécurité des comptes npm

  • Activez le 2FA obligatoire pour tous les mainteneurs
  • Utilisez des tokens d’accès à durée limitée pour la publication
  • Auditez régulièrement les permissions d’accès de vos packages

Aller plus loin : outils de détection avancés

Pour une protection renforcée, voici des outils spécialisés dans la sécurité supply chain :

  • Socket — analyse comportementale des packages (détecte les accès réseau, fichiers, variables d’environnement suspects)
  • Snyk — scan de vulnérabilités + monitoring continu des dépendances
  • npm audit signatures — vérifie que les packages sont signés par le registre
  • Lockfile-lint — valide l’intégrité et la source des packages dans votre lock file

N’oubliez pas : chaque package que vous installez est une décision de confiance. Comme le dit Feross Aboukhadijeh, « Every package you install is a trust decision. Make it deliberately. »

Sources

Renforcez dès maintenant la cybersécurité de votre PME ou ETI avec ucyber.ai.
Évaluez votre niveau de sécurité ou
contactez-nous pour en savoir plus.
Suivez-nous sur LinkedIn.

Réserver 15 min — diagnostic