Serviço de proxy do Google forneceu backdoor para desenvolvedores Go por mais de três anos
O serviço Go Module Mirror, oferecido pelo Google, armazena em cache pacotes de código aberto provenientes do GitHub e de outras fontes, com o objetivo de acelerar downloads e garantir a compatibilidade com o ecossistema Go. Por padrão, as ferramentas de linha de comando integradas ao Go direcionam as solicitações de download ou instalação de pacotes por meio deste serviço.
Desde novembro de 2021, o Go Module Mirror tem armazenado uma versão com backdoor do módulo legítimo “boltdb/bolt” — que é utilizada por mais de 8.000 pacotes — chamada “boltdb-go/bolt”. A técnica de typosquatting foi empregada para enganar os desenvolvedores que instalavam o módulo. Embora o pacote malicioso tenha sido inicialmente hospedado no GitHub, o arquivo foi revertido para a versão legítima posteriormente. No entanto, o Go Module Mirror continuou a armazenar em cache o backdoor por mais de três anos.
Pesquisadores que descobriram a falha explicam que, quando uma versão do módulo é armazenada em cache, ela permanece no serviço, mesmo que a fonte original seja modificada, criando uma vulnerabilidade que pode ser explorada por agentes maliciosos. O backdoor permitia ao invasor criar um endereço IP e uma porta ocultos, conectando-se a um servidor controlado remotamente e executando comandos enviados por ele.
O módulo malicioso já foi removido pelo Google, e recomenda-se sempre verificar cuidadosamente qualquer script antes de sua execução.