Axios attaque la chaîne d'approvisionnement contre npm trust : une perte de confiance.

| 31 mars 2026
Le logo du client HTTP Axios, qui consiste simplement en le mot « AXIOS » écrit en violet

Les chercheurs ont découvert que les versions compromises d'Axios installaient un cheval de Troie d'accès à distance.

Axios est un client HTTP basé sur les promesses pour Node.js. Il s'agit d'un outil utilitaire utilisé en arrière-plan par les développeurs pour permettre aux applications de communiquer avec Internet. Par exemple, Axios simplifie et fiabilise les requêtes telles que « récupérer mes messages du serveur » ou « envoyer ce formulaire au site web », évitant ainsi aux programmeurs d'avoir à écrire eux-mêmes une grande quantité de code réseau de bas niveau.

Comme il fonctionne aussi bien dans le navigateur que sur les serveurs (Node.js), de nombreux projets JavaScript modernes l'intègrent comme composant standard. Même si vous n'installez jamais Axios vous-même, vous pourriez être amené à l'utiliser indirectement lorsque vous :

  • Utilisez des applications web construites avec des frameworks comme React, Vue ou Angular.
  • Utilisez des applications mobiles ou des applications de bureau conçues avec des technologies web comme Electron, React Native et autres.
  • Visitez des outils SaaS (Software-as-a-Service) plus petits, des panneaux d'administration ou des services auto-hébergés construits par des développeurs qui ont choisi Axios.

On pourrait comparer ça à la plomberie de votre maison. En général, on ne remarque pas les tuyaux, mais ils acheminent l'eau jusqu'au robinet. Et on n'a pas besoin de savoir où ils se trouvent tant qu'il n'y a pas de fuite.

Ce qui s'est passé?

En utilisant les identifiants compromis d'un responsable de la maintenance d'Axios, un attaquant a publié des paquets empoisonnés sur npm : axios@1.14.1 et axios@0.30.4Les versions malveillantes injectent une nouvelle dépendance. plain-crypto-js@4.2.1, qui n'est jamais importé nulle part dans le code source d'axios. 

Ensemble, les deux packages concernés atteignent jusqu'à 100 millions de téléchargements hebdomadaires sur npm, ce qui signifie que leur impact est considérable sur les applications web, les services et les pipelines.

Il est important de noter que la version d'Axios concernée n'apparaît pas dans les étiquettes GitHub officielles du projet. Cela signifie que les personnes et les projets concernés sont les développeurs et les environnements ayant exécuté la commande `npm install` qui a abouti à :

  • axios@1.14.1 ou axios@0.30.4, ou
  • la dépendance plain-crypto-js@4.2.1.

Tout flux de travail ayant installé l'une de ces versions avec les scripts activés peut avoir exposé tous les secrets injectés (clés cloud, clés de déploiement de dépôt, jetons npm, etc.) à un attaquant interactif, car le script post-installation (node ​​setup.js) qui s'exécute automatiquement lors de l'installation npm a téléchargé un dropper obfusqué qui récupère une charge utile RAT spécifique à la plateforme pour macOS. Windows , ou Linux.

Si vous êtes développeur et que vous déployez Axios, considérez toute machine ayant installé les versions défectueuses comme potentiellement compromise et changez régulièrement vos clés d'accès. L'attaquant pourrait avoir obtenu un accès au dépôt, des clés de signature, des clés API ou d'autres secrets permettant d'introduire des portes dérobées dans les futures versions ou d'attaquer votre système et vos utilisateurs.

Les utilisateurs d'applications développées avec Axios n'ont aucune raison de s'inquiéter. Si vous chargez simplement votre application dans un navigateur, vous n'exécutez pas directement ce RAT via Axios. L'infection se produit lors de l'installation/compilation, et non lors de l'exécution de l'application.

Indicateurs de compromission (IOC)

Comme l'ont souligné les chercheurs, le programme d'installation du logiciel malveillant effectue un nettoyage automatique après son utilisation :

« Toute inspection post-infection du fichier node_modules/plain-crypto-js/package.json révélera un manifeste parfaitement propre. Il n'y a ni script postinstall, ni fichier setup.js, ni aucune indication d'installation d'un logiciel malveillant. L'exécution de npm audit ou l'examen manuel du répertoire des packages installés ne révélera pas la compromission. »

Vous pouvez donc rechercher les IOC suivants :

Domaine : sfrclak[.]com

Adresse IP : 142.11.206.73

(tous deux bloqués par Malwarebytes produits)

Fichiers :

  • macOS : /Bibliothèque/Caches/com.apple.act.mond
  • Linux : /tmp/ld.py 
  • Windows : %PROGRAMDATA%\wt et %TEMP%\6202033.vbs/.ps1 qui n'existent que brièvement lors de l'exécution

Paquets npm malveillants :

axios@1.14.1 sha-256 checksum: 2553649f2322049666871cea80a5d0d6adc700ca

axios@0.30.4 somme de contrôle sha-256 : d6f3f62fd3b9f5432f5782b62d8cfd5247d5ee71

plain-crypto-js@4.2.1 sha-256 checksum: 07d889e2dadce6f3910dcbc253317d28ca61c766


Du signalement des menaces à leur suppression.

Les risques de cybersécurité ne devraient jamais dépasser le stade de la simple mention dans les médias. Protégez vos appareils des menaces en téléchargeant Malwarebytes dès aujourd'hui .

À propos de l'auteur

Pieter Arntz

Chercheur en renseignements sur les logiciels malveillants

A été MVP Microsoft en sécurité grand public pendant 12 années consécutives. Parle quatre langues. Exhale un parfum d'acajou et de livres reliés cuir.