Les logiciels open source sont la colonne vertébrale de l’écosystème numérique actuel : ils font fonctionner des applications critiques et favorisent l’innovation à grande échelle. Toutefois, leur ouverture en fait également une cible de choix pour les attaquants.
Les événements récents sur le registre npm soulignent l’urgence de sécuriser les dépôts de paquets face à des menaces toujours plus sophistiquées.
Attaques récentes contre la chaîne logistique de npm
En septembre 2025, GitHub a révélé un incident grave impliquant le ver Shai-Hulud, un logiciel malveillant autoréplicatif qui s’est propagé par l’intermédiaire de comptes compromis de mainteneurs npm.
Les attaquants ont injecté des scripts post-installation malveillants dans des paquets JavaScript très utilisés, permettant au ver de dérober non seulement des jetons npm, mais aussi toute une série de secrets sensibles. Si elle n’avait pas été contenue, l’attaque aurait pu déclencher une cascade de compromissions dans l’ensemble de l’écosystème logiciel.
GitHub a réagi en supprimant plus de 500 paquets compromis et en bloquant les téléversements contenant les indicateurs de compromission du logiciel malveillant. Si la menace immédiate a été contenue, l’incident a souligné la fragilité de la confiance dans la chaîne logistique et la facilité avec laquelle les attaquants peuvent militariser les écosystèmes open source.
La feuille de route de npm pour renforcer la sécurité
Pour réduire le risque d’utilisation abusive des jetons et prévenir de futures attaques par logiciels malveillants capables de se propager, GitHub a annoncé de nouvelles règles pour la publication sur npm. Les principales mesures sont les suivantes :
- Authentification à deux facteurs (2FA) obligatoire pour les publications locales.
- Jetons granulaires avec une durée de validité stricte de sept jours.
- Adoption élargie des flux de publication de confiance.
Les jetons historiques seront abandonnés et l’authentification 2FA par mot de passe à usage unique basé sur le temps (TOTP) sera progressivement remplacée par une authentification FIDO plus robuste. Les paramètres par défaut limiteront l’accès à la publication via les jetons, incitant les mainteneurs à adopter la publication de confiance ou à imposer la 2FA.
Ces changements pourront nécessiter une mise à jour des flux de travail, mais GitHub s’est engagé à les déployer progressivement et à fournir des guides de migration ainsi que des ressources d’assistance afin de réduire les perturbations.
Le rôle de la publication de confiance
La publication de confiance s’impose comme un pilier de la défense de la chaîne logistique. Ce modèle élimine le besoin de jetons d’API statiques dans les systèmes de compilation.
Les dépôts de paquets vérifient directement les demandes de publication provenant de fournisseurs d’intégration continue (CI) de confiance, neutralisant ainsi un vecteur d’attaque majeur.
Bien que GitHub ait initialement laissé l’adoption de la publication de confiance se développer naturellement, les incidents récents ont accéléré le mouvement. Les attaquants n’attendent pas, et les mainteneurs sont désormais invités à adopter immédiatement la publication de confiance pour tous les gestionnaires de paquets pris en charge.
Ce que les mainteneurs peuvent faire dès aujourd’hui
La sécurisation de l’écosystème npm relève d’une responsabilité partagée. Alors que GitHub renforce son infrastructure, les mainteneurs peuvent prendre immédiatement plusieurs mesures pour réduire les risques :
- Adopter la publication de confiance plutôt que de s’appuyer sur des jetons d’API à longue durée de validité.
- Activer l’authentification à deux facteurs (2FA) pour toutes les opérations d’écriture et de publication, en l’exigeant idéalement pour les comptes, les organisations et les paquets.
- Utiliser une authentification 2FA fondée sur WebAuthn plutôt que des méthodes TOTP moins robustes.
- Auditer les autorisations de publication régulièrement et supprimer les jetons ou comptes superflus.
Ces mesures ne renforcent pas seulement les projets individuels : elles améliorent également la résilience de l’écosystème au sens large.
Une vue d’ensemble
Le ver Shai-Hulud illustre la sophistication croissante des attaques contre la chaîne logistique, où l’autoréplication, le vol de jetons et l’automatisation offrent aux attaquants de puissants multiplicateurs. Les logiciels open source étant intégrés à presque toutes les entreprises, ces incidents ne constituent pas des menaces isolées, mais des risques systémiques.
La feuille de route de npm marque un tournant décisif vers des contrôles axés sur l’identité, qui neutralisent l’utilisation abusive des jetons et réduisent le rayon d’action des prises de contrôle de comptes. Mais les correctifs techniques ne suffisent pas à eux seuls. Les développeurs, les mainteneurs et les organisations doivent adopter des paramètres sécurisés par défaut, investir dans une authentification plus robuste et garder une longueur d’avance sur les innovations des attaquants.
L’open source repose sur la confiance, mais comme le montre l’incident Shai-Hulud, cette confiance est fragile.
En imposant des règles de publication plus strictes, en développant la publication de confiance et en adoptant des pratiques d’authentification modernes, GitHub et l’ensemble de la communauté prennent des mesures essentielles pour rendre l’écosystème plus sûr.
La leçon est claire : sécuriser la chaîne logistique logicielle exige de la vigilance, de la collaboration et l’adoption proactive des bonnes pratiques de sécurité.





