Quem desenvolveu o seu app? Popular biblioteca de software aberto estava roubando bitcoins.

Um hacker se aproveitou do abandono de um componente bastante popular para tomar posse dele, alterar seu código e roubar criptomoedas, chamando a atenção para o problema da “cadeia de suprimentos” no desenvolvimento de software.

A biblioteca em questão é a Event-Stream, um pacote nmp JavaScript para trabalhar com streaming de dados com o Node.js. Este componente é largamente utilizado por inúmeras aplicações, dentre as quais uma popular carteira de criptomoedas, a Copay. Foram mais de 8 milhões de downloads do pacote desde que a versão infectada foi publicada. O código malicioso focava especificamente em usuários da Copay, roubando as chaves privadas das carteiras e permitindo que o hacker esvaziasse seu conteúdo.

Dominic, o desenvolvedor original da biblioteca, teria sido abordado por um indivíduo que se ofereceu para manter o código, o qual não era mais atualizado por Dominic há anos. Mas uma vez com direitos de modificar o projeto no GitHub, introduziu o código malicioso dentro dos arquivos.

Isto chama a atenção para o problema da cadeia de suprimentos de software, onde a sua aplicação de desenvolvimento interno ou de terceiros faz uso de inúmeros componentes sob os quais você não tem nenhum controle. Em teoria, você poderia usar somente software aberto e inspecionar o código de cada pacote que você utiliza, mas isto é impossível na prática.

O incidente certamente servirá de lenha para as acaloradas discussões sobre o modelo de desenvolvimento de código aberto, a responsabilidade do desenvolvedor não-remunerado sobre seu código e muito mais.

Repositório do código e página de discussão do problema, com instruções para verificar se você está rodando uma versão afetada: https://github.com/dominictarr/event-stream/issues/116