npm étend à tous les comptes une retenue de sécurité de 72 heures après une connexion avec un code de récupération. Certaines opérations sensibles sont limitées afin de laisser au propriétaire le temps de détecter une prise de contrôle.

La réponse rapide

QuestionRéponse
Déclencheur ?Un code de récupération npm.
Durée ?72 heures.
Objectif ?Freiner l'impact d'un code volé sur les paquets.

Un secret particulièrement puissant

Le code de secours restaure un compte lorsque le second facteur est perdu. Un attaquant qui possède aussi le mot de passe peut ainsi contourner une clé ou une application d'authentification. Sur npm, une version malveillante peut ensuite atteindre de nombreux projets.

Ce que cela change

Un mainteneur légitime devra anticiper cette restriction. Mieux vaut conserver deux facteurs actifs, dont une clé de secours, et ne pas faire dépendre une publication urgente d'un seul compte. Le trusted publishing OIDC limite aussi les jetons longue durée.

Vérifier son organisation

Auditez les propriétaires de paquets, retirez les comptes inactifs et stockez les codes séparément des mots de passe. Documentez les révocations et traitez immédiatement toute alerte de connexion, même sans nouvelle version publiée.

Une friction justifiée

Trois jours semblent longs, mais un compte npm est une infrastructure de supply chain. La retenue ne protège pas un jeton déjà volé ; elle rend toutefois l'abus d'un code de récupération moins immédiat et offre une chance supplémentaire de reprendre le contrôle.