Pesquisar

Gluestack sob ataque: campanha de malware compromete 960 mil downloads semanais no NPM

A segurança da cadeia de suprimentos digital voltou a ser destaque no cenário global de cibersegurança após a descoberta de uma campanha massiva que comprometeu 16 pacotes do ecossistema Gluestack no NPM, somando mais de 960 mil downloads semanais. A Dolutech acompanha atentamente o incidente e traz neste artigo uma análise completa da ameaça, seus impactos e as lições que desenvolvedores e empresas precisam aprender para fortalecer suas rotinas de proteção.

Depositphotos 40232745 S
Node.JS

O que aconteceu?

Em 6 de junho de 2025, pesquisadores da Aikido Security detectaram uma atividade maliciosa no pacote react-native-aria/focus, parte do conjunto de bibliotecas mantido pelo projeto Gluestack. Em questão de horas, 16 pacotes diferentes foram atualizados com código malicioso, afetando diretamente projetos que utilizam bibliotecas para interfaces em React Native.

Entre os pacotes comprometidos estão:

PacoteVersãoDownloads Semanais
react-native-aria/button0.2.1151.000
react-native-aria/checkbox0.2.1181.000
react-native-aria/focus0.2.10100.000
react-native-aria/interactions0.2.17125.000
react-native-aria/utils0.2.13120.000
gluestack-ui/utils0.1.1755.000

Os pacotes pertencem ao ecossistema react-native-aria, amplamente utilizado por desenvolvedores em aplicações móveis e interfaces acessíveis.

Análise do Código Malicioso

O código malicioso foi inserido de forma ofuscada no final do arquivo lib/index.js, escondido entre dezenas de espaços para dificultar a identificação por ferramentas automáticas ou inspeções visuais rápidas na interface web do NPM.

O que o malware faz?

O código injetado funciona como um Trojan de Acesso Remoto (RAT), com capacidade de:

  • Estabelecer conexão com um servidor C2 (Command and Control).
  • Executar comandos shell arbitrários.
  • Realizar upload de arquivos do sistema comprometido.
  • Navegar em diretórios locais.
  • Substituir variáveis de ambiente do Windows para sequestrar comandos do Python (PATH hijacking).
  • Exfiltrar dados sensíveis.

Comandos identificados:

  • cd – altera diretório.
  • ss_dir – redefine caminho do script.
  • ss_fcd:<path> – força alteração de diretório.
  • ss_upf:F,D – envia arquivo.
  • ss_upd:d,dest – envia diretório completo.
  • ss_stop – interrompe processos.
  • Qualquer outro comando é interpretado como shell via child_process.exec().

Riscos Reais de um Ataque à Cadeia de Suprimentos

Um ataque deste tipo é particularmente perigoso por três razões:

  1. Confiança Implícita: Desenvolvedores confiam que os pacotes NPM sejam legítimos e seguros.
  2. Propagação Rápida: Qualquer build automatizado que utilize os pacotes comprometidos pode estar propagando o trojan sem saber.
  3. Impacto Amplificado: Com quase 1 milhão de downloads semanais, as chances de que o código tenha sido executado em ambientes de produção são reais e preocupantes.

A Gluestack se pronunciou?

Até o momento da publicação deste artigo, nenhuma resposta oficial da Gluestack foi divulgada, mesmo após notificações feitas publicamente no GitHub dos projetos. A ausência de posicionamento imediato revela uma lacuna grave em resposta a incidentes, justamente o tipo de falha que um ataque à cadeia de suprimentos visa explorar.

Ações Tomadas

A Aikido Security notificou o NPM imediatamente, que iniciou o processo de verificação e remoção dos pacotes. Contudo, como sabemos, o processo de verificação no repositório pode levar vários dias, deixando a janela de exploração ainda aberta para quem não monitora constantemente as dependências de seus projetos.

O ataque foi atribuído ao mesmo grupo que recentemente comprometeu os pacotes:

  • biatec-avm-gas-station
  • cputil-node
  • lfwfinance/sdk
  • lfwfinance/sdk-dev

Lições e Recomendações

1. Monitore dependências ativamente

Utilize ferramentas como:

2. Configure repositórios privados e auditáveis

Evite depender exclusivamente do NPM público em pipelines críticos. Repositórios internos com revisão manual de bibliotecas são uma barreira extra.

3. Use package-lock.json

Essa prática impede que versões atualizadas automaticamente incluam alterações indesejadas.

4. Valide versões antes de atualizar

Verifique commits e alterações de pacotes ao atualizar bibliotecas. Ferramentas como npm diff ajudam.

5. Implemente políticas de segurança para builds

Pipeline seguro deve ter:

  • Verificação de hashes.
  • Isolamento de ambientes de build.
  • Monitoramento de tráfego e alertas comportamentais.

Conclusão

O incidente envolvendo o Gluestack é mais um alerta severo sobre os perigos ocultos na cadeia de suprimentos de software. A confiança cega em pacotes públicos, mesmo os populares, pode ser uma porta de entrada para compromissos graves, exfiltração de dados e espionagem corporativa.

A Dolutech recomenda atenção máxima a todas as dependências utilizadas em projetos, especialmente em ambientes de produção, além da implementação de políticas de DevSecOps robustas. Atualize seus pacotes imediatamente, monitore comportamentos anômalos e revise qualquer build feito a partir de 6 de junho com os pacotes listados neste artigo.

A cibersegurança não é mais uma camada: é o alicerce do desenvolvimento moderno.

Conheça nosso Canal do Youtube
Escute Nosso DoluCast
Melhores da Semana