Pacotes Maliciosos na Ecossistema Mastra: Ataque de Cadeia de Suprimentos Visa Roubar Criptomoedas
Mais de 140 bibliotecas npm na ecossistema Mastra foram comprometidas por um ataque de cadeia de suprimentos. O malware, disfarçado como uma dependência legítima, visava roubar informações de carteiras de criptomoedas de desenvolvedores.
MundiX News·25 de junho de 2026·5 min de leitura·👁 1 views
Um ataque sofisticado à cadeia de suprimentos comprometeu mais de 140 pacotes npm dentro da ecossistema Mastra, amplamente utilizada no desenvolvimento de aplicações de Inteligência Artificial. O código malicioso era executado automaticamente durante os processos de npm install ou npm update, permitindo que o malware infectasse máquinas de desenvolvedores e servidores de build, mesmo que o pacote comprometido não fosse diretamente integrado ao código da aplicação. A Microsoft relatou que, em algumas máquinas Windows infectadas, foi detectado um backdoor PowerShell com privilégios de SYSTEM.
Os atacantes obtiveram acesso à conta de um desenvolvedor npm chamado ehindero, que possuía permissões para publicar atualizações nos namespaces mastra e @mastra. Utilizando essa conta comprometida, os criminosos lançaram versões maliciosas dos pacotes e adicionaram uma dependência maliciosa, easy-day-js@^1.11.21, a cada um deles. Todas as versões maliciosas foram marcadas como latest, garantindo que o npm as selecionasse automaticamente durante as instalações. A anomalia foi detectada ao analisar o histórico de publicações: as versões anteriores de mastra eram publicadas via GitHub Actions com verificações de origem, enquanto a versão mastra 1.13.1 foi publicada manualmente a partir de um endereço de e-mail anônimo, sem alterações correspondentes no repositório Mastra que justificassem a nova dependência.
O pacote easy-day-js foi habilmente disfarçado para se assemelhar à popular biblioteca dayjs, que registra mais de 57 milhões de downloads semanais. Os autores do malware replicaram a descrição, o link do repositório e o nome do desenvolvedor original. A primeira versão de easy-day-js, a 1.11.21, foi carregada em 16 de junho sem código malicioso. No entanto, em 17 de junho, a versão 1.11.22 foi lançada. Embora o código da biblioteca permanecesse o mesmo, um manipulador postinstall foi adicionado ao arquivo package.json, responsável por executar um script oculto chamado setup.cjs. Após a instalação, este script desativava as verificações de certificado TLS, criava arquivos de serviço na pasta temporária do sistema e baixava a segunda fase do malware de um servidor de comando e controle (C2). O código baixado era salvo com um nome aleatório, executado como um processo Node.js oculto e aguardava por novos comandos, permitindo aos atacantes executar código arbitrário, modificar configurações ou encerrar o implante.
O malware se estabelecia no sistema e se disfarçava como componentes legítimos do Node.js e NVM em Windows, macOS e Linux. No Windows, utilizava entradas de inicialização automática; no macOS, criava um LaunchAgent; e no Linux, adicionava um serviço systemd personalizado. A ferramenta coletava informações como o nome do computador, detalhes do usuário, aplicativos instalados, processos em execução, histórico de navegação e buscava extensões de carteiras de criptomoedas em navegadores como Chrome, Edge e Brave. A lista de carteiras visadas incluía identificadores de 166 carteiras, como MetaMask, Phantom, Coinbase Wallet e Binance Wallet.
A Microsoft observou que, em algumas máquinas Windows infectadas, um backdoor PowerShell separado foi baixado de uma infraestrutura distinta. Este backdoor limpava o histórico do PowerShell, adicionava uma exceção para o Microsoft Defender e instalava um serviço com privilégios de SYSTEM. A Microsoft atribuiu com alta confiança essa campanha ao grupo norte-coreano Sapphire Sleet, conhecido por seus ataques a instituições financeiras. A equipe de segurança da npm foi notificada, e as versões maliciosas foram removidas do registro, com os direitos de publicação do atacante no namespace @mastra revogados. Recomenda-se que os desenvolvedores verifiquem seus arquivos package-lock.json, diretórios node_modules e logs de CI/CD em busca de easy-day-js, além de revogar tokens, senhas e chaves de API de máquinas potencialmente comprometidas e monitorar conexões de saída para servidores C2. As versões consideradas seguras pela Microsoft são mastra 1.13.0 e anteriores, e @mastra/core 1.42.0 e anteriores. Ao verificar dependências, o parâmetro --ignore-scripts pode ser usado com npm para evitar a execução de manipuladores postinstall.
🛡️⚡
Pare de pesquisar. Comece a hackear.
O MundiX é seu copiloto de pentest com IA: comandos exatos, análise de outputs e próximo passo na kill chain — em segundos.
Sem cartão para começar · Planos a partir de R$49/mês
Um ataque sofisticado à cadeia de suprimentos comprometeu mais de 140 pacotes npm dentro da ecossistema Mastra, amplamente utilizada no desenvolvimento de aplicações de Inteligência Artificial. O código malicioso era executado automaticamente durante os processos de npm install ou npm update, permitindo que o malware infectasse máquinas de desenvolvedores e servidores de build, mesmo que o pacote comprometido não fosse diretamente integrado ao código da aplicação. A Microsoft relatou que, em algumas máquinas Windows infectadas, foi detectado um backdoor PowerShell com privilégios de SYSTEM.
Os atacantes obtiveram acesso à conta de um desenvolvedor npm chamado ehindero, que possuía permissões para publicar atualizações nos namespaces mastra e @mastra. Utilizando essa conta comprometida, os criminosos lançaram versões maliciosas dos pacotes e adicionaram uma dependência maliciosa, easy-day-js@^1.11.21, a cada um deles. Todas as versões maliciosas foram marcadas como latest, garantindo que o npm as selecionasse automaticamente durante as instalações. A anomalia foi detectada ao analisar o histórico de publicações: as versões anteriores de mastra eram publicadas via GitHub Actions com verificações de origem, enquanto a versão mastra 1.13.1 foi publicada manualmente a partir de um endereço de e-mail anônimo, sem alterações correspondentes no repositório Mastra que justificassem a nova dependência.
O pacote easy-day-js foi habilmente disfarçado para se assemelhar à popular biblioteca dayjs, que registra mais de 57 milhões de downloads semanais. Os autores do malware replicaram a descrição, o link do repositório e o nome do desenvolvedor original. A primeira versão de easy-day-js, a 1.11.21, foi carregada em 16 de junho sem código malicioso. No entanto, em 17 de junho, a versão 1.11.22 foi lançada. Embora o código da biblioteca permanecesse o mesmo, um manipulador postinstall foi adicionado ao arquivo package.json, responsável por executar um script oculto chamado setup.cjs. Após a instalação, este script desativava as verificações de certificado TLS, criava arquivos de serviço na pasta temporária do sistema e baixava a segunda fase do malware de um servidor de comando e controle (C2). O código baixado era salvo com um nome aleatório, executado como um processo Node.js oculto e aguardava por novos comandos, permitindo aos atacantes executar código arbitrário, modificar configurações ou encerrar o implante.
O malware se estabelecia no sistema e se disfarçava como componentes legítimos do Node.js e NVM em Windows, macOS e Linux. No Windows, utilizava entradas de inicialização automática; no macOS, criava um LaunchAgent; e no Linux, adicionava um serviço systemd personalizado. A ferramenta coletava informações como o nome do computador, detalhes do usuário, aplicativos instalados, processos em execução, histórico de navegação e buscava extensões de carteiras de criptomoedas em navegadores como Chrome, Edge e Brave. A lista de carteiras visadas incluía identificadores de 166 carteiras, como MetaMask, Phantom, Coinbase Wallet e Binance Wallet.
A Microsoft observou que, em algumas máquinas Windows infectadas, um backdoor PowerShell separado foi baixado de uma infraestrutura distinta. Este backdoor limpava o histórico do PowerShell, adicionava uma exceção para o Microsoft Defender e instalava um serviço com privilégios de SYSTEM. A Microsoft atribuiu com alta confiança essa campanha ao grupo norte-coreano Sapphire Sleet, conhecido por seus ataques a instituições financeiras. A equipe de segurança da npm foi notificada, e as versões maliciosas foram removidas do registro, com os direitos de publicação do atacante no namespace @mastra revogados. Recomenda-se que os desenvolvedores verifiquem seus arquivos package-lock.json, diretórios node_modules e logs de CI/CD em busca de easy-day-js, além de revogar tokens, senhas e chaves de API de máquinas potencialmente comprometidas e monitorar conexões de saída para servidores C2. As versões consideradas seguras pela Microsoft são mastra 1.13.0 e anteriores, e @mastra/core 1.42.0 e anteriores. Ao verificar dependências, o parâmetro --ignore-scripts pode ser usado com npm para evitar a execução de manipuladores postinstall.
📤 Compartilhar & Baixar
🧰 Ferramentas recomendadas
Divulgação: alguns links são patrocinados. Podemos receber comissão se você comprar — sem custo extra para você. Só indicamos o que faz sentido para a comunidade.