sampanews.com
  • Cidades
  • Mundo
  • Política
  • Negócios
  • Esporte
  • Saúde
  • Cultura
  • Tecnologia
  • Auto

O que você está procurando?

Auto Cidades Cultura Economia Esporte Mundo Negócios

Recente

Carlos Fávaro e Paulo Teixeira deixam ministérios para disputarem eleição
31 de março de 2026
Caoa Chery Tiggo 5X 2027 tem fila de espera de até 120 dias e não para nas lojas
31 de março de 2026
Tablet Lenovo Edição Limitada de Copa do Mundo com 23% OFF
31 de março de 2026
Fachin defende aprovação de código de ética neste ano
31 de março de 2026
terça-feira, março 31, 2026
Top Posts
Carlos Fávaro e Paulo Teixeira deixam ministérios para...
Caoa Chery Tiggo 5X 2027 tem fila de...
Tablet Lenovo Edição Limitada de Copa do Mundo...
Fachin defende aprovação de código de ética neste...
OpenAI é avaliada em US$ 852 bilhões após...
Mapa interativo de Crimson Desert mostra localização de...
Justiça barra, por ora, plano de Trump para...
Fachin diz que Moraes sinaliza possível encerramento do...
WhatsApp finalmente vai ter um app dedicado para...
Bombardeiros B-52 dos EUA começaram a voar em...
sampanews.com
Banner
  • Cidades
  • Mundo
  • Política
  • Negócios
  • Esporte
  • Saúde
  • Cultura
  • Tecnologia
  • Auto

O que você está procurando?

Auto Cidades Cultura Economia Esporte Mundo Negócios

Recente

Carlos Fávaro e Paulo Teixeira deixam ministérios para disputarem eleição
31 de março de 2026
Caoa Chery Tiggo 5X 2027 tem fila de espera de até 120 dias e não para nas lojas
31 de março de 2026
Tablet Lenovo Edição Limitada de Copa do Mundo com 23% OFF
31 de março de 2026
Fachin defende aprovação de código de ética neste ano
31 de março de 2026
sampanews.com

O que você está procurando?

Auto Cidades Cultura Economia Esporte Mundo Negócios

Recente

Carlos Fávaro e Paulo Teixeira deixam ministérios para disputarem eleição
31 de março de 2026
Caoa Chery Tiggo 5X 2027 tem fila de espera de até 120 dias e não para nas lojas
31 de março de 2026
Tablet Lenovo Edição Limitada de Copa do Mundo com 23% OFF
31 de março de 2026
Fachin defende aprovação de código de ética neste ano
31 de março de 2026
sampanews.com
  • Cidades
  • Mundo
  • Política
  • Negócios
  • Esporte
  • Saúde
  • Cultura
  • Tecnologia
  • Auto
Copyright 2026 - Todos os Direitos Reservados

Biblioteca JavaScript é infectada com vírus e afeta milhões de usuários

por SampaNews 31 de março de 2026
31 de março de 2026
2

Na madrugada de ontem, duas versões do Aaxios chegaram ao npm carregando um trojan de acesso remoto multiplataforma. As versões afetadas ficaram no ar por aproximadamente três horas antes de serem removidas pelo npm.

Tempo suficiente, dado o volume de downloads, para infectar um número potencialmente grande de máquinas de desenvolvedores e pipelines de CI/CD. O TecMundo entrou em contato com a npm mas não obteve resposta até a publicação da reportagem.

smart_display

Nossos vídeos em destaque

O axios é uma biblioteca JavaScript usada para fazer requisições HTTP. Basicamente, é o que permite que aplicações web e mobile se comuniquem com servidores e APIs. Com cerca de 100 milhões de downloads semanais, é uma das dependências mais onipresentes de todo o ecossistema JavaScript.

O vetor de entrada

O ponto de partida foi o comprometimento da conta npm de jasonsaayman, o mantenedor principal do projeto. Os atacantes trocaram o e-mail registrado da conta por ifstap@proton.me, um endereço ProtonMail sob controle deles.

Painel da StepSecurity registra duas conexões anômalas ao domínio sfrclak.com feitas por curl e python3.12 durante a instalação do axios em um ambiente de teste instrumentado. Imagem: StepSecurity.

