Alerte de sécurité : une dépendance de npm trompeuse a compromis Axios et laissé un RAT multiplateforme

Publié 6 min de lectura 113 lecture

La communauté JavaScript s'est réveillée avec des nouvelles qui font ressortir le risque que de nombreux développeurs craignent : les chaînes d'approvisionnement logicielles. Le client populaire HTTP Axios, avec des dizaines de millions de téléchargements hebdomadaires, a fait l'objet d'une publication malveillante npm qui a introduit une unité de piège appelée crypto-js à 4.2.1, conçu exclusivement pour exécuter un installateur postérieur (postinstall) qui dépose un trojan d'accès à distance multiplateforme (RAT).

Selon l'analyse technique qu'il a transcendé, l'attaque n'a pas changé le code Axio lui-même, mais a profité des lettres de créances engagées du principal responsable du projet pour publier des versions contaminées (dans les branches majoritaires publiées sous 1.14.1 et 0.30.4). Lors de l'injection d'une unité apparemment inoffensive, il a été possible d'exécuter du code malveillant au moment de l'installation, sans modifier les lignes Axios que les développeurs examinent habituellement.

Alerte de sécurité : une dépendance de npm trompeuse a compromis Axios et laissé un RAT multiplateforme
Image générée avec IA.

Le mécanisme utilisé par les attaquants était direct et sophistiqué : la dépendance malveillante comprenait un script osfuscado post-install (un "dropper" sur Node.js) qui, selon le système d'exploitation, a téléchargé et lancé une deuxième étape spécifique à macOS, Windows ou Linux. MacOS décrit les actions utilisant AppleScript pour télécharger et exécuter un binaire; Windows profiterait de PowerShell et VBScript pour lancer un RAT; et la chaîne de Linux a fini par exécuter un script Python de / tmp. Après l'exécution, les logiciels malveillants essayaient d'effacer ses traces et de remplacer le manifeste de paquet par une version "propre" pour rendre difficile la détection légale.

Cette attaque montre également une utilisation prudente de la logistique temporaire : la librairie lure a été publiée avec une version « propre » heures avant que la version de charge utile soit téléchargée sur le disque, et les deux branches d'Axios ont été contaminées en quelques minutes, suggérant que les attaquants ont préparé et testé des artefacts à l'avance. L'acteur a également modifié les métadonnées des comptes npm et, selon le rapport technique, est susceptible d'utiliser un jeton d'accès classique à long terme pour publier directement dans le registre.

Pour les projets et les équipes qui dépendent d'Axios, les recommandations immédiates sont claires. Si l'une des versions concernées est détectée, il convient d'envisager l'installation d'une version antérieure connue et sécurisée et d'assumer la possibilité d'engagement si la machine qui a installé l'appareil n'a pas été inspectée. La rotation immédiate des secrets et des références est la mesure prudente si les versions contaminées sont exposées. En outre, vérifiez les artefacts RAT typiques (itinéraires horaires et fichiers laissés par le compte-gouttes selon la plate-forme) et auditez les exécutions CI / CD qui peuvent avoir installé ces versions sont des étapes essentielles.

La nature de l'incident met de nouveau en lumière deux leçons importantes pour la sécurité des logiciels: d'une part, les jetons et les lettres de créance qui permettent de publier des paquets doivent être de courte durée ou gérés par des mécanismes plus sûrs, et d'autre part, les unités «venorisées» ou incluses dans les arbres de nœuds modèles peuvent cacher des modifications dangereuses que le processus de révision du code ne détecte pas. Les organismes spécialisés de sécurité de la chaîne d'approvisionnement ont montré comment les paquets apparemment non importés par la librairie principale peuvent être suffisants pour compromettre les environnements dès que npm installation est exécuté.

En plus d'Axios, l'analyse de tiers a détecté des paquets qui incorporent la même dépendance malveillante sur les routes vendues et d'autres qui incluaient directement une version manipulée d'Axios dans leur propre noeud mode, qui multiplie le champ d'exposition. Cela montre que les attaquants peuvent diffuser leur charge utile en publiant de nouveaux paquets et en adultère des arbres à partir de dépendances existantes.

Pour ceux qui veulent approfondir le phénomène global et les recommandations visant à atténuer les attaques contre la chaîne d'approvisionnement, il est utile de consulter des analyses et des guides d'entités qui s'attaquent souvent à ce problème. Le dépôt officiel Axios et la page de paquet npm sont des références pour vérifier les versions et métadonnées publiées: https: / / github.com / axios / axios et https: / / www.npmjs.com / package / axios. Pour le contexte technique et les bonnes pratiques en matière de sécurité de la chaîne d'approvisionnement, des ressources telles que le blog npm et les publications d'entreprises spécialisées fournissent des guides utiles: https: / / blog.npmjs.org et https: / / snyk.io / blog /. Il est également recommandé d'examiner la documentation et les avis des autorités sur la gestion des incidents et la rotation des pouvoirs, comme les documents de l'Agence de sécurité et de cybersécurité (ISA) : https: / / www.cisa.gov.

Alerte de sécurité : une dépendance de npm trompeuse a compromis Axios et laissé un RAT multiplateforme
Image générée avec IA.

D'un point de vue pratique, les organisations devraient combiner des mesures réactives et préventives. Réactivement, les systèmes d'audit pour détecter l'un des indicateurs d'engagement associés aux goutteurs - par exemple les fichiers temporaires, les fichiers binaires résiduels ou les changements dans les manifestes de paquets - et supposer la pire hypothèse jusqu'à ce que toutes les références potentiellement compromises aient été renouvelées. Préventivement, limiter les jetons avec un minimum de permis, permettre des contrôles de publication plus rigides, examiner les politiques de CI / CD pour éviter les exécutions de lettres de créance à haut privilège et utiliser des solutions qui surveillent l'intégrité des unités aident à réduire la surface de l'attaque.

Il est important de souligner que des incidents comme celui-ci ne comportent pas de fraude dans le code source vérifié par des millions, mais qu'ils montrent que les points de publication et la gestion de l'accès sont des vecteurs critiques. La sécurité de l'écosystème npm dépend non seulement de l'examen des librairies, mais aussi de la protection des comptes et des flux qui permettent la publication et la distribution de logiciels.

Les nouvelles vous forcent à repenser les routines : auditer les dépendances, durcir les jetons, surveiller les installations de pipeline automatique et apprendre aux équipes à réagir rapidement à la possibilité d'un engagement dans la chaîne d'approvisionnement. Pour être tenu informé du cas particulier et des analyses techniques qui en sont la cause, il convient de suivre les publications de sécurité et les mises à jour dans les dépôts officiels où des avertissements et des correctifs seront incorporés.

Couverture

Autres

Plus de nouvelles sur le même sujet.