NuGet.org prévoit de réduire à 30 jours la durée de validité des nouvelles clés API à partir du 17 août 2026, une mesure qui, selon Microsoft, vise à réduire les risques de vol d’identifiants et à renforcer la sécurité de la chaîne d’approvisionnement des packages logiciels. La plateforme supprimera également l’option de créer de nouvelles clés valables 365 jours, tandis que toutes les clés créées avant le 17 août expireront le 1er novembre 2026.
Microsoft demande à toute personne publiant des packages sur NuGet.org de revoir ses mécanismes de publication actuels avant l’entrée en vigueur du changement, notamment parce qu’une clé API est utilisée en pratique comme un mot de passe permettant de publier des packages. Si une clé à long terme est conservée comme secret dans un dépôt, copiée entre plusieurs systèmes ou intégrée aux paramètres de compilation, sa compromission peut offrir à un attaquant une période prolongée pour publier des versions non autorisées.
Plan de réduction de la durée de validité des clés
Le plan se compose de deux étapes claires :
- 17 août 2026 : limitation à 30 jours de la durée maximale des nouvelles clés et suppression de l’option de validité de 365 jours.
- 1er novembre 2026 : expiration de toutes les clés créées avant le 17 août 2026.
Microsoft précise que la réduction de la durée ne rend pas les clés API sûres par elles-mêmes, mais qu’elle réduit la période pendant laquelle une clé perdue ou divulguée peut être utilisée. L’entreprise a cité l’incident de compromission du package NX console au moyen d’identifiants volés : un package NX Console malveillant a été publié et, selon l’équipe NX, activé 6000 fois en 36 minutes avant son retrait.
Recommandation de passer à Trusted Publishing
Microsoft recommande d’utiliser Trusted Publishing, un mécanisme de publication lancé en septembre 2025 qui permet à un workflow CI/CD de s’authentifier auprès de NuGet.org via OpenID Connect (OIDC). Le workflow fournit un jeton d’identité signé et de courte durée ; NuGet.org vérifie ce jeton selon une politique définie par le propriétaire du package, puis émet une clé API temporaire uniquement pour l’opération de publication.
Contrairement à la récupération d’une clé à long terme depuis un coffre de secrets, ce mécanisme n’exige pas de conserver un secret de publication à long terme dans le dépôt ou le système CI/CD. Il crée également des identifiants de courte durée et les invalide automatiquement. La politique comprend la vérification de l’identité de la charge de travail associée au dépôt et au workflow, avec la possibilité d’ajouter un environnement facultatif. Elle ne nécessite pas non plus de secrets gérés par l’utilisateur ni de rotation manuelle de ceux-ci, et limite l’impact d’une compromission des identifiants.
Mesures requises pour les éditeurs de packages
Les éditeurs doivent recenser toutes les opérations de publication vers NuGet.org, identifier les clés créées avant le 17 août 2026 et mettre à jour l’automatisation afin de gérer et de renouveler en toute sécurité les clés à durée de validité plus courte. Les recommandations comprennent également l’utilisation de la portée la plus limitée possible pour les packages et les autorisations nécessaires, l’interdiction de placer une clé API dans le dépôt de code ou les journaux, la suppression immédiate de toute clé perdue ou exposée et la vérification que les notifications d’expiration sont envoyées à un compte surveillé.
Microsoft invite les utilisateurs de GitHub Actions et de GitLab à commencer la transition vers Trusted Publishing, tandis que les utilisateurs d’autres environnements de publication doivent vérifier que leur workflow peut utiliser des clés expirant dans les 30 jours et se préparer à l’expiration des anciennes clés le 1er novembre. La publication via l’interface de NuGet.org reste disponible pour les scénarios manuels. L’entreprise a également indiqué qu’elle partagerait des mises à jour avec la communauté lors de l’ajout de la prise en charge d’autres environnements CI/CD, tout en précisant que la durée de validité des clés API pourrait encore être réduite à l’avenir.