A cadeia de fornecimento de software em alerta: pacotes dYdX comprometidos roubam credenciais e permitem acesso remoto

Publicada 6 min de lectura 139 leituras

A comunidade de segurança acaba de identificar um novo incidente que volta a colocar em primeiro plano uma ameaça conhecida, mas cada vez mais sofisticada: a cadeia de fornecimento de software. Pesquisadores de Socket detectaram que versões maliciosas de pacotes legítimos publicados em npm e PyPI foram distribuídas com o objetivo de roubar credenciais de carteiras de criptomoedas e, no caso de Python, até mesmo obter acesso remoto aos sistemas afetados. Você pode ler a análise técnica no relatório original do Socket aqui: Socket: Malicious dYdX packages published to npm and PyPI.

Os pacotes comprometidos servem a desenvolvedores que integram funcionalidades do protocolo dYdX, uma plataforma descentralizada de troca de derivados e operações sobre criptoativos. No npm os nomes afetados são @dydxprotocol/v4-client-js, com várias versões maliciosas detectadas; em PyPI o pacote afetado é dydx-v4-client numa versão pós-publicada. dYdX confirmou o incidente em uma série de mensagens públicas e recomendou aos usuários que tenham baixado essas versões isolar os equipamentos, mover fundos de um sistema limpo e rodar chaves e credenciais. A publicação original do dYdX está disponível em X (antes do Twitter): dYdX: comunicado.

A cadeia de fornecimento de software em alerta: pacotes dYdX comprometidos roubam credenciais e permitem acesso remoto
Imagem gerada com IA.

Segundo as análises, o atacante não explodiu uma vulnerabilidade técnica dos repositórios, mas publicou novas versões com credenciais de publicação legítimas, o que aponta para a compromisso das contas de manutenção. O ator malicioso introduziu código em arquivos centrais do pacote (por exemplo, arquivos de registro e conta), de modo que a carga daninha foi executada durante o uso habitual da livraria. Isto mostra um conhecimento profundo da estrutura interna dos pacotes e de como se integram em aplicações que manipulam fundos e chaves.

O payload no ecossistema JavaScript orienta-se para a exfiltração: recolhe frases semente de carteiras e dados do dispositivo para enviá-los para um servidor controlado pelo atacante. A variante de Python adiciona um componente mais perigoso: um trovão de acesso remoto (RAT) executado ao importar o pacote e que consulta um servidor externo para receber comandos. Especificamente, esse componente contata um endpoint observado pelos pesquisadores e utiliza bandeiras do sistema operacional — por exemplo, a bandeira CREATE_NO_WINDOW no Windows— para ser executado sem mostrar janelas e passar despercebido. Socket e outros analistas destacaram também um alto grau de ofuscação na versão do PyPI, sugerindo intenção de ocultar a atividade maliciosa e persistente.

Este acontecimento não nasce do nada: dYdX já tinha sido alvo de ataques à cadeia de abastecimento no passado. Em 2022 relatou-se que contas de npm ligadas à equipe foram comprometidas e foram publicados pacotes que roubavam credenciais, e em 2024 a web associada com sua plataforma v3 foi manipulada para redireccionar vítimas para um site de phishing. A recorrência desses incidentes mostra que os atores maliciosos veem projetos com componentes financeiros como objetivos de alto valor e que os canais de distribuição confiáveis – órgãos oficiais, contas de manutenção – são um vetor muito atraente para conseguir um grande impacto com pouco ruído. Sobre o incidente de 2022, você pode consultar o fio no GitHub e a cobertura em mídia: GitHub issue e Bleeping Computer.

Além dos ataques dirigidos a pacotes existentes, os pesquisadores alertam sobre outra técnica preocupante: a publicação de pacotes "fantasma" com nomes referenciados em documentação ou scripts, mas nunca publicados oficialmente. Aikido fez um estudo sobre este fenômeno e descobriu que dezenas de pacotes sem registro prévio acumularam centenas de milhares de downloads em meses recentes, simplesmente porque usuários executaram comandos npx que tentavam invocar nomes inexistentes e, portanto, o registro permitiu a criação de pacotes com esses nomes. A análise de Aikido detalha o risco do "npx confusion" e enumera exemplos de pacotes que alcançaram milhares de downloads; você pode ler o seu relatório aqui: Aikido: NPX confusion — unclaimed package names.

