Hack Alerta

36 pacotes npm maliciosos comprometem Strapi com RCE e malware persistente

Ataque à cadeia de suprimentos compromete 36 pacotes npm do Strapi com RCE e malware persistente, visando plataforma de criptomoedas.

Um ataque coordenado à cadeia de suprimentos foi descoberto, visando desenvolvedores que criam aplicativos no Strapi, um sistema de gerenciamento de conteúdo de código aberto amplamente utilizado. Trinta e seis pacotes npm maliciosos disfarçados de plugins legítimos do Strapi foram publicados no registro npm, carregando payloads projetados para explorar o Redis para execução remota de código (RCE), roubar credenciais e estabelecer acesso persistente de comando e controle em servidores de vítimas.

Descoberta e escopo do ataque

Analistas da SafeDep identificaram e documentaram a campanha em 3 de abril de 2026, após seu pipeline de análise dinâmica sinalizar strapi-plugin-events por realizar uma busca de segredos em todo o sistema de arquivos e registrar vinte e quatro conexões de saída para o servidor C2 do atacante em 144[.]31[.]107[.]231. Os pacotes foram distribuídos em quatro contas npm falsas — umarbek1233, kekylf12, tikeqemif26 e umar_bektembiev1 — todas acreditadas por serem operadas por um único ator de ameaça.

Cada pacote seguia uma estrutura de três arquivos idêntica e usava o número de versão 3.6.8 para parecer um plugin comunitário legítimo do Strapi. O código malicioso era executado automaticamente durante o npm install através de um script postinstall, sem exigir interação adicional do desenvolvedor.

Evolução dos payloads e vetor de ataque

A campanha carregava oito variantes de payload distintas, cada uma evoluindo ao longo de uma janela de treze horas — um sinal claro de que o atacante estava desenvolvendo e testando ativamente suas ferramentas contra um alvo vivo. As variantes variavam desde execução remota de código no Redis e escape de contêiner Docker nos pacotes mais antigos, até coleta de credenciais e exploração direta do banco de dados PostgreSQL nas versões posteriores.

A sexta variante, strapi-plugin-seed, conectava-se ao banco de dados PostgreSQL da vítima usando credenciais codificadas e sondava bancos de dados nomeados guardarian, guardarian_payments, exchange e custody. Referências a uma plataforma de pagamento de criptomoedas chamada "Guardarian" apareceram em múltiplos payloads desde o início, confirmando que esta era uma operação de roubo financeiro direcionada.

Implante persistente e execução sem arquivo

As duas variantes finais, ambas publicadas sob o nome de pacote strapi-plugin-api, representaram a fase mais avançada da campanha. A sétima variante, versão 3.6.8, só era ativada se o hostname do host correspondesse exatamente a prod-strapi, confirmando que o atacante já havia identificado o ambiente de produção da vítima.

Uma vez acionado, ele escrevia um agente C2 oculto chamado .node_gc.js no diretório /tmp/, iniciava-o como um processo em segundo plano desanexado e instalava uma entrada de crontab para reiniciá-lo a cada minuto se fosse encerrado. A oitava variante, versão 3.6.9, ia além ao remover a necessidade de qualquer arquivo em disco. Todo o agente C2 era passado como uma string inline para um processo node -e desanexado, deixando nenhum rastro de sistema de arquivos para ferramentas de detecção encontrarem.

Medidas de mitigação recomendadas

Organizações que usam Strapi devem auditar imediatamente os pacotes npm instalados e remover qualquer um que corresponda aos nomes maliciosos nos indicadores de comprometimento. Todas as credenciais em hosts afetados — senhas de banco de dados, chaves de API, segredos JWT e chaves privadas — devem ser rotacionadas sem demora. O administrador deve remover /tmp/.node_gc.js, /tmp/vps_shell.sh e qualquer webshell PHP do diretório de uploads.

Além disso, é necessário auditar entradas de crontab para referências node_gc ou curl e matar qualquer processo conectando-se a 144[.]31[.]107[.]231. Tokens de conta de serviço do Kubernetes expostos devem ser revogados imediatamente. A implementação de ferramentas de segurança de cadeia de suprimentos de software (SCA) é crucial para prevenir a instalação de pacotes maliciosos.

Perguntas frequentes

  • Qual o objetivo do ataque? Roubo de credenciais financeiras e acesso persistente a plataformas de pagamento de criptomoedas.
  • Como os pacotes foram detectados? Análise dinâmica da SafeDep identificou conexões de saída para C2 e busca de segredos.
  • Como prevenir? Audite dependências npm, use ferramentas SCA e monitore tráfego de rede incomum.

Baseado em publicação original de Cyber Security News
Publicado pela Redação Hack Alerta com base em fontes externas citadas e monitoramento editorial do Hack Alerta. Para decisões técnicas, operacionais ou jurídicas, confirme sempre os detalhes na fonte original.