dYdX: Protocolo de criptomoedas distribuiu vírus capaz de roubar carteiras e invadir dispositivos

Uma operação sofisticada de cibercriminosos comprometeu pacotes oficiais do protocolo dYdX, uma corretora deascentralizada de criptomoedas, distribuindo malware que rouba carteiras digitais e instala trojans de acesso remoto. 

A campanha, descoberta pela empresa de cibersegurança Socket em 27 de janeiro de 2026, atingiu simultaneamente os ecossistemas npm (JavaScript) e PyPI (Python), as duas linguagens mais utilizadas para automação de trading e desenvolvimento de finanças quantitativas.

O que é o dYdX e por que virou alvo

O dYdX é uma exchange descentralizada de derivativos de criptomoedas. Ao longo de sua história, a plataforma movimentou mais de US$ 1,5 trilhão, com volume diário médio entre US$ 200 e 540 milhões. 

Os pacotes @dydxprotocol/v4-client-js (npm) e dydx-v4-client (PyPI) fornecem ferramentas essenciais para desenvolvedores criarem aplicações que interajam com a plataforma, incluindo assinatura de transações, colocação de ordens e gerenciamento de carteiras.

Como o ataque funciona

Os atacantes comprometeram as credenciais dos desenvolvedores legítimos, permitindo que publicassem versões maliciosas dos pacotes em ambos os repositórios simultaneamente. O código malicioso foi inserido profundamente dentro da estrutura legítima dos pacotes, modificando arquivos essenciais como registry.ts, registry.js e account.py. 

Esses arquivos são essenciais porque funcionam como o coração do sistema, já que são eles que gerenciam como as carteiras são criadas, como as transações são assinadas e como os dados são organizados. Quando a vítima usa o pacote normalmente, o código malicioso é executado silenciosamente em segundo plano.

O malware no npm

No pacote JavaScript, os atacantes modificaram a função createRegistry(). Quando a vítima passa sua frase semente, ou seed phrase, uma senha de 12 a 24 palavras aleatórias extraídas de uma lista com 2,048 termos, a chave mestra que dá acesso total à carteira de criptomoedas, o código malicioso captura essa informação e a envia secretamente para um servidor controlado pelos atacantes no endereço dydx.priceoracle.site. 

A seed phrase ou frase semente é a chave mestra que dá acesso total à carteira de criptomoedas. Ela funciona como a combinação de um cofre bancário, mas quem possui essa combinação tem controle total e irreversível sobre os fundos, já que transações em blockchain não podem ser desfeitas. Não existe gerente de banco, nem sistema de recuperação, nem segunda via.

Junto com a seed phrase, o malware coleta uma impressão digital do dispositivo da vítima, reunindo informações como endereço MAC (um identificador único da placa de rede, como a impressão digital do seu computador na internet), nome do computador, sistema operacional, versão do sistema e arquitetura do processador. 

Essas informações são transformadas em um código único através de um hash SHA-256, um processo matemático que pega todas essas informações e gera uma sequência única de caracteres, como criar um código de barras exclusivo para cada vítima, permitindo que os atacantes rastreiem vítimas específicas e identifiquem alvos de alto valor. 

O código usa um bloco try-catch vazio que captura erros silenciosamente. Em programação, try-catch funciona como uma rede de segurança, o usuário “tenta” executar algo e, se der erro, “captura” o problema. 

Normalmente isso serve para lidar com erros de forma elegante. Aqui, porém, se algo der errado ao enviar os dados roubados, o erro é simplesmente ignorado e nada aparece no console, aquela tela preta onde programadores veem mensagens do sistema. A vítima continua acreditando que tudo funcionou perfeitamente.

O malware no PyPI

A versão Python não apenas rouba credenciais, mas também instala um Trojan de Acesso Remoto (RAT), um tipo de malware que dá ao atacante controle remoto completo sobre o computador da vítima. O roubo de credenciais funciona de forma similar à versão JavaScript, mas disfarçado em uma função chamada list_prices() que supostamente consultaria preços de negociação. 

O RAT vem escondido em três componentes: config.py contém o payload malicioso – o código que realmente faz o trabalho sujo – como uma string de 5.527 caracteres codificada em base64. Base64 é uma forma de transformar qualquer tipo de dado em texto puro, como traduzir uma imagem para uma sequência de letras e números. Aqui, serve para esconder o código malicioso fazendo-o parecer apenas um texto incompreensível.

O arquivo _bootstrap.py é executado automaticamente quando a vítima importa o pacote – imagine como um vírus que se ativa no momento em que você abre um arquivo; e a desobfuscação acontece em 100 iterações que invertem a string, decodificam de base64 e descomprimem usando zlib. 

Ofuscação é o ato de embaralhar e esconder o código propositalmente para dificultar a leitura. É como escrever uma mensagem de trás para frente, depois em código morse, depois em outra língua. Quanto mais camadas de ofuscação, mais difícil é para antivírus detectarem o código malicioso.

O que o trojan faz

Uma vez ativado, o RAT inicia uma thread daemon, uma espécie de fluxo de produção que executa tarefas de manutenção ou suporte, em segundo plano que roda secretamente enquanto o programa principal continua funcionando normalmente. 

Thread é como uma linha de produção separada dentro de um programa, enquanto a linha principal continua trabalhando normalmente, a thread cuida de outra tarefa ao mesmo tempo. Daemon é um tipo especial de thread que roda em segundo plano executando tarefas de manutenção ou suporte, sem que o usuário veja. É como ter um assistente invisível trabalhando silenciosamente enquanto você faz outras coisas.

A cada 10 segundos, esse daemon se comunica com o servidor dos atacantes, perguntando se há comandos para executar. Se o servidor responder com código Python, o RAT executa imediatamente.

A execução acontece de forma completamente invisível. O RAT cria arquivos temporários com o código recebido, executa com todos os outputs (as mensagens e resultados que normalmente apareceriam na tela), redirecionados para /dev/null, um “buraco negro” do sistema, onde tudo que entra desaparece sem deixar rastro. 

Depois apaga os arquivos temporários. No Windows, usa a flag CREATE_NO_WINDOW para que nenhuma janela apareça na tela. A vítima não vê absolutamente nada acontecendo.

Além disso, o RAT desabilita a verificação SSL, permitindo comunicação com o servidor dos atacantes mesmo com certificados de segurança inválidos. SSL, ou Secure Sockets Layer, é o protocolo de segurança que garante que a comunicação entre seu computador e um site é criptografada e confiável – é aquele cadeado verde que aparece no navegador. 

Ao desabilitar essa verificação, o RAT permite comunicação com o servidor dos atacantes mesmo com certificados de segurança inválidos ou suspeitos, algo que normalmente seria bloqueado.

A infraestrutura dos atacantes

Os atacantes registraram o domínio priceoracle.site em 9 de janeiro de 2026, cerca de 3 semanas antes de publicarem os pacotes maliciosos. “Price oracle” é um termo comum em criptomoedas, fazendo o domínio soar técnico e legítimo. O subdomínio dydx.priceoracle.site adiciona outra camada de legitimidade aparente, podendo ser confundido com o domínio real dydx.xyz.

O domínio agora está bloqueado com status “server transfer prohibited” e “client hold” – códigos administrativos que significam que o domínio foi congelado e não pode ser transferido ou modificado, mas os atacantes provavelmente já coletaram muitas credenciais e estabeleceram backdoors em sistemas comprometidos.

O impacto real

Para vítimas do pacote npm que passaram seed phrases reais, os atacantes têm acesso total às carteiras de criptomoedas, significando roubo completo e irreversível.

Para vítimas do pacote PyPI, a situação é ainda pior. Além do roubo de carteiras, os atacantes têm controle completo sobre o sistema e podem executar código arbitrário ou roubar chaves SSH – credenciais que funcionam como senhas digitais para acessar servidores remotos de forma segura, muito usadas por desenvolvedores para conectar em servidores de trabalho.

Nesses casos, também é possível que os criminosos tenham garantido acesso a credenciais de APIs e código-fonte proprietário, instalado backdoors persistentes – portas dos fundos digitais que permitem aos atacantes voltarem ao sistema quando quiserem, mesmo depois que a vítima acha que se protegeu – exfiltrado arquivos sensíveis, monitorado atividades, modificado arquivos críticos e usado o computador como ponto de partida para atacar outras máquinas na rede.

Este não é o primeiro ataque ao dYdX. Em setembro de 2022, houve outro comprometimento de supply chain via npm – um ataque à cadeia de suprimentos, onde os criminosos não atacam o alvo diretamente, mas comprometem um fornecedor ou ferramenta que o alvo usa.

E em julho de 2024, um ataque de DNS hijacking, o sequestro do sistema de nomes de domínio, que redirecionava vítimas para um site falso.

Por que é grave

A simultaneidade entre npm e PyPI mostra planejamento extenso. A complexidade do RAT Python (100 iterações de ofuscação, execução silenciosa, daemon threads, bypass de SSL) indica proficiência técnica típica de grupos de cibercrime profissionais ou até operações de estados-nação. 

O ataque explora a confiança fundamental do desenvolvimento moderno em pacotes de repositórios oficiais, uma vez que desenvolvedores confiam que quando baixam uma biblioteca do npm ou PyPI, estão recebendo código seguro e verificado. 

A Socket detectou os pacotes maliciosos minutos após publicação e notificou o dYdX em 28 de janeiro de 2026, que confirmou publicamente o incidente no mesmo dia. 

Para desenvolvedores, recomenda-se usar ferramentas de scanning automatizado, monitorar tráfego de rede, aplicar o princípio de menor privilégio, tratar dependências que manipulam credenciais como alto risco e nunca usar credenciais reais em ambientes de teste.

Como se proteger

Para desenvolvedores que trabalham com pacotes que manipulam credenciais sensíveis, especialmente no ecossistema de criptomoedas, algumas medidas são essenciais.

Use ferramentas de scanning automatizado em seu pipeline de desenvolvimento;Monitore tráfego de rede de aplicações em desenvolvimento e produção;Aplique o princípio de menor privilégio: sistemas devem ter acesso apenas ao mínimo necessário;Trate qualquer dependência que manipula credenciais como alto risco;Verifique hashes e assinaturas de pacotes quando possível;Mantenha ambientes de desenvolvimento e produção completamente separados;Nunca use credenciais reais em ambientes de teste.

Acompanhe o TecMundo nas redes sociais. Para mais notícias de segurança e tecnologia, inscreva-se em nossa newsletter e canal do YouTube.