Com isso, obtiveram acesso a um token de acesso npm de longa duração vinculado à conta. Foi com esse token que publicaram os pacotes maliciosos diretamente via linha de comando, completamente fora do pipeline oficial do projeto.

Esse detalhe revela uma falha de processo. O axios usa o GitHub Actions com o mecanismo OIDC Trusted Publisher do npm para publicar releases legítimas. Esse mecanismo gera um token efêmero e criptograficamente vinculado a um workflow específico do GitHub.

Ele não pode ser roubado porque expira em minutos, mas aparentemente a conta ainda tinha um token clássico de longa duração ativo em paralelo. E foi esse token que os atacantes usaram.

npm-vulnerabilidade2.png
Ferramenta de análise automática atribuiu nota 2.0 de 10 ao pacote e identificou seis indicadores suspeitos, entre eles a dependência não utilizada, a ausência de entrada no changelog e o abandono da atestação de proveniência. Imagem: StepSecurity.

A prova está nos metadados do próprio npm. Toda release legítima do axios 1.x tem um campo trustedPublisher com ID de workflow do GitHub. A versão maliciosa 1.14.1 não tem nada disso, foi publicada manualmente por jasonsaayman com e-mail ifstap@proton.me.

Além disso, não existe nenhum commit ou tag correspondente no repositório GitHub do axios. O pacote existe só no npm.

2 branches comprometidos em 39 minutos 

Às 00h21 (UTC), axios@1.14.1 chegou ao npm sob a tag latest, que é a versão que qualquer instalação sem número específico vai buscar por padrão. Às 01h00 (UTC), axios@0.30.4 seguiu sob a tag legacy, cobrindo quem ainda usa a linha mais antiga da biblioteca.

npm-vulnerabilidade.png
Verificação automatizada da StepSecurity bloqueou um pull request de demonstração que tentava introduzir axios@1.14.1 em um repositório, sinalizando o pacote como comprometido antes que a mudança fosse mesclada. Imagem: StepSecurity.

Os dois branches ativos do projeto foram envenenados em menos de 40 minutos, maximizando o número de projetos expostos. As versões maliciosas ficaram no ar por aproximadamente 2h53min e 2h15min antes de o npm removê-las.

Zero linhas de código malicioso no axios

Os atacantes não modificaram o código-fonte do axios. Uma comparação entre 1.14.0, a versão limpa, e 1.14.1, a maliciosa, mostra que exatamente um arquivo mudou. Todos os outros 85 arquivos da biblioteca são bit a bit idênticos entre as duas versões.

O arquivo alterado foi o package.json, que é o manifesto de um pacote npm. É nele que ficam registradas as informações do projeto e a lista de dependências que ele precisa para funcionar. A única mudança funcional foi a adição de plain-crypto-js@^4.2.1 nessa lista.

npm-vulnerabilidade 3.png
Alerta publicado pela StepSecurity classifica o incidente como crítico e lista as versões comprometidas do axios e as versões seguras para cada branch da biblioteca. Imagem: StepSecurity.

Uma varredura em todos os arquivos do axios confirma que essa dependência não é usada em nenhum lugar do código da biblioteca. Ela não tem função nenhuma no axios.

Está ali exclusivamente para acionar o mecanismo de infecção. Isso porque quando o npm instala um pacote, ele também instala automaticamente tudo que está na lista de dependências desse pacote. Não é necessária nenhuma confirmação adicional do usuário.

O pacote isca e 18 horas de preparação

O plain-crypto-js foi criado pelo atacante sob a conta nrwise@proton.me. Para não levantar suspeitas, o pacote foi construído como uma cópia quase perfeita do crypto-js, uma biblioteca criptográfica legítima bastante usada.

codigo-programação-fluxo-inteligência-artificial
Ataques de cadeia de suprimentos exploram a confiança que desenvolvedores depositam em dependências amplamente usadas.

Os 56 arquivos de código-fonte são idênticos aos do original, a descrição é a mesma. O link do repositório aponta para o projeto real, e o nome do autor verdadeiro foi usado de forma fraudulenta.

