36 pacotes maliciosos do npm exploraram Redis e PostgreSQL para implantar malware persistente
6 de Abril de 2026

Pesquisadores de cibersegurança identificaram 36 pacotes maliciosos no repositório npm, disfarçados de plugins do Strapi CMS.

Na prática, eles trazem diferentes payloads voltados à exploração de Redis e PostgreSQL, ao deploy de reverse shells, à coleta de credenciais e à instalação de um implant persistente.

Segundo a SafeDep, cada pacote contém três arquivos, package.json, index.js e postinstall.js, não tem descrição, repositório nem homepage e usa a versão 3.6.8 para aparentar ser um plugin maduro da comunidade do Strapi v3.

Todos os pacotes seguem o mesmo padrão de nomenclatura, começando com "strapi-plugin-" e acrescentando termos como "cron", "database" ou "server" para enganar desenvolvedores desavisados.

Vale lembrar que os plugins oficiais do Strapi usam o escopo "@strapi/".

Os pacotes foram enviados por quatro contas sock puppet, "umarbek1233", "kekylf12", "tikeqemif26" e "umar_bektembiev1", ao longo de 13 horas.

Entre os nomes identificados estão:

strapi-plugin-cron
strapi-plugin-config
strapi-plugin-server
strapi-plugin-database
strapi-plugin-core
strapi-plugin-hooks
strapi-plugin-monitor
strapi-plugin-events
strapi-plugin-logger
strapi-plugin-health
strapi-plugin-sync
strapi-plugin-seed
strapi-plugin-locale
strapi-plugin-form
strapi-plugin-notify
strapi-plugin-api
strapi-plugin-sitemap-gen
strapi-plugin-nordica-tools
strapi-plugin-nordica-sync
strapi-plugin-nordica-cms
strapi-plugin-nordica-api
strapi-plugin-nordica-recon
strapi-plugin-nordica-stage
strapi-plugin-nordica-vhost
strapi-plugin-nordica-deep
strapi-plugin-nordica-lite
strapi-plugin-nordica
strapi-plugin-finseven
strapi-plugin-hextest
strapi-plugin-cms-tools
strapi-plugin-content-sync
strapi-plugin-debug-tools
strapi-plugin-health-check
strapi-plugin-guardarian-ext
strapi-plugin-advanced-uuid
strapi-plugin-blurhash

A análise mostra que o código malicioso está embutido no hook postinstall, executado automaticamente durante o comando "npm install" sem exigir interação do usuário.

Como roda com os mesmos privilégios de quem faz a instalação, o ataque pode abusar do acesso root em ambientes CI/CD e contêineres Docker.

A evolução dos payloads incluídos na campanha começou com a exploração de uma instância local do Redis para execução remota de código, por meio da inserção de uma entrada crontab que baixava e executava um script em shell a partir de um servidor remoto a cada minuto.

Esse script escrevia um web shell em PHP e um reverse shell em Node.js via SSH no diretório público de uploads do Strapi.

Ele também tentava varrer o disco em busca de segredos, como dados do Elasticsearch e seed phrases de carteiras de criptomoedas, além de exfiltrar um módulo da API da Guardarian.

Em seguida, o grupo combinou a exploração do Redis com escape de contêiner Docker para gravar payloads em shell no host, fora do contêiner.

O código também iniciava um reverse shell em Python na porta 4444 e gravava, via Redis, um gatilho de reverse shell no diretório node_modules da aplicação.

Outra variante implantava um reverse shell e um downloader em shell via Redis, executando depois o arquivo obtido.

Houve ainda uma versão voltada à varredura de variáveis de ambiente e strings de conexão do PostgreSQL.

O pacote de coleta de credenciais e reconhecimento foi ampliado para reunir dumps de ambiente, configurações do Strapi, extração do banco Redis com os comandos INFO, DBSIZE e KEYS, mapeamento da topologia de rede e coleta de segredos de Docker e Kubernetes, chaves criptográficas e arquivos de carteiras de criptomoedas.

