Pacotes maliciosos npm imitam Flashbots e roubam chaves
Quatro pacotes maliciosos no npm, que se passam por utilitários criptográficos e SDKs da Flashbots MEV, estão exfiltrando chaves privadas e seeds de carteiras Ethereum para um bot no Telegram e via SMTP. Descoberta por pesquisadores da Socket e atualizada em 6 set 2025, a campanha mostra como invasores exploram a confiança no ecossistema open source e em nomes familiares para viabilizar ataques à cadeia de suprimentos de software.
Tabela de conteúdos
O que foi descoberto dos pacotes maliciosos no npm
Segundo análise da Socket, um usuário do npm chamado flashbotts publicou quatro bibliotecas que imitam a infraestrutura e a compatibilidade de API da Flashbots para enganar desenvolvedores Web3. Esses pacotes roubam chaves privadas e seed phrases (as palavras de recuperação “mestra” das carteiras) e as enviam para um bot no Telegram controlado pelo invasor. O primeiro upload remonta a setembro de 2023 e o mais recente ocorreu em 19 de agosto de 2025.).
Quais pacotes e impacto
No momento da publicação, os quatro pacotes ainda constavam para download. Abaixo, os nomes, estimativas de downloads públicos e o foco da armadilha:
Pacote | Downloads | Impersonação | Função maliciosa |
---|---|---|---|
@flashbotts/ethers-provider-bundle | 52 | Flashbots API | Exfiltra variáveis de ambiente via SMTP (Mailtrap) e manipula transações |
flashbot-sdk-eth | 467 | SDK Flashbots | Roubo de chaves privadas e metadados |
sdk-ethers | 90 | Utilitário ethers | Envio de seed phrases para bot no Telegram quando funções são acionadas |
gram-utilz | 83 | Módulos genéricos | Exfiltração modular de dados para chat do invasor no Telegram |
O pacote mais perigoso, @flashbotts/ethers-provider-bundle
, esconde rotinas de exfiltração sob a promessa de “compatibilidade total” com a API da Flashbots. Além de enviar variáveis de ambiente por SMTP usando Mailtrap, implementa lógica para redirecionar todas as transações não assinadas a um endereço do invasor e para registrar metadados de transações pré-assinadas.
Como o ataque funciona dos pacotes maliciosos npm
O vetor principal é a confiança do desenvolvedor. Os invasores capitalizam nomes familiares (“Flashbots”, “ethers”) e publicam código que, à primeira vista, contém utilidades legítimas. Em pontos específicos, porém, sob condições ou chamadas de função particulares, o código ativa rotinas que capturam chaves privadas, mnemonics e dados sensíveis do ambiente de execução, encaminhando-os ao Telegram do agente malicioso. Em um caso, a coleta também ocorre via SMTP, o que pode contornar filtros de rede que bloqueiam tráfego direto para APIs externas.
Essas bibliotecas-alvo são especialmente atrativas porque a Flashbots é amplamente usada por validadores, searchers e equipes DeFi para mitigar os efeitos adversos de MEV (Maximal Extractable Value), como sandwich, liquidation, backrunning, front-running e ataques “time-bandit”. Em ambientes com hot wallets e trading bots, a exposição de uma única chave pode resultar em roubo imediato e irreversível de fundos.
“Porque a Flashbots é amplamente confiável por validadores, searchers e desenvolvedores DeFi, qualquer pacote que pareça ser um SDK oficial tem alta chance de adoção. Uma chave comprometida nesse ambiente pode levar a roubo imediato e irreversível de fundos.”
Kush Pandya, pesquisador na Socket
Quem está por trás e indícios de origem
Embora a atribuição formal não tenha sido divulgada, a Socket observou comentários em vietnamita no código-fonte, sugerindo um ator de motivação financeira possivelmente de língua vietnamita. A escolha por Telegram, módulos de exfiltração discretos e camadas de código “inócuo” reforça a tática de se misturar a bibliotecas legítimas para evitar escrutínio automatizado e humano.
Linha do tempo e status
Os pacotes foram enviados entre setembro de 2023 e 19 de agosto de 2025. Apesar dos alertas, todos ainda estavam acessíveis no momento da redação da análise da Socket, o que reforça a necessidade de higiene rigorosa no consumo de dependências. É crucial verificar proprietários, histórico de versões, commits e diffs, além de preferir fontes oficiais.
Boas práticas de mitigação imediata
- Interrompa o uso dos pacotes listados e remova-os do projeto.
- Gire todas as chaves privadas e mnemonics que possam ter sido expostos.
- Revogue tokens/credenciais e altere variáveis de ambiente comprometidas.
- Audite pipelines CI/CD e logs de execução por anomalias e chamadas a Telegram/SMTP.
- Fixe versões (
pin
), use lockfiles e ative verificação de integridade (checksums/SLSA). - Habilite varredura de dependências (Socket, npm audit, Semgrep Supply Chain, etc.).
- Confirme fontes oficiais de SDKs/fornecedores antes de instalar.
Contexto: por que a Flashbots é visada
A Flashbots ocupa papel central no ecossistema Ethereum para lidar com dinâmicas de MEV, publicando ferramentas, relayers e pesquisa aberta. Isso a torna um alvo de impersonação ideal: desenvolvedores familiarizados com o nome tendem a confiar em SDKs que prometem compatibilidade e ganhos de eficiência. Ao “acolchoar” o código malicioso com utilidades reais, os atacantes reduzem os sinais que ferramentas estáticas usam para detectar comportamento suspeito.
“Ao explorar a confiança do desenvolvedor em nomes familiares e rechear o código malicioso com utilitários legítimos, esses pacotes transformam o desenvolvimento Web3 rotineiro em um funil direto para bots no Telegram controlados por agentes de ameaça.”
Kush Pandya, pesquisador na Socket
Referências e validação
- Análise principal: Socket
- Projeto Flashbots: site oficial | npm oficial (comparar proprietário)
- Estatísticas de downloads: @flashbotts/ethers-provider-bundle, flashbot-sdk-eth, sdk-ethers, gram-utilz
Pontos-chave
- Pacotes falsos no npm miram carteiras Ethereum de devs.
- Imitam Flashbots para ganhar tração no ecossistema MEV.
- Exfiltração de chaves e seeds para Telegram e Mailtrap (SMTP).
- Risco imediato para hot wallets e operadores de bots.
- Remoção, rotação de chaves e auditoria são ações urgentes.
Quais pacotes estão comprometidos?
Resposta direta: Quatro pacotes publicados pelo usuário ‘flashbotts’. Expansão: @flashbotts/ethers-provider-bundle, flashbot-sdk-eth, sdk-ethers e gram-utilz foram identificados com rotinas de exfiltração e manipulação de transações. Validação: análise técnica da Socket e estatísticas públicas de downloads.
Como saber se fui afetado?
Resposta direta: Busque indícios de exfiltração e uso desses pacotes. Expansão: Verifique lockfiles, histórico de instalação e logs por chamadas ao Telegram/SMTP; audite transações não usuais e acessos a variáveis de ambiente. Validação: recomendações de boas práticas de DFIR e relatório da Socket.
O que fazer se usei esses pacotes?
Resposta direta: Remova-os e gire credenciais imediatamente. Expansão: Revogue chaves, troque mnemonics, regenere tokens, atualize .env e reavalie pipelines CI/CD; monitore carteiras por saques não autorizados. Validação: medidas padrão de resposta a incidentes e alerta de pesquisadores da Socket.
É seguro usar SDKs da Flashbots?
Resposta direta: Sim, desde que sejam os oficiais e verificados. Expansão: Confirme o autor no npm, consulte o site da Flashbots e repositórios oficiais; compare nomes, versão e histórico de commits. Validação: diferença clara entre ‘@flashbots’ legítimo e ‘@flashbotts’ malicioso no npm.
Por que seeds e chaves são alvo?
Resposta direta: São a ‘chave mestra’ da carteira. Expansão: Com a seed phrase, o invasor pode restaurar e controlar totalmente a carteira, assinando transações à vontade. Validação: boas práticas de segurança de carteiras e observações do relatório da Socket.
Considerações finais sobre pacotes maliciosos npm
A campanha reforça uma lição conhecida, mas frequentemente ignorada: a segurança da cadeia de suprimentos de software depende de verificações proativas e ceticismo saudável. Em ambientes Web3 — onde chaves comprometidas significam perda instantânea — pacotes aparentemente úteis podem ser a porta de entrada para o esvaziamento de carteiras. Se a sua base de código tocou em qualquer um dos pacotes listados, trate como incidente: remova, rode segredos e investigue. Para o futuro, congele versões, valide autores e integre tooling de análise em todas as etapas do ciclo de desenvolvimento.