A versão 4.2.0 foi publicada 18 horas antes do ataque, sem nenhum payload malicioso. O objetivo era fazer a conta nrwise parecer um mantenedor legítimo com histórico de publicação. O intuito era evitar alertas automáticos que monitoram o npm em busca de pacotes recém-criados.

A versão armada, 4.2.1, chegou às 23h59 UTC do dia 30 com três adições. O package.json ganhou uma instrução para rodar automaticamente um script chamado setup.js durante a instalação do pacote.

computador
O malware instalado na máquina persiste de forma independente, desvinculado de toda a árvore de processos do npm.

O setup.js em si foi incluído com o código do dropper ofuscado. E um arquivo chamado package.md foi adicionado com um manifesto limpo pré-preparado, para ser usado na limpeza de evidências depois da execução.

O dropper detecta o sistema e age diferente

O setup.js esconde seu conteúdo real usando duas camadas de codificação, dificultando que ferramentas automáticas de análise identifiquem o que ele faz sem executá-lo. Quando roda, o script identifica o sistema operacional da máquina e executa um caminho diferente para cada plataforma.

No macOS, o script escreve um arquivo temporário e usa uma ferramenta nativa do sistema para executá-lo. Esse arquivo baixa o malware do servidor dos atacantes e o salva em uma pasta do sistema com um nome que imita processos legítimos do macOS, tornando-o difícil de identificar em uma inspeção visual da máquina.

ilustracao-de-caveira-pirata-na-tela-do-notebook
Após a execução do dropper, nenhum aviso é exibido ao desenvolvedor; a instalação termina com aparência de sucesso.

No Windows, o script localiza o PowerShell, o ambiente de linha de comando da Microsoft, e cria uma cópia dele com um nome diferente em uma pasta do sistema. Essa cópia persiste mesmo que o pacote malicioso seja desinstalado depois.

Em seguida, um script auxiliar busca o payload do servidor dos atacantes e o executa em uma janela completamente oculta.

No Linux, e em qualquer sistema que não seja macOS nem Windows, o script usa o curl, uma ferramenta de linha de comando presente na maioria dos sistemas Unix, para baixar um script Python do servidor dos atacantes e executá-lo em background.

brasil-lidera-ranking-de-ataques-contra-sistemas-linux-na-america-latina-banner.png
O mecanismo de autolimpeza do malware falsificava o número de versão instalada, dificultando a identificação do pacote malicioso em inspeções manuais.

Em todos os casos, se qualquer etapa falhar por qualquer motivo, o erro é ignorado completamente e a instalação do npm termina com sucesso aparente. O desenvolvedor não vê nenhum aviso.

Malware apaga as próprias evidências

Após lançar o payload, o setup.js apaga a si mesmo, apaga o package.json malicioso e substitui esse arquivo pelo stub limpo que foi pré-preparado no package.md.

Esse stub reporta versão 4.2.0, não 4.2.1. Após a infecção, quem rodar o comando para listar os pacotes instalados vai ver plain-crypto-js@4.2.0. Isso porque o npm lê o número de versão do arquivo que está na pasta do pacote, e esse arquivo agora diz 4.2.0.

tela-com-linhas-de-codigo
A ausência de alertas visíveis durante a instalação torna difícil determinar, sem análise técnica, se um ambiente foi comprometido.

Um investigador buscando especificamente pela versão 4.2.1, que é a que consta nos alertas de segurança, veria um número diferente e poderia concluir que o sistema estava limpo.

O único indicador confiável que sobra é a existência da pasta node_modules/plain-crypto-js/ no projeto. Esse pacote nunca foi dependência de nenhuma versão legítima do axios.

C2 contatado em menos de dois segundos

A StepSecurity, empresa de segurança que detectou o ataque, instalou axios@1.14.1 em um ambiente instrumentado. O teste era capaz de registrar todas as conexões de rede, processos e escrita de arquivos durante a execução, para confirmar o comportamento real do malware.

malware-anydesk.jpg
Pesquisadores recomendam a rotação imediata de todas as credenciais acessíveis no momento em que as versões maliciosas foram instaladas.

