Revogação de tokens clássicos não elimina risco de publish comprometido
- Cyber Security Brazil
- há 24 minutos
- 2 min de leitura

Após o incidente conhecido como Sha1-Hulud, o npm anunciou, em dezembro de 2025, uma reformulação significativa em seu modelo de autenticação com o objetivo de reduzir ataques à cadeia de suprimentos. A principal mudança foi a revogação dos chamados “tokens clássicos” credenciais de longa duração e amplo escopo que, se comprometidas, permitiam a publicação de versões maliciosas de pacotes sem necessidade de validação pública do código-fonte.
A partir da atualização, o npm passou a adotar tokens de sessão de curta duração (em média duas horas), obtidos via npm login, com autenticação multifator (MFA) ativada por padrão para publicação. Além disso, a plataforma passou a incentivar o uso de OIDC Trusted Publishing, modelo em que sistemas de integração contínua (CI) obtêm credenciais temporárias por execução, evitando o armazenamento permanente de segredos.

Dois pontos críticos ainda preocupam
Apesar do avanço, especialistas alertam que a medida não elimina totalmente o risco de ataques à cadeia de suprimentos.
O primeiro problema envolve phishing direcionado ao console do npm. No caso do ataque ao pacote ChalkJS, por exemplo, o mantenedor foi vítima de um golpe que capturou tanto a senha quanto o código MFA. Mesmo com tokens de curta duração, um invasor teria tempo suficiente poucos minutos para publicar versões comprometidas.
O segundo ponto é que o uso de MFA obrigatório para publicação ainda é opcional em determinados cenários. Desenvolvedores podem gerar tokens com validade de até 90 dias com bypass de MFA ativado, criando um cenário semelhante ao modelo anterior de tokens permanentes.
Caso um invasor obtenha acesso ao console do mantenedor com esse tipo de token habilitado, poderá publicar pacotes maliciosos em nome do autor exatamente o risco que a atualização tentou mitigar.
Recomendações para fortalecer a segurança
Entre as sugestões apresentadas para aprimorar a segurança do ecossistema Node.js estão:
Tornar o OIDC o padrão obrigatório no longo prazo;
Exigir MFA também para uploads locais de pacotes, eliminando tokens com bypass;
Adicionar metadados públicos nas releases para indicar práticas de segurança adotadas pelos mantenedores.
Especialistas defendem que credenciais curtas e vinculadas à identidade do desenvolvedor são fundamentais para reduzir a superfície de ataque.
Uma abordagem adicional sugerida é reconstruir pacotes a partir de código-fonte verificável, em vez de confiar diretamente nos artefatos publicados no npm.
De acordo com análise pública de pacotes comprometidos, 98,5% dos casos de malware estavam presentes apenas no artefato publicado não no repositório original. Isso significa que reconstruir a partir do código upstream reduziria drasticamente a exposição a versões maliciosas.
A proposta segue o chamado “modelo do queijo suíço” de segurança: múltiplas camadas de proteção que, combinadas, reduzem significativamente o risco.