Também foi observada exploração direta de PostgreSQL, com conexão ao banco de dados do alvo usando credenciais hard-coded e consulta a tabelas específicas do Strapi em busca de segredos.

O código ainda extraía padrões ligados a criptomoedas, como wallet, transaction, deposit, withdraw, hot, cold e balance, além de tentar se conectar a seis bancos da Guardarian.

Isso indica que o agente de ameaça já tinha acesso aos dados, obtidos em uma intrusão anterior ou por outro meio.

Outro payload instalava um implant persistente projetado para manter acesso remoto a um hostname específico, "prod-strapi".

Houve ainda uma etapa dedicada ao roubo de credenciais, com varredura de caminhos hard-coded e abertura de um reverse shell persistente.

"A sequência dos oito payloads mostra uma narrativa clara: o atacante começou de forma agressiva, com Redis RCE e escape de Docker, percebeu que essas abordagens não funcionavam, mudou para reconhecimento e coleta de dados, usou credenciais hard-coded para acesso direto ao banco e, por fim, passou a buscar persistência com roubo direcionado de credenciais", afirmou a SafeDep.

A natureza dos payloads, somada ao foco em ativos digitais e ao uso de credenciais hard-coded de banco e de um hostname específico, sugere que a campanha pode ter sido um ataque direcionado contra uma plataforma de criptomoedas.

Usuários que tenham instalado qualquer um dos pacotes citados devem considerar o ambiente comprometido e alterar todas as credenciais.

A descoberta coincide com outros ataques à supply chain identificados no ecossistema open source.

Uma conta do GitHub chamada "ezmtebo" submeteu mais de 256 pull requests em vários repositórios open source contendo um payload para exfiltração de credenciais.

Segundo a SafeDep, ele rouba segredos por meio de logs de CI e comentários de PR, injeta workflows temporários para despejar valores confidenciais, aplica labels automaticamente para burlar proteções de pull_request_target e executa um scanner em segundo plano em /proc por 10 minutos após o término do script principal.

Outro caso envolveu o sequestro da organização verificada "dev-protocol" no GitHub para distribuir bots maliciosos de trading da Polymarket com dependências npm typosquatted, como "ts-bign" e "levex-refa", ou "big-nunber" e "lint-builder".

Esses pacotes roubam chaves privadas de carteiras, exfiltram arquivos sensíveis e abrem uma backdoor SSH na máquina da vítima.

Enquanto "levex-refa" atua como credential stealer, "lint-builder" instala a backdoor SSH.

Já "ts-bign" e "big-nunber" servem para entregar "levex-refa" e "lint-builder" como dependências transitivas.

Também houve comprometimento do popular pacote Emacs "kubernetes-el/kubernetes-el", que explorou a vulnerabilidade Pwn Request no workflow do GitHub Actions usando o gatilho pull_request_target para roubar o GITHUB_TOKEN do repositório, exfiltrar segredos de CI/CD, desfigurar o repositório e injetar código destrutivo para apagar quase todos os arquivos.

Outro incidente atingiu o workflow legítimo "xygeni/xygeni-action" no GitHub Actions, comprometido com credenciais roubadas de um mantenedor para instalar uma backdoor em reverse shell.

A Xygeni implementou novos controles de segurança para responder ao caso.

O pacote legítimo do npm "mgc" também foi comprometido por meio de account takeover, resultando na publicação de quatro versões maliciosas, de 1.2.1 a 1.2.4.

Elas continham um script dropper que identifica o sistema operacional e busca um payload específico para a plataforma, um trojan em Python para Linux e uma variante em PowerShell para Windows chamada WAVESHAPER.V2, obtidos a partir de um GitHub Gist.

O ataque tem semelhanças diretas com a recente cadeia de supply chain contra o Axios, atribuída a um cluster norte-coreano rastreado como UNC1069.