O resultado foi que 1,1 segundo após o início da instalação, o dropper já estava fazendo uma conexão ao servidor dos atacantes em sfrclak.com, na porta 8000. A conexão foi estabelecida antes mesmo de o npm ter terminado de resolver todas as dependências do pacote.

Trinta e seis segundos depois, em uma etapa diferente do workflow, uma segunda conexão ao mesmo servidor foi registrada. Era o payload de segunda etapa já rodando de forma completamente independente, desvinculado de toda a árvore de processos do npm. O malware havia persistido além da etapa que o instalou.

Planejamento avançado sem atribuição pública

Até o momento desta publicação, nenhuma atribuição foi feita. O npm e autoridades policiais estão investigando.

hacker-mexendo-em-computadores
Pipelines de integração contínua estão entre os ambientes mais expostos, pois executam instalações de dependências de forma automatizada e frequente

O nível de planejamento documentado inclui staging de 18 horas para burlar detecção automática, infraestrutura pronta para três sistemas operacionais antes do disparo. Além de comprometimento simultâneo dos dois branches da biblioteca, mecanismo de autolimpeza com deception ativa de versão e persistência específica no Windows que sobrevive a desinstalações.

A StepSecurity classifica o ataque como um dos mais sofisticados já documentados contra um pacote top-10 do npm.

O que fazer se você instalou as versões afetadas

O primeiro passo é buscar por axios@1.14.1, axios@0.30.4 ou plain-crypto-js@4.2.1 nos arquivos de lockfile do projeto. Esses arquivos registram exatamente quais versões foram instaladas em cada momento e costumam ter nomes como package-lock.json, pnpm-lock.yaml ou yarn.lock.

sistema-hackeado.png
O npm processa centenas de milhões de instalações por semana, tornando pacotes populares alvos de alto valor para agentes maliciosos.

Se qualquer uma dessas strings aparecer, o ambiente que instalou as dependências foi exposto.

Para sistemas potencialmente comprometidos, os arquivos a buscar são /Library/Caches/com.apple.act.mond no macOS, wt.exe dentro da pasta ProgramData no Windows e /tmp/ld.py no Linux.Conexões ou resoluções de DNS para sfrclak.com ou o IP 142.11.206.73 nos logs de rede desde 30 de março também são indicadores de comprometimento.

Se qualquer um desses artefatos for encontrado, a orientação dos pesquisadores é reconstruir a máquina a partir de um estado limpo e rotacionar imediatamente todas as credenciais acessíveis no momento da instalação.Isso inclui tokens npm, chaves de cloud, secrets de CI/CD, chaves SSH e qualquer valor presente em arquivos de configuração de ambiente.

Para quem não foi afetado, a mitigação imediata é fixar o axios em 1.14.0 ou 0.30.3 e adicionar o flag –ignore-scripts em pipelines de CI/CD, desativando a execução automática de scripts durante instalações.

Acompanhe o TecMundo nas redes sociais. Inscreva-se em nossa newsletter e canal do YouTube para receber mais notícias de tecnologia e segurança.

autor de origem

Compartilhar 0 FacebookTwitterLinkedinWhatsapp
postagem anterior
Setec começa hoje reuniões com 52 bancas que serão retiradas de praças do Centro
próxima postagem
Por que a Nasa quer voltar à Lua agora — e o que move a tripulação da Artemis II

Você também pode gostar

Tablet Lenovo Edição Limitada de Copa do Mundo...

31 de março de 2026

Mapa interativo de Crimson Desert mostra localização de...

31 de março de 2026

WhatsApp finalmente vai ter um app dedicado para...

31 de março de 2026

TikTok busca autorização para ser fintech de empréstimos...

31 de março de 2026

POSTS MAIS RECENTES

  • Carlos Fávaro e Paulo Teixeira deixam ministérios para disputarem eleição
  • Caoa Chery Tiggo 5X 2027 tem fila de espera de até 120 dias e não para nas lojas
  • Tablet Lenovo Edição Limitada de Copa do Mundo com 23% OFF
  • Fachin defende aprovação de código de ética neste ano
  • OpenAI é avaliada em US$ 852 bilhões após concluir rodada de US$ 122 bilhões

