Segurança no npm: GitHub anuncia 2FA obrigatório e tokens

Imagem do autor do SempreUpdate Jardeson Márcio
Escrito por
Jardeson Márcio
Jardeson Márcio é Jornalista e Mestre em Tecnologia Agroalimentar pela Universidade Federal da Paraíba. Com 8 anos de experiência escrevendo no SempreUpdate, Jardeson é um especialista...

Entenda as novas regras de 2FA e tokens do GitHub que serão obrigatórias para proteger seus projetos no npm.

Nos últimos meses, a comunidade de desenvolvimento tem enfrentado uma onda preocupante de ataques à cadeia de suprimentos de software, com campanhas como Shai-Hulud e GhostAction chamando a atenção para as fragilidades do ecossistema npm. Esses ataques exploraram brechas em contas de desenvolvedores e pacotes amplamente utilizados, colocando em risco milhares de projetos ao redor do mundo. Nesse cenário, falar sobre segurança npm deixou de ser uma preocupação opcional para se tornar uma prioridade urgente.

Como resposta a essa ameaça crescente, o GitHub, que mantém o registro oficial do npm, anunciou um conjunto de novas medidas de segurança obrigatórias. Essas mudanças têm como objetivo fortalecer a proteção contra comprometimentos de contas e garantir maior confiabilidade nos pacotes publicados.

Neste artigo, vamos detalhar o que exatamente está mudando, por que essas mudanças são cruciais diante do cenário atual e o que você, como desenvolvedor, precisa fazer na prática para se preparar.

Bibliotecas maliciosas npm

O que está mudando na segurança do npm?

O GitHub anunciou uma reformulação nas políticas de segurança do registro npm. A proposta é tornar obrigatórias práticas que antes eram apenas recomendadas, reduzindo o espaço de ataque para agentes maliciosos.

Autenticação de dois fatores (2FA) se torna obrigatória

A autenticação de dois fatores (2FA) será um requisito para qualquer conta que publique pacotes no npm. Isso significa que não será mais possível usar apenas usuário e senha para realizar publicações.

Esse passo elimina uma das vulnerabilidades mais exploradas por atacantes: o sequestro de contas sem proteção adicional. O 2FA garante que, mesmo que uma senha vaze, o acesso não poderá ser utilizado sem a segunda camada de autenticação.

Tokens de acesso granulares e com vida útil curta

Os tradicionais tokens de acesso ilimitados estão sendo substituídos por tokens granulares com permissões específicas (como publicar, ler ou gerenciar pacotes). Além disso, esses tokens terão validade máxima de sete dias.

Essa abordagem limita drasticamente o potencial de dano em caso de vazamento, já que o invasor teria pouco tempo para explorar a credencial comprometida.

O incentivo à publicação confiável (trusted publishing)

O GitHub também está estimulando a adoção do modelo de trusted publishing. Nesse sistema, a autenticação e a publicação são integradas diretamente às plataformas de CI/CD confiáveis, sem a necessidade de armazenar segredos de longa duração em arquivos de configuração.

O modelo reduz o risco de vazamento de tokens em pipelines automatizados e é considerado o método mais seguro de publicação hoje disponível.

O fim dos tokens clássicos e do 2FA via TOTP

O GitHub iniciará a descontinuação gradual dos tokens clássicos e também do 2FA via TOTP (códigos temporários gerados por aplicativos). A ideia é migrar para padrões mais modernos, como autenticação baseada em FIDO/WebAuthn, que oferecem maior resistência contra phishing e ataques de simulação.

Por que essas mudanças são necessárias agora?

A decisão do GitHub não aconteceu por acaso. Nos últimos dois anos, ataques direcionados ao ecossistema npm se multiplicaram. Criminosos digitais comprometeram contas sem 2FA e publicaram versões maliciosas de pacotes populares, que foram rapidamente baixados por milhares de desenvolvedores antes de serem removidos.

Esses incidentes revelaram como uma simples credencial comprometida pode escalar para um ataque massivo à cadeia de suprimentos, atingindo empresas, produtos e usuários finais.

Ao implementar políticas rígidas de autenticação e controle de tokens, o GitHub busca neutralizar as técnicas exploradas nesses ataques recentes e evitar que cenários semelhantes se repitam.

O impacto prático para os desenvolvedores

As novas regras terão impacto direto no fluxo de trabalho de quem publica pacotes no npm. Veja o que muda na prática e como se preparar:

Configuração do 2FA

  • Habilite a autenticação de dois fatores em sua conta do GitHub.
  • Prefira métodos baseados em FIDO/WebAuthn, como chaves de segurança físicas (YubiKey) ou biometria.
  • Teste o processo de login e publicação para garantir que não haverá bloqueios inesperados.

Adaptação dos scripts de automação

  • Substitua tokens antigos por tokens granulares com permissões específicas.
  • Atualize pipelines de CI/CD para trabalhar com tokens de vida curta.
  • Considere migrar para o modelo de trusted publishing, eliminando o armazenamento manual de credenciais.

Checklist de preparação

  1. Ative o 2FA na sua conta.
  2. Gere novos tokens granulares e revise permissões.
  3. Atualize seus pipelines e scripts.
  4. Teste o processo de publicação antes que os antigos tokens sejam desativados.
  5. Avalie a adoção do trusted publishing para maior segurança.

Conclusão: um passo necessário para um ecossistema mais seguro

As novas políticas de segurança npm anunciadas pelo GitHub representam um marco importante. Embora causem algum atrito inicial, especialmente em equipes que dependem de processos automatizados, essas mudanças são fundamentais para proteger o ecossistema contra ataques cada vez mais sofisticados.

Vale lembrar que esse movimento segue uma tendência da indústria, já adotada por outros ecossistemas como o RubyGems, que também implementou medidas mais rígidas para proteger seus pacotes.

O recado é claro: não espere a aplicação forçada das regras. Revise agora mesmo as configurações de segurança da sua conta no GitHub e npm, habilite a autenticação de dois fatores e comece a planejar a migração dos seus tokens de publicação.

Essa é a melhor forma de garantir que seus projetos continuem seguros e de contribuir para um ecossistema mais confiável e resiliente.

Compartilhe este artigo