O NuGet.org pretende reduzir a validade das novas chaves de API para 30 dias a partir de 17 de agosto de 2026, em uma medida que, segundo a Microsoft, tem como objetivo reduzir os riscos de roubo de credenciais e reforçar a segurança da cadeia de fornecimento de pacotes de software. A plataforma também removerá a opção de criar novas chaves com validade de 365 dias, enquanto todas as chaves criadas antes de 17 de agosto expirarão em 1º de novembro de 2026.
A Microsoft solicita que todos os que publicam pacotes no NuGet.org revisem os mecanismos atuais de publicação antes do início da aplicação da mudança, especialmente porque uma chave de API funciona, na prática, como uma senha que permite publicar pacotes. Se uma chave de longo prazo for armazenada como segredo em um repositório, copiada entre vários sistemas ou incluída nas configurações de compilação, sua exposição poderá conceder ao invasor um período prolongado para publicar versões não autorizadas.
Plano de redução da validade das chaves
O plano consiste em duas etapas claras:
- 17 de agosto de 2026: limitar a validade máxima das novas chaves a 30 dias e descontinuar a opção de validade de 365 dias.
- 1º de novembro de 2026: expiração de todas as chaves criadas antes de 17 de agosto de 2026.
A Microsoft explica que reduzir a validade não torna as chaves de API seguras por si só, mas diminui o período durante o qual uma chave perdida ou vazada pode ser usada. A empresa citou o incidente de comprometimento do pacote NX console por meio de credenciais roubadas; um pacote malicioso do NX Console foi publicado e, segundo a equipe do NX, foi ativado 6.000 vezes durante 36 minutos antes de ser removido.
Recomendação de migração para o Trusted Publishing
A Microsoft recomenda o uso do Trusted Publishing, um mecanismo de publicação lançado em setembro de 2025 que permite que fluxos de trabalho de CI/CD se autentiquem no NuGet.org por meio do OpenID Connect (OIDC). O fluxo de trabalho fornece um token de identidade assinado e de curta duração, e o NuGet.org verifica o token de acordo com uma política definida pelo proprietário do pacote; em seguida, emite uma chave de API temporária apenas para a operação de publicação.
Ao contrário da recuperação de uma chave de longo prazo de um armazenamento de segredos, esse mecanismo não exige o armazenamento de um segredo de publicação de longo prazo no repositório ou no sistema de CI/CD, além de criar credenciais de curta duração e invalidá-las automaticamente. A política inclui a verificação da identidade da carga de trabalho associada ao repositório e ao fluxo de trabalho, com a possibilidade de adicionar um ambiente opcional. Ela também não exige segredos gerenciados pelo usuário nem sua rotação manual, e limita o impacto da exposição das credenciais.
Ações exigidas dos editores de pacotes
Os editores devem catalogar todas as operações de publicação no NuGet.org, identificar as chaves criadas antes de 17 de agosto de 2026 e atualizar a automação para lidar com segurança com chaves de validade mais curta e fazer sua rotação. As orientações também incluem usar o escopo mais restrito de pacotes e permissões necessário, não colocar uma chave de API em um repositório de código ou nos logs, excluir imediatamente qualquer chave perdida ou exposta e garantir que as notificações de expiração cheguem a uma conta monitorada.
A Microsoft incentiva os usuários do GitHub Actions e do GitLab a iniciarem a migração para o Trusted Publishing, enquanto os usuários de outros ambientes de publicação devem garantir que seus fluxos de trabalho sejam capazes de usar chaves que expirem em 30 dias e se preparar para a expiração das chaves antigas em 1º de novembro. A publicação pela interface do NuGet.org continuará disponível para cenários manuais, e a empresa afirmou que compartilhará atualizações com a comunidade quando adicionar suporte a outros ambientes de CI/CD, observando que a validade das chaves de API poderá ser reduzida ainda mais no futuro.