compromisso da cadeia de suprimentos do axios npm · Edição nº 10636 · axios/axios · GitHub

PUBLICIDADE

compromisso da cadeia de suprimentos do axios npm · Edição nº 10636 · axios/axios · GitHub

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/null

Se alguma coisa voltar, trate a máquina como comprometida:

  1. Fazer downgrade para axios@1.14.0 (ou 0.30.3 para usuários 0.x)
  2. Excluir node_modules/plain-crypto-js/
  3. Gire todos os segredos, tokens e credenciais dessa máquina
  4. Verifique seus registros de rede para conexões com sfrclak[.]com ou 142.11.206.73 na porta 8000
  5. 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çãoTipo
Redefinição de todos os dispositivos e credenciaisPrevenção
Configuração de versão imutávelPrevenção
Adoção adequada do fluxo OIDC para publicaçãoPrevenção
Melhoria da postura geral de segurançaPrevenção
Atualização de todas as ações do GitHub para adoção das melhores práticasPrevençã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.0 publicado no npm
  • 31 de março, 00:21 UTC: axios@1.14.1 publicado com plain-crypto-js@4.2.1 injetado
  • 31 de março, por volta da 01:00 UTC: axios@0.30.4 publicado 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-js removido 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

Mais recentes

PUBLICIDADE

WP Twitter Auto Publish Powered By : XYZScripts.com