Introduction

Le 31 mars 2026, deux versions malveillantes de la bibliothèque axios (1.14.1 et 0.30.4) ont été publiées sur le registre npm via le compte compromis du mainteneur principal. Ces versions ont injecté une dépendance appelée plain-crypto-js@4.2.1, qui a installé un cheval de Troie d'accès à distance sur macOS, Windows et Linux.

Contexte Technique

L'attaquant a gagné l'accès au PC du mainteneur principal via une campagne de piratage social ciblée et un malware de type RAT. Cela leur a donné accès aux informations d'identification du compte npm, qui ont été utilisées pour publier les versions malveillantes. L'attaque a suivi des modèles documentés dans des campagnes similaires ciblant les mainteneurs de logiciels open source.

Les versions malveillantes ont été disponibles pendant environ 3 heures avant d'être supprimées. Les utilisateurs qui ont installé ces versions doivent les supprimer immédiatement et traiter les systèmes affectés comme potentiellement compromis, y compris la rotation de toutes les informations d'identification sensibles.

Analyse et Implications

Cette faille de sécurité souligne l'importance d'une surveillance continue et d'une vigilance accrue dans les projets open source, en particulier pour les packages à forte incidence. La publication directe à partir d'un compte personnel était un risque qui aurait pu être évité. L'adoption d'un flux OIDC et d'une configuration de version immuable aurait dû être en place avant cet incident.

Il n'y avait pas de moyen automatisé pour détecter une publication non autorisée. La détection dépendait entièrement de la communauté qui remarquait l'anomalie. Les mainteneurs de logiciels open source avec des packages à forte incidence sont des cibles actives pour des campagnes de piratage social sophistiquées. Une vigilance extrême est nécessaire à la fois sur le registre et dans une capacité personnelle.

Perspective

Pour prévenir que cela se reproduise, des changements sont apportés, notamment la mise en place d'un flux OIDC et d'une configuration de version immuable. Il est essentiel de continuer à améliorer les pratiques de sécurité en alignement avec les meilleures pratiques de l'industrie et en collaboration avec des groupes tels que le OpenJS Security Working Group.

Les utilisateurs doivent rester vigilants et surveiller de près les mises à jour de sécurité et les recommandations des mainteneurs de logiciels open source. La rotation régulière des informations d'identification sensibles et la mise en place de mécanismes de détection d'anomalies sont essentielles pour prévenir les attaques de ce type.