Data: 31 de março de 2026
Autor: Jason Saayman
Status: Correção em andamento
Em 31 de março de 2026, duas versões maliciosas do axios (1.14.1 e 0.30.4) foram publicadas no registro npm por meio da minha conta comprometida. Ambas as versões injetaram uma dependência chamada plain-crypto-js@4.2.1 que instalou um trojan de acesso remoto no macOS, Windows e Linux.
As versões maliciosas permaneceram ativas por cerca de 3 horas antes de serem removidas.
Você foi afetado?
Verifique seu arquivo de bloqueio:
grep -E "axios@(1\.14\.1|0\.30\.4)|plain-crypto-js" package-lock.json yarn.lock 2>/dev/nullSe alguma coisa voltar, trate a máquina como comprometida:
- Fazer downgrade para
axios@1.14.0(ou0.30.3para usuários 0.x) - Excluir
node_modules/plain-crypto-js/ - Gire todos os segredos, tokens e credenciais dessa máquina
- Verifique seus registros de rede para conexões com
sfrclak[.]comou142.11.206.73na porta 8000 - Se isso aconteceu em um executor de CI, gire todos os segredos que foram injetados durante a compilação afetada
Se você já estava fixado em uma versão limpa e não executou uma nova instalação entre 00h21 e 03h15 UTC de 31 de março, tudo bem.
Para obter orientações detalhadas de correção, incluindo etapas específicas de CI/CD, consulte:
O que aconteceu
O invasor obteve acesso ao PC do principal mantenedor por meio de uma campanha direcionada de engenharia social e malware RAT. Isso lhes deu acesso às credenciais da conta npm, que usaram para publicar as versões maliciosas.
O ataque seguiu padrões documentados em campanhas semelhantes direcionadas a mantenedores de código aberto.
Resolução
Limpeza completa de todos os dispositivos mantenedores líderes, bem como redefinição de todas as credenciais. Isto inclui todas as contas, independentemente da plataforma, tanto pessoais como todas as outras capacidades.
O que está mudando
Para evitar que isso aconteça novamente, estas são as alterações que estão sendo feitas:
| Ação | Tipo |
|---|---|
| Redefinição de todos os dispositivos e credenciais | Prevenção |
| Configuração de versão imutável | Prevenção |
| Adoção adequada do fluxo OIDC para publicação | Prevenção |
| Melhoria da postura geral de segurança | Prevenção |
| Atualização de todas as ações do GitHub para adoção das melhores práticas | Prevenção |
Esta lista não é o fim. Continuaremos trabalhando ativamente para melhorar a segurança além desses itens.
Linha do tempo de ataque
Não tenho um cronograma exato de quando ocorreu o comprometimento inicial, mas esta é a sequência de eventos do pacote em si:
- Cerca de 2 semanas antes de 31 de março: campanha de engenharia social iniciada contra o mantenedor líder
- 30 de março, 05h57 UTC:
plain-crypto-js@4.2.0publicado no npm - 31 de março, 00:21 UTC:
axios@1.14.1publicado complain-crypto-js@4.2.1injetado - 31 de março, por volta da 01:00 UTC:
axios@0.30.4publicado com a mesma carga útil - 31 de março, por volta da 01h UTC: primeiras detecções externas
- 31 de março, por volta da 01h UTC: membros da comunidade registram problemas relatando o comprometimento. O invasor os exclui usando a conta comprometida.
- 31 de março, 01h38 UTC: DigitalBrainJS, colaborador da axios, abre PR chore(ci): adiciona ação obsoleta; #10591 para descontinuar as versões comprometidas, sinalizar os problemas excluídos para a comunidade e entrar em contato diretamente com o npm
- 31 de março, 03h15 UTC: versões maliciosas removidas do npm
- 31 de março, 03h29 UTC:
plain-crypto-jsremovido do npm
Para cronogramas técnicos detalhados:
Lições aprendidas
Estamos investigando ativamente como o acesso não autorizado foi obtido e revisando todos os aspectos da nossa postura de segurança e controles de acesso. Embora não tenhamos detalhes confirmados para compartilhar neste momento, este incidente reforça a necessidade de monitoramento contínuo, fortes proteções de conta e vigilância tanto na infraestrutura do projeto quanto nos ambientes de mantenedores individuais.
Continuaremos a fortalecer nossas práticas em alinhamento com as melhores práticas do setor e em colaboração com grupos como o OpenJS Security Working Group.
A postura de segurança deve ser continuamente monitorada e melhorada. Especificamente deste incidente:
- Publicar diretamente de uma conta pessoal era um risco que poderia ter sido evitado. O fluxo OIDC e a configuração de liberação imutável que estamos adotando agora deveriam estar em vigor antes que isso acontecesse.
- Não havia nenhuma maneira automatizada de detectar uma publicação não autorizada. A detecção dependia inteiramente da observação da comunidade.
- Mantenedores de código aberto com pacotes de alto impacto são alvos ativos de engenharia social sofisticada. A hipervigilância é necessária tanto no registro quanto a título pessoal.
Resumo para um público mais amplo
Podemos confirmar que duas versões comprometidas do Axios foram brevemente disponibilizadas através de um sistema de download de software amplamente utilizado devido ao acesso não autorizado à conta do mantenedor principal, e não a uma alteração no código subjacente.
Estamos trabalhando com as empresas que operam este sistema, juntamente com especialistas em segurança, para investigar e conter o problema. As organizações que instalaram essas versões devem removê-las imediatamente e tratar os sistemas afetados como potencialmente comprometidos, incluindo a rotação de quaisquer credenciais confidenciais.
Este foi o resultado de uma conta de um mantenedor líder comprometida e estamos investigando ativamente como o acesso foi obtido. Não temos detalhes confirmados para compartilhar neste momento.
Agradecimentos
Obrigado a @DigitalBrainJS por agir rapidamente quando a conta comprometida tinha permissões superiores às dele e por fazer com que o NPM agisse. Obrigado à Open Source Community e à equipe de segurança do npm por sua resposta rápida.
As versões maliciosas foram removidas do npm e não infectam mais os usuários. O incidente imediato está resolvido. Estamos trabalhando ativamente nas melhorias de segurança listadas acima para evitar que isso aconteça novamente.
Atualizarei isso à medida que a investigação avança. Perguntas bem-vindas neste tópico.
Fonte: theverge

