Microsoft намалява жизнения цикъл на новите API ключове за NuGet.org от 365 дни на 30 дни, считано от 17 август 2026 г., за да подобри сигурността на NuGet – хранилището за пакети за .NET разработчици. API ключовете, създадени преди 17 август, ще останат валидни до 1 ноември, след което разработчиците ще трябва да генерират нови ключове или да преминат към Доверено публикуване в NuGet (NuGet Trusted Publishing).

Промяната не елиминира рисковете, свързани с API ключовете, но намалява времето, през което откраднат ключ може да бъде използван, ако бъде разкрит.

Защо Microsoft прави тази промяна

API ключът за NuGet.org функционира като парола, която позволява на разработчиците да публикуват софтуерни пакети. Ако даден ключ се съхранява в кодово хранилище, споделя се между системи или е включен в автоматизиран тръбопровод за изграждане (build pipeline), всеки, който го придобие, би могъл да публикува злонамерени или неоторизирани актуализации на пакети.

„Дългосрочните идентификационни данни са удобни, но също така значително увеличават въздействието при случайно разкриване. Наскоро NPM пакетът NX Console беше компрометиран с помощта на откраднати идентификационни данни. Атакуващият публикува злонамерен пакет NX Console, използвайки откраднатите данни. Според екипа на NX Dev, пакетът е бил активиран 6000 пъти за 36 минути, преди да бъде премахнат. Други подобни атаки са имали много по-широк обхват на поражение“, обясняват от Microsoft.

Довереното публикуване, въведено през септември 2025 г., заменя постоянните API ключове с OpenID Connect (OIDC) удостоверяване. То проверява заявките за публикуване чрез OIDC, издава временен API ключ за конкретната сесия за публикуване и автоматично го анулира след това. Този подход премахва дългосрочните API ключове от хранилищата с код и CI/CD системите, потвърждава, че заявките за публикуване произхождат от одобрени източници, и съответства на стремежа на индустрията към публикуване без ключове.

OpenID Connect (OIDC) е слой за идентификация, изграден върху OAuth 2.0. Той позволява на дадено приложение да провери самоличността на потребител или услуга, без да се изисква споделяне на пароли с всеки участващ уебсайт или услуга.

Разработчиците, които продължават да използват API ключове, трябва да идентифицират всеки работен процес, който публикува пакети в NuGet.org, и да заменят всички ключове, създадени преди 17 август 2026 г. Microsoft също така препоръчва ограничаване на разрешенията за всеки ключ, избягване на съхранението на ключове в изходния код или регистрационните файлове (logs), незабавно изтриване на компрометирани ключове и гарантиране, че известията за изтичане на валидността се изпращат до активно наблюдаван акаунт. Ръчното публикуване на пакети чрез уебсайта NuGet.org ще остане достъпно.

Microsoft препоръчва на разработчиците, използващи GitHub Actions или GitLab, да мигрират към Доверено публикуване възможно най-скоро. Тези, които използват други CI/CD платформи, трябва да се уверят, че техните работни процеси за публикуване поддържат API ключове, които изтичат на всеки 30 дни, и да заменят всички останали дългосрочни ключове преди 1 ноември 2026 г. Компанията заявява, че с течение на времето ще разшири поддръжката на Доверено публикуване към допълнителни CI/CD платформи.