Outro caso envolveu o pacote malicioso "express-session-js", que faz typosquatting de "express-session" e contém um dropper que recupera um RAT remoto de segunda etapa a partir do JSON Keeper para realizar roubo de dados e manter acesso persistente, conectando-se ao endereço "216.126.237[.]71" com a biblioteca Socket.IO.

No ecossistema PyPI, o pacote legítimo "bittensor-wallet" na versão 4.0.2 foi comprometido para implantar uma backdoor acionada durante uma operação de descriptografia de wallet.

O objetivo era exfiltrar chaves de wallet usando HTTPS, DNS tunneling e Raw TLS como canais de saída, seja para um domínio hard-coded, seja para um domínio gerado por DGA com rotação diária.

Outro pacote malicioso do PyPI, chamado "pyronut", faz typosquatting de "pyrogram", framework popular de API do Telegram em Python.

Ele embute uma backdoor furtiva ativada sempre que um cliente do Telegram é iniciado, assumindo controle da sessão do Telegram e do sistema hospedeiro.

Segundo a Endor Labs, a backdoor registra manipuladores ocultos de mensagens do Telegram que permitem a duas contas hard-coded controladas pelo atacante executar código Python arbitrário, via comando /e e biblioteca meval, e comandos de shell arbitrários, via /shell e subprocess, na máquina da vítima.

Também foram publicados três extensions maliciosas do Microsoft Visual Studio Code pela conta "IoliteLabs", chamadas "solidity-macos", "solidity-windows" e "solidity-linux".

Elas estavam inativas desde 2018, mas foram atualizadas em 25 de março de 2026 para lançar uma backdoor em múltiplas etapas contra sistemas Windows e macOS ao abrir o aplicativo, com o objetivo de estabelecer persistência.

Juntas, as extensões somavam 27.500 instalações antes de serem removidas.

No Open VSX, várias versões da extensão "KhangNghiem/fast-draft", 0.10.89, 0.10.105, 0.10.106 e 0.10.112, executavam um downloader hospedado no GitHub para implantar um segundo estágio com RAT Socket.IO, information stealer, módulo de exfiltração de arquivos e monitor de clipboard a partir de um repositório no GitHub.

Curiosamente, as versões 0.10.88, 0.10.111 e 0.10.129-135 foram encontradas limpas.

"Esse não é o padrão de lançamento que se espera de uma única build comprometida ou de um mantenedor que passou a agir de forma totalmente maliciosa", afirmou a Aikido.

"Parece mais duas linhas de release concorrentes compartilhando a mesma identidade de publicador."

Em relatório publicado em fevereiro de 2026, a Group-IB afirmou que os ataques à supply chain de software se tornaram "a força dominante que remodela o cenário global de ameaças cibernéticas".

A empresa acrescentou que os agentes de ameaça estão mirando fornecedores confiáveis, software open source, plataformas SaaS, extensions de navegador e provedores de serviços gerenciados para obter acesso herdado a centenas de organizações downstream.

A ameaça na supply chain pode transformar rapidamente uma intrusão localizada em um incidente de grande escala e impacto transfronteiriço, enquanto os atacantes industrializam os comprometimentos e os convertem em um ecossistema autossustentável, com alcance, velocidade e stealth.

"Repositórios de pacotes como npm e PyPI se tornaram alvos prioritários, com credenciais de mantenedores roubadas e malware automatizado em formato de worm sendo usado para comprometer bibliotecas amplamente adotadas, transformando pipelines de desenvolvimento em canais de distribuição em larga escala para código malicioso", disse a Group-IB.

Publicidade

Traçamos um caminho para você ir do zero ao avançado em hacking

Conheça a Solyd One, e tenha acesso a todos os cursos de segurança ofensiva da Solyd, todas as certificações práticas, incluindo a SYCP, 2 CTFs anuais com prêmios de até 30 mil reais, dezenas de laboratórios realísticos, suporte, comunidade e muito mais. Saiba mais...