Siga-nos

  • Recente
  • Popular
  • Carlos Fávaro e Paulo Teixeira deixam ministérios para disputarem eleição

    31 de março de 2026
  • Caoa Chery Tiggo 5X 2027 tem fila de espera de até 120 dias e não para nas lojas

    31 de março de 2026
  • Tablet Lenovo Edição Limitada de Copa do Mundo com 23% OFF

    31 de março de 2026
  • Fachin defende aprovação de código de ética neste ano

    31 de março de 2026
  • 1

    IPVA mais caro do Brasil custa R$ 1 milhão; veja o carro mais caro de cada estado

    20 de janeiro de 2026
  • 2

    Assessor ⁠da Casa Branca diz que novo chair do Fed deve ser “uma pessoa independente”

    22 de janeiro de 2026
  • 3

    O que contratar alguém que passou 20 anos na prisão ensina sobre lealdade no trabalho

    18 de janeiro de 2026
  • 4

    CEO da Amazon diz que tarifas de Trump começam a aparecer nos preços de produtos

    20 de janeiro de 2026

Postagens em destaque

Mapa interativo de Crimson Desert mostra localização de...

31 de março de 2026

Justiça barra, por ora, plano de Trump para...

31 de março de 2026

Fachin diz que Moraes sinaliza possível encerramento do...

31 de março de 2026

WhatsApp finalmente vai ter um app dedicado para...

31 de março de 2026

Bombardeiros B-52 dos EUA começaram a voar em...

31 de março de 2026

Leitura obrigatória

  • Carlos Fávaro e Paulo Teixeira deixam ministérios para disputarem eleição

    31 de março de 2026
  • Caoa Chery Tiggo 5X 2027 tem fila de espera de até 120 dias e não para nas lojas

    31 de março de 2026
  • Tablet Lenovo Edição Limitada de Copa do Mundo com 23% OFF

    31 de março de 2026
  • Fachin defende aprovação de código de ética neste ano

    31 de março de 2026
  • OpenAI é avaliada em US$ 852 bilhões após concluir rodada de US$ 122 bilhões

    31 de março de 2026

Newsletter

Posts relacionados

  • Tablet Lenovo Edição Limitada de Copa do Mundo com 23% OFF

    31 de março de 2026
  • Mapa interativo de Crimson Desert mostra localização de todos os itens coletáveis! Veja como usar

    31 de março de 2026
  • WhatsApp finalmente vai ter um app dedicado para uso no CarPlay

    31 de março de 2026
  • TikTok busca autorização para ser fintech de empréstimos e pagamentos no Brasil

    31 de março de 2026
  • Netflix é atacada por fãs de JoJo por causa do segundo episódio de Steel Ball Run

    31 de março de 2026

Mais vistas da semana

China abre duas investigações sobre práticas comerciais dos EUA
27 de março de 2026
Renault Duster 2026 tem redução de até R$ 10 mil; veja novos preços
27 de março de 2026
Trump quer fim rápido da guerra com o Irã nas próximas semanas, diz WSJ
26 de março de 2026

Postagens Aleatórias

Quer adotar um pet? Centro de Convivência terá feira de adoção neste domingo
8 de março de 2026
Influenciador é detido por ‘rachas’ e dirigir a 200 km/h em rodovias; nove carros são apreendidos
20 de março de 2026
Tupy e Vamos firmam acordo para frota a gás e biometano em coleta de resíduos no RJ
30 de janeiro de 2026

Categorias Populares

  • Tecnologia (2.473)
  • Política (1.859)
  • Mundo (1.698)
  • Campinas (740)
  • Economia (673)
  • Negócios (629)
  • Auto (498)
  • Bragança Paulista (472)
  • Esporte (279)
  • Cultura (221)

Notícias de São Paulo e do mundo, em tempo real. Cobertura completa de política, economia, mercado, cidades e assuntos que importam — com contexto e credibilidade.

Facebook Twitter Instagram Linkedin Youtube

Copyright © 2026 SampaNews. Todos os Direitos Reservados.

  • Anuncie
  • Contato
  • Política de Privacidade
sampanews.com
  • Home