As imagens deste artigo foram geradas com inteligência artificial. Como publicamos
A infecção descoberta em duas versões beta do espaço de nomes @joyfill confirma uma tendência perigosa na qual pacotes aparentemente inofensivos do ecossistema npm atuam como vetores de acesso remoto persistente: neste caso, um implante de tipo RAT associado à família DEV#POPPER que se ativa no momento da importação do módulo e não através de hooks de ciclo de vida convencionais.
O que distingue este incidente é o uso de uma infraestrutura de comando e controle baseada em múltiplos blockchains (Tron, Aptos e BNB Smart Chain) para resolver e distribuir código encriptado, juntamente com um ramo redundante que lança um processo Node.js separado que consulta um servidor IP para baixar um segundo payload. Essa combinação oferece ao atacante uma resiliência operacional incomum: podem atualizar ou mudar a carga útil sem republicar o pacote em npm e o processo desprendido pode sobreviver à finalização de uma execução de build ou teste, criando persistência fora do fluxo de vida esperado do desenvolvedor.

Desde a perspectiva de risco, isso tem várias implicações críticas. Primeiro, qualquer processo que montante o pacote é exposto à execução de código arbitrário, incluindo ambientes de desenvolvimento, runners de CI, imagens de build e servidores de renderização. Segundo, a capacidade do malware para coletar credenciais e artefatos de ferramentas de desenvolvimento – como gestores de credenciais, extensões de navegador, dados do GitHub CLI ou tokens armazenados – multiplica o impacto potencial porque permite lateralidade e roubo de segredos que depois facilitam compromissos adicionais.
Outro ponto importante é a sofisticação operacional: o uso de transações em diferentes blockchains como canal covert para entregar hashes ou fragmentos de payload dificulta a remediação convencional e a rastreabilidade, e a utilização de endereços, contas e transações diferentes em cada ramo complica a detecção por assinaturas simples. As investigações públicas que associaram técnicas semelhantes a clusters rastreados como PolinRider e a campanhas atribuídas a atores norte-coreanos sublinham a probabilidade de uma operação deliberada e com recursos.
Se o seu projecto, organização ou imagens da CI utilizarem as versões afectadas, a primeira abordagem deve ser supor que se produziu execução arbitrária e agir em conformidade: remover versões comprometidas de lockfiles, caches, espelhos internos, imagens de build e artefatos implantados; reconstruir imagens de fontes limpas; e rodar imediatamente as credenciais e tokens associados ao processo Node.js ou aos agentes da CI que puderam executar esses pacotes. Também é conveniente procurar evidências de processos Node.js despendidos em registos, ligações salientes invulgares (por exemplo, para o IP mencionado na análise) e atividade de exfiltração.
No plano operacional, convém acrescentar controlos de contenção: restringir a egress a partir de runners e builders, bloquear ligações a hosts e endereços IP suspeitos a nível de rede, e analisar as máquinas de desenvolvimento para detectar artefatos do RAT e do infostealer (por exemplo, ficheiros temporários, binários persistentes, ou sockets abertos). Para resposta a incidentes, capture imagens forenses das máquinas comprometidas antes de as limpar e correlacione logs de CI, registros de pacotes e telemetria de endpoints para estimar alcance e vetores de pivot.
Para reduzir a probabilidade de recorrência, implemente medidas técnicas e organizacionais: use verificação de integridade de dependências e bloqueio de versões, aplique políticas de leiast privilege para tokens de CI e credenciais armazenadas em runners, adopte práticas de assinatura e atestação de artefatos (por exemplo, soluções de attestation como Sigstore e marcos SLSA), e crie Bill of Materials (SBOM) para imagens e releases. Além disso, limite o acesso a segredos a partir de processos de build e use tokens efêmeros quando possível para que a exposição temporal seja menor.

Desde a comunidade de desenvolvimento, a lição é tangível: os pacotes que se carregam em tempo de importação podem executar código imediatamente, pelo que Mesmo dependências marcadas como "apenas desenvolvimento" podem resultar em compromissos se terminam em imagens ou runners. Rever e endurecer pipelines para evitar que devDependencies alcancem ambientes com segredos ou credenciais é uma boa prática preventiva.
Se você quiser consultar análises técnicas e contextos semelhantes, relatórios e análises públicas sobre campanhas de supply chain e malwares relacionados oferecem mais detalhes e recomendações: a equipe de pesquisa de Checkmarx publica análise dessas ameaças em seu portal de pesquisa ( Checkmarx Research) e veteranos em resposta como eSentire documentaram famílias de infostealers comparáveis ( eSentire blog). Para medidas e guias específicos de segurança na plataforma e no runtime, a página oficial do Node.js sobre segurança é um bom ponto de partida ( Node.js Security).
Finalmente, o tratamento de um pacote como o de @joyfill/layouts na sua versão comprometida deve ser rigoroso: assumir execução remota, revogar e rotar credenciais, reconstruir artefatos de fontes confiáveis e melhorar controles automáticos em CI. A prevenção e a detecção precoce de engenharia da cadeia de abastecimento exigem tanto controlos técnicos como consciência operacional entre desenvolvedores, equipamentos de segurança e administradores de infraestrutura.
Relacionadas
Mas notícias do mesmo assunto.

A compra massiva de domínios expirados impulsiona fraude, malware e streaming pirata: o negócio por trás do dropcatch
Um relatório de inteligência sobre DNS divulgado pela Infoblox e divulgado por meios especializados confirma que os criminosos estão comprando domínios expirados em grande escal...

GeoServer em alerta por vulnerabilidade de dia zero em jsonArrayContains com risco real de execução remota
O projeto de código aberto GeoServer tem uma vulnerabilidade de dia zero que está sendo ativamente explorada por atacantes, segundo alertas públicos de pesquisadores e assinatur...

Alerta de agosto: exploração ativa de CVE-2026-68820 e quatro falhas críticas de RCE sem autenticação no Windows
A Microsoft publicou no seu ciclo mensal de adesivos e entre as correções de agosto há uma vulnerabilidade que a própria empresa aponta como explorada activamente: CVE-2026-6882...

Astra em pausa: OpenAI adverte o limiar crítico de agentes autónomos e ataques cibernéticos
OpenAI decidiu suspender temporariamente certas atividades internas relacionadas ao seu modelo de desenvolvimento Astra após avaliação interna que detectou avanços significativo...

Zapscape: a vulnerabilidade de KVM que poderia escapar da VM e tomar o controle do host
Zapscape é a etiqueta que recebeu uma vulnerabilidade crítica detectada no subsistema KVM do kernel Linux que gerencia a MMU “shadow” para a tradução de memória em ambientes de ...

NPM sob ataque: o verme que rouba credenciais e coloca em jaque suas pipelines de CI
Em 4 de agosto de 2026 foi detectada uma campanha de envenenamento em npm que começou com a libertação maliciosa keyv@6.0.0 e expandiu-se rapidamente por múltiplos nomes de paco...

IA no SOC a arquitetura que separa a orquestração da assistência para detectar investigar e responder melhor e mais barato
A aceleração da inteligência artificial em cibersegurança já não é uma previsão: é uma realidade que reconfigura como se detectam, investigam e respondem às ameaças. Enquanto fe...