Este vetor aproveita uma configuração por defeito que busca ser prática, mas que abre a porta à execução de código remoto sem uma verificação explícita por parte do usuário. Como observou um dos pesquisadores, o ecossistema npm tem milhões de pacotes e os desenvolvedores executam comandos npx com muita frequência; existe, portanto, um gap entre o conforto e o risco real de executar código arbitrário da rede.

Diante desses problemas, há medidas imediatas para usuários afetados e práticas preventivas para desenvolvedores e organizações. dYdX recomendou – e é sensato repetir – que quem instalou as versões maliciosas isole a equipe, deixe de usar as chaves nesse ambiente, mexa fundos de um sistema que saiba limpo e rote todas as chaves e API keys. Aikido e outros especialistas recomendam evitar que npx faça fallback para instalar pacotes desde o registro sem controle: usar a opção npx -- no- install impede a instalação automática e força a que o comando saia se não existir localmente. Também é conveniente instalar explicitamente as ferramentas CLI usadas com frequência e verificar sempre a existência e reputação do pacote que a documentação sugere executar.

Para equipes de desenvolvimento e responsáveis por projetos, as práticas de mitigação incluem exigir autenticação multifator para contas de publicação, auditar e minimizar os direitos das chaves de publicação, fechar sessões e rotar credenciais diante de qualquer suspeita de compromisso, e monitorar a cadeia de dependências com ferramentas de Software Composition Analysis (SCA). Manter arquivos lock (lockfiles) nos repositórios, pinnear versões, revisar mudanças em dependências transitórias e validar assinaturas ou somas de pacotes quando possível são medidas que reduzem a superfície de risco. Além disso, registar variantes óbvias de nomes de pacotes ou alias pode ser uma barreira contra atores oportunistas que tentem publicar pacotes com nomes confundiveis.

A cadeia de fornecimento de software em alerta: pacotes dYdX comprometidos roubam credenciais e permitem acesso remoto
Imagem gerada com IA.

Este incidente é uma chamada de atenção: a confiança que depositamos em repositórios centrais e em contas de mantenedores é um ativo que deve cuidar com a mesma seriedade que as chaves privadas no mundo cripto. Os atacantes preferem "moverse upstream" porque comprometer uma única identidade de publicação pode afetar milhares ou milhões de usuários de uma só vez, com muito pouco ruído nos sistemas de detecção convencionais. Como resume uma análise sectorial, a tendência é clara: tanto ataques dirigidos a mantenedores concretos como campanhas em larga escala que aproveitam configurações por defeito estão em aumento, e a defesa exige simultaneamente controles técnicos, processos organizacionais e maior higiene na gestão de contas e chaves. Um bom resumo sobre a evolução recente destas ameaças está no relatório da Sygnia sobre o supply chain: Sygnia: Supply chain attacks Q4 2025.

Se você trabalha em projetos que interagem com assinaturas, transações ou armazenam segredos relacionados com criptoativos, lembre-se que a exposição principal nem sempre está em seu código: às vezes está na cadeia que traz esse código para seus ambientes. Rever dependências críticas, proteja as contas com capacidade de publicar, e quando onboarding de ferramentas inclua executar comandos remotos, detente um momento e verifique a proveniência. A conveniência tem um custo se não acompanharmos os controlos mínimos de segurança.

Para mais contexto e leituras adicionais sobre o incidente e os vetores envolvidos, revisa a cobertura técnica em Socket, o comunicado de dYdX, a análise de Aikido e a cobertura histórica em Bleeping Computer e GitHub ligados no texto anterior.

Cobertura

Relacionadas

Mas notícias do mesmo assunto.