- Dois pacotes npm, colortoolsv2 e mimelib2, extraíram URLs de comando e controle de contratos inteligentes Ethereum para buscar malware de segundo estágio.
- A operação estava vinculada a uma rede mais ampla de engenharia social do GitHub, com repositórios falsos de robôs de negociação e métricas de engajamento infladas.
- Os invasores trocaram pacotes após a remoção e reutilizaram o mesmo contrato na cadeia, ajudando o tráfego a se misturar com a atividade legítima do blockchain.
- Pesquisadores publicaram IoCs e pediram que os desenvolvedores verificassem os mantenedores, inspecionassem as dependências e monitorassem pesquisas incomuns na cadeia.

Analistas de segurança detalharam uma intrusão na cadeia de suprimentos na qual pacotes npm foram interceptados Contratos inteligentes Ethereum para recuperar links ocultos de download para cargas úteis adicionais. A tática oculta infraestrutura maliciosa por trás de chamadas públicas de blockchain, complicando a varredura de rotina e a resposta a incidentes.
A dupla de pacotes, colortoolsv2 e mimelib2, apareceu em julho de 2025 e foi rapidamente removido do registro. Visando desenvolvedores no ecossistema de criptomoedas, o código agia como um downloader fino que mesclava sua atividade de rede com consultas comuns na cadeia, de acordo com pesquisa realizada pela empresa de cadeia de suprimentos de software ReversingLabs.
O que os pesquisadores descobriram
Em vez de codificar os pontos finais, os pacotes foram obtidos URLs do próximo estágio de um contrato inteligente Ethereum sempre que eram executados ou importados como uma dependência. Essa indireção espelha técnicas de furtividade anteriores, como EtherHiding, e permitiu que a ameaça se disfarçasse de tráfego legítimo de blockchain. Embora o comportamento malicioso no código npm fosse direto, os projetos associados do GitHub se esforçaram mais para parecer confiáveis.
Como funcionou a indireção on-chain
Os investigadores descobriram que o colortoolsv2 enviou um carregador mínimo (incluindo uma rotina index.js) que consultava um contrato on-chain para um valor de string representando o local de download do segundo estágio. O contrato em 0x1f171a1b07c108eae05a5bccbe86922d66227e2b expôs funções de leitura que retornavam uma URL, que o carregador então usava para extrair um payload de um servidor controlado pelo invasor.
Depois que o npm bloqueou o colortoolsv2 no início de julho, os operadores introduziram mimelib2 com quase a mesma lógica e a mesma referência de contrato, minimizando as alterações e mantendo seu canal de controle intacto. O componente de segundo estágio foi executado após a recuperação, e seu hash foi vinculado por pesquisadores para detecção e triagem forense.
Uma isca coordenada do GitHub
Os uploads do npm foram semeados por meio de uma rede de repositórios GitHub enganosos anunciando ferramentas de negociação automatizadas, como solana-trading-bot-v2, ethereum-mev-bot-v2, arbitrage-bot e hyperliquid-trading-bot. As contas por trás desses projetos tinham padrões de atividade projetados para parecer autênticos: estrelas e observadores inflados, commits frequentes (alguns triviais) e múltiplos mantenedores listados.
Os analistas associam este esforço de semeadura ao chamado Rede Fantasma Stargazers, um cluster de distribuição como serviço que realiza staring em massa, bifurcações, monitoramentos e confirmações para reforçar a visibilidade de repositórios nocivos. Alguns identificadores de usuário citados em históricos de confirmações adicionaram as dependências maliciosas diretamente, e pelo menos uma conta do GitHub relacionada foi, desde então, derrubado.
Por que isso escapou das defesas de rotina
Porque o downloader consultou um blockchain público Para obter suas instruções, filtros padrão e listas de bloqueio de URLs foram menos eficazes. Muitas ferramentas de segurança não sinalizam chamadas de contrato somente leitura, e o invasor poderia rotacionar os endpoints de hospedagem atualizando os dados na cadeia em vez de acessar o código do pacote ou infraestrutura centralizada. Essa combinação eleva o nível de detecção e remoção.
Os pesquisadores observaram que ideias semelhantes já surgiram antes em operações focadas em criptografia, mas usando um contrato inteligente para localizações do estágio C2 para malware npm marca uma mudança notável na forma como os ecossistemas de código aberto estão sendo investigados. As campanhas documentadas relacionadas a criptomoedas em repositórios públicos aumentaram em 2024, com mais de vinte casos registrados, e este incidente mostra a as técnicas estão amadurecendo.
Indicadores de comprometimento (IoCs)
Os seguintes identificadores foram vinculados à campanha e podem ajudar caça de ameaças e detecções:
- Versões do npm colortoolsv2: 1.0.0 (SHA1 678c20775ff86b014ae8d9869ce5c41ee06b6215), 1.0.1 (SHA1 1bb7b23f45ed80bce33a6b6e6bc4f99750d5a34b), 1.0.2 (SHA1 db86351f938a55756061e9b1f4469ff2699e9e27)
- Versões do npm mimelib2: 1.0.0 (SHA1 bda31e9022f5994385c26bd8a451acf0cd0b36da), 1.0.1 (SHA1 c5488b605cf3e9e9ef35da407ea848cf0326fdea)
- Carga útil do segundo estágio: SHA1 021d0eef8f457eb2a9f9fb2260dd2e39ff009a21
- Contrato inteligente: 0x1f171a1b07c108eae05a5bccbe86922d66227e2b
Impacto do desenvolvedor e verificações recomendadas
Para as equipes que dependem do npm, o caso destaca que os sinais de popularidade podem ser fabricado. Verifique os mantenedores e históricos de confirmações, examine versões recentes em busca de comportamentos incomuns de instalação ou pós-instalação e analise as dependências que fazem chamadas de API de blockchain ou solicitações de rede dinâmicas em tempo de execução.
As organizações devem combinar listas de permissões de pacotes, fixação de integridade (incluindo hashes para dependências transitivas) e compilações reproduzíveis com análise estática e comportamental. Monitoramento de rede que sinaliza chamadas de saída inesperadas para Provedores de RPC ou tráfego repentino para domínios desconhecidos também pode revelar abuso de indireção na cadeia.
Antes de incorporar ferramentas com a marca de bots de negociação ou auxiliares MEV, verifique se as contas e repositórios referenciados têm um histórico real, não apenas atividade de explosão ao longo de alguns dias. Extraia pacotes localmente para revisão manual, verifique se há carregadores ofuscados e observe se há código que leia o armazenamento de contratos inteligentes para obter URLs executáveis.
Os pesquisadores também recomendam mapear quaisquer referências na cadeia usadas por scripts de construção ou de tempo de execução, observando atualizações estado contratual que poderia redirecionar downloads e documentar IoCs internamente para que os alertas persistam mesmo se listagens ou contas públicas forem removidas.
Em conjunto, as descobertas destacam como os contratos inteligentes do Ethereum foram reaproveitados como um retransmissor flexível para informações C2, como o npm e o GitHub foram integrados ao caminho de entrega e por que higiene mais profunda da embalagem além do monitoramento on-chain, que agora é essencial para equipes de desenvolvimento que trabalham com ferramentas de código aberto e criptografia.