Annonce

Alerte Cybersécurité : Le géant npm "Axios" victime d'une attaque par empoisonnement majeure

La Rédaction


 Le monde du développement JavaScript est en état de choc. Axios, l'une des bibliothèques les plus populaires pour effectuer des requêtes HTTP, avec plus de 100 millions de téléchargements hebdomadaires, a été compromise. Cette attaque, décrite par les experts de StepSecurity comme l'une des plus sophistiquées à ce jour, a permis l'injection d'un cheval de Troie via une simple commande npm install.

Le mode opératoire : une précision chirurgicale

L'attaque ne repose pas sur une faille technique d'Axios, mais sur une compromission humaine. Un pirate a réussi à prendre le contrôle du compte npm d'un mainteneur principal du projet. Pour verrouiller son accès, l'attaquant a immédiatement modifié l'adresse e-mail associée au compte par une adresse anonyme (ProtonMail).

Une fois maître du compte, le pirate a publié manuellement deux versions infectées :

  • axios@1.14.1

  • axios@0.30.4

Une attaque "invisible" par dépendance fantôme

La sophistication réside dans la discrétion. Si un développeur avait examiné le code source d'Axios dans ces versions, il n'aurait rien trouvé de suspect. Le code malveillant n'était pas dans Axios, mais injecté via une fausse dépendance ajoutée au fichier package.json : plain-crypto-js.

Dès que l'utilisateur lançait une installation, ce package secondaire installait un Remote Access Trojan (RAT) — un outil de prise de contrôle à distance — sur la machine de la victime.

Les caractéristiques de l'attaque :

  • Multiplateforme : Des charges malveillantes spécifiques ont été conçues pour Windows, macOS et Linux.

  • Contournement de la sécurité : Les versions ont été publiées directement sur npm, contournant totalement les pipelines de vérification automatique (CI/CD) et ne laissant aucune trace (aucun "tag") sur le dépôt GitHub officiel.

  • Autodestruction : Les traces de l'infection étaient programmées pour s'effacer automatiquement après l'exécution du malware

Que faire en cas de doute ?

Si vous utilisez Axios dans vos projets :

  1. Vérifiez vos versions : Comparez les versions installées dans votre package-lock.json avec les releases officielles sur le GitHub d'Axios.

  2. Utilisez des outils d'audit : Lancez régulièrement npm audit ou utilisez des outils comme Snyk ou Socket.dev pour détecter des dépendances malveillantes.

  3. Verrouillez vos versions : Ne laissez pas le symbole ^ (caret) devant vos versions dans le package.json pour éviter des mises à jour automatiques vers des versions mineures potentiellement compromises.

Pour résumer, s'il y a eu déjà mise à jour du paquet dans le moment où il a été compris, faudrait faire celà : 

La première étape est de revenir à une version saine d’Axios et de supprimer le faux paquet plain-crypto-js. Les chercheurs recommandent ensuite de vérifier manuellement la présence du malware sur le système, chaque environnement ayant ses propres emplacements à inspecter. Si quelque chose est détecté, tous les mots de passe, clés d’accès et identifiants disponibles depuis cette machine doivent être considérés comme compromis et immédiatement renouvelés.

Par Aghilas AZZOUG 



Getting Info...
Consentement Cookie
Nous utilisons des cookies 🍪 sur ce site pour analyser le trafic, mémoriser vos préférences et optimiser votre expérience.
Oops!
It seems there is something wrong with your internet connection. Please connect to the internet and start browsing again.
AdBlock Detected!
Salut super-héros de la navigation ! 🚀 On a détecté ton super-pouvoir anti-pubs, mais notre site a besoin de tes super-pouvoirs pour briller. 🌟 Peux-tu le mettre sur la liste blanche de ton plugin ? Ensemble, on sauve l'internet ! 🌐💥 Merci, héros ! 🙌 #TeamAwesome
Site is Blocked
Oops ! Désolé ! Ce site n'est pas disponible dans votre pays. 🌍😔

Mes favoris

Aucun favori pour le moment.

-->