La confiance dans l'écosystème open source a été sérieusement ébranlée. Suite à une multiplication d'attaques sophistiquées visant le gestionnaire de paquets npm de Node.js, GitHub a décidé de sortir l'artillerie lourde.

Des mesures de renforcement de la sécurité seront déployées pour protéger la chaîne d'approvisionnement.

Une réponse musclée à des cyberattaques en série

Le point de rupture a été atteint mi-septembre 2025 avec l'attaque « Shai-Hulud ». Ce ver informatique s'est infiltré dans l'écosystème npm en piratant des comptes de développeurs.

Un objectif était d'injecter des scripts malveillants dans des paquets JavaScript populaires, afin de voler toutes sortes de secrets, bien au-delà des simples tokens d'accès npm.

Sans une réaction rapide de GitHub, qui a supprimé plus de 500 paquets compromis, l'attaque aurait pu déclencher une réaction en chaîne dévastatrice. Cet événement s'ajoute à d'autres campagnes malveillantes récentes.

Le triptyque de sécurité de GitHub

Pour endiguer la menace, GitHub va restructurer les options d'authentification et de publication sur npm. Le but est d'éliminer les points d'entrée favoris des attaquants.

Publication locale avec authentification à deux facteurs (2FA) obligatoire, tokens d'accès granulaires et éphémères d'une durée de vie limitée à sept jours pour réduire la fenêtre d'opportunité d'un attaquant, publication sécurisée (Trusted Publishing).

En parallèle, plusieurs anciennes pratiques vont disparaître. Les legacy tokens et l'authentification 2FA par mot de passe à usage unique seront progressivement abandonnés au profit de standards plus robustes comme FIDO et WebAuthn.

Trusted publishing : la nouvelle règle d'or ?

Le Trusted Publishing est présenté comme la solution d'avenir. Déjà adoptée par d'autres écosystèmes, cette méthode élimine le besoin de gérer manuellement certains tokens d'API dans les systèmes de déploiement continu.

Elle s'appuie sur le protocole OpenID Connect (OIDC) pour établir une confiance cryptographique entre l'environnement de build et le registre de paquets. Chaque publication est authentifiée via des identifiants à courte durée de vie, spécifiques à une tâche.

L'avantage est en matière de sécurité renforcée et de transparence accrue. « Chaque paquet publié inclut une preuve cryptographique de sa source et de son environnement de construction », avait déjà souligné GitHub. Les utilisateurs peuvent vérifier d'où vient un paquet et comment il a été conçu. Un atout majeur pour la sécurité de la chaîne d'approvisionnement.