Um hacker ganhou acesso (legítimo) a uma biblioteca JavaScript popular e injetou um código malicioso que rouba os fundos Bitcoin e Bitcoin Cash armazenados dentro dos aplicativos de carteira Copay da BitPay.
A presença desse código malicioso foi identificada na semana passada, mas somente hoje os pesquisadores conseguiram entender o que o código malicioso altamente ofuscado realmente faz.
A biblioteca que está carregando o código mal-intencionado é chamada de Fluxo de Eventos, um pacote npm de JavaScript para trabalhar com dados de fluxo do Node.js.
Esta é uma biblioteca JavaScript extremamente popular, com mais de dois milhões de downloads semanais no repositório npm.org, mas cerca de três meses atrás, seu autor original, devido à falta de tempo e interesse, entregou seu desenvolvimento a outro programador chamado Right9ctrl.
Mas, de acordo com um usuário atento que identificou problemas com o Event-Stream na semana passada, a Right9ctrl imediatamente envenenou a biblioteca com códigos maliciosos.
Right9ctrl liberou Event-Stream 3.3.6 que continha uma nova dependência, para a versão 0.1.1 da biblioteca Flatmap-Stream. A biblioteca de Flatmap-Stream v0.1.1 é onde reside o código malicioso.
De acordo com usuários no Twitter, GitHub e Hacker News, esse código malicioso fica dormente até ser usado dentro do código-fonte do Copay, um aplicativo para desktop e carteira móvel desenvolvido pela BitPay, plataforma de pagamento Bitcoin.
Uma vez que o código malicioso tenha sido compilado e enviado dentro de versões envenenadas do aplicativo da carteira Copay, ele irá roubar as informações da carteira dos usuários, incluindo chaves privadas, e enviá-las para a URL copayapi.host na porta 8080.
Acredita-se que o hacker esteja usando essa informação para esvaziar as carteiras das vítimas. Por enquanto, é seguro acreditar que todas as versões da carteira Copay lançadas em setembro, outubro e neste mês sejam consideradas infectadas.
Hoje, a equipe do BitPay lançou o Copay v5.2.2 para remover as dependências Event-Stream e Flatmap-Stream.
O malicioso Event-Stream v3.3.6 também foi removido do npm.org, mas a biblioteca Event-Stream ainda está disponível. Isso ocorre porque o Right9ctrl, ainda está tentando ocultar seu código malicioso.Os mantenedores do projeto que usam essas duas bibliotecas são aconselhados a atualizar suas árvores de dependência para a versão mais recente disponível. Essa etapa manual de atualização / remoção é necessária, pois alguns projetos são configurados para armazenar em cache todas as dependências localmente e podem não acionar o erro comum do console ao tentar baixar um pacote npm inexistente do npm.org ao criar uma nova versão do projeto.
Traduzido e adaptado de : zdnet.com