A Microsoft anunciou uma mudança significativa nas políticas de segurança do ecossistema NuGet, reduzindo o tempo de vida das chaves de API para fortalecer a segurança da cadeia de suprimentos de software. A medida visa mitigar o risco de credenciais roubadas serem utilizadas para publicar pacotes maliciosos, um vetor de ataque crítico para desenvolvedores .NET.
Novas políticas de validade de chaves
A partir de 17 de agosto de 2026, as novas chaves de API do NuGet.org terão um período de validade máximo de 30 dias. A plataforma não permitirá mais que publicadores criem chaves com validade de 365 dias. Além disso, todas as chaves de API criadas antes dessa data expirarão automaticamente em 1 de novembro de 2026.
As chaves de API do NuGet funcionam de forma semelhante a senhas para publicação de pacotes. Desenvolvedores frequentemente as armazenam como segredos em plataformas CI/CD, configurações de repositório, servidores de build e configurações de implantação. Embora isso permita a publicação automatizada, também cria um alvo de alto valor para atacantes.
Se um adversário obtiver uma chave de longa duração, poderá publicar um pacote trojanizado sob um nome de projeto confiável por meses antes que a credencial expire. A redução do tempo de vida limita a janela de oportunidade para exploração.
Contexto de incidentes recentes
A política faz parte de um esforço mais amplo da Microsoft para reduzir o risco de cadeia de suprimentos de software. A empresa citou incidentes recentes de comprometimento de pacotes envolvendo credenciais de publicação roubadas como exemplo do impacto potencial. Em um caso envolvendo o pacote NX Console do npm, atacantes usaram credenciais roubadas para publicar uma versão maliciosa.
O pacote foi ativado 6.000 vezes em apenas 36 minutos antes de ser removido. Tais incidentes mostram como uma única credencial de publicação exposta pode afetar um ecossistema de software amplo. A mudança no NuGet busca evitar que cenários semelhantes se repitam no ecossistema .NET.
Migração para Publicação Confiável
A Microsoft recomenda que os mantenedores de pacotes migrem para o NuGet Trusted Publishing, lançado em setembro de 2025. A Publicação Confiável usa OpenID Connect (OIDC) para autenticar um fluxo de trabalho CI/CD sem armazenar uma chave de publicação NuGet de longa duração.
Neste modelo, uma plataforma CI/CD suportada cria um token de identidade assinado e de curta duração durante um trabalho de publicação de pacotes. O NuGet.org valida o token contra uma política definida pelo proprietário do pacote, incluindo detalhes de repositório, fluxo de trabalho e ambiente opcional. Em seguida, emite uma chave de API temporária especificamente para essa operação de publicação.
Esse fluxo de trabalho remove a necessidade de colocar uma chave de API NuGet reutilizável em um repositório ou armazenamento de segredos CI/CD. Também reduz a quantidade de trabalho de rotação de segredos e limita o dano da exposição de credenciais.
Recomendações para equipes de DevSecOps
Usuários do GitHub Actions e GitLab são encorajados a começar a se mover para a Publicação Confiável antes do prazo de agosto. Mantenedores que ainda não podem adotar a publicação baseada em OIDC devem auditar cada fluxo de trabalho de publicação do NuGet, identificar chaves criadas antes de 17 de agosto e atualizar a automação para suportar a rotação de credenciais de 30 dias.
Eles também devem restringir as chaves ao escopo de pacote e permissões mínimos necessários, evitar colocar chaves em código ou logs e revogar imediatamente qualquer credencial exposta. A Microsoft disse que os tempos de vida das chaves de API podem ser reduzidos ainda no futuro à medida que o NuGet expande o suporte à Publicação Confiável em ambientes CI/CD adicionais.
Impacto na segurança do software
Essa mudança representa um passo importante na maturidade da segurança da cadeia de suprimentos. Ao forçar a rotação mais frequente de credenciais e incentivar a autenticação baseada em tokens, a Microsoft reduz a superfície de ataque para ataques de publicação de pacotes maliciosos. Isso protege não apenas os desenvolvedores, mas também as organizações que consomem esses pacotes em produção.
O que os CISOs devem fazer agora
1. Verificar o status das chaves de API do NuGet em uso.
2. Planejar a migração para Publicação Confiável (OIDC).
3. Auditar fluxos de trabalho CI/CD para exposição de segredos.
4. Implementar monitoramento de atividades de publicação de pacotes.
5. Treinar desenvolvedores sobre práticas seguras de gerenciamento de credenciais.
Perguntas frequentes
Quando as chaves antigas expiram?
Todas as chaves criadas antes de 17 de agosto expirarão em 1 de novembro de 2026.
Qual é a nova validade máxima?
Novas chaves terão validade máxima de 30 dias.
Como migrar para Publicação Confiável?
Utilize integrações OIDC suportadas no GitHub Actions ou GitLab para autenticação sem segredos estáticos.