Não passe pelo GO — alerta de pacote malicioso
12 de fevereiro de 2025
0 minutos de leituraPesquisadores encontraram recentemente outro problema na cadeia de suprimentos de software no BoltDB, uma ferramenta de banco de dados popular no ambiente de programação Go. O módulo Go do BoltDB foi comprometido e continha código malicioso oculto. Essa versão explorou a forma como o Go gerencia e armazena em cache seus módulos, o que permitiu que passasse despercebida por vários anos. Esse backdoor permite que hackers controlem remotamente os computadores infectados por meio de um servidor que envia comandos, ou seja, um servidor de comando e controle. A versão maliciosa (1.3.1) foi publicada no GitHub em novembro de 2021. Após a publicação, o serviço Go Module Mirror a armazenou permanentemente.
O que é um ataque de typosquatting?
Ataques de typosquatting acontecem quando agentes mal-intencionados criam e publicam pacotes de software nocivos em bibliotecas online, usando nomes muito parecidos com os de pacotes populares. A intenção é fazer com que as pessoas baixem e instalem por engano essas versões perigosas, em vez do software legítimo que procuravam.
Leia mais aqui: https://snyk.io/blog/typosquatting-attacks/
O Go Module Mirror malicioso recebeu o nome de github.com/botdb-go/bolt, muito parecido com o original, github.com/boltdb/bolt. Quando o pacote malicioso foi identificado, ele foi substituído pela versão legítima. No entanto, o cache indefinido de módulos do Go Module Mirror entrou em ação e armazenou o módulo comprometido. Outro fator importante foi a necessidade de atualizar os sistemas para as dependências mais recentes, o que levou os desenvolvedores a atualizar para uma versão que permaneceu no sistema por três anos. Pesquisadores da Socket notificaram o Go Module Mirror, o GitHub e o Google em 30 de janeiro de 2025. O módulo estava armazenado em cache no Go Module Proxy, que continuou a distribuí-lo aos clientes.


Desde 2015, há mais de 80 problemas sem solução no repositório original.

Impacto
Impactou milhares de organizações por mais de três anos
Uma grande falha no ecossistema da cadeia de suprimentos
Pacotes maliciosos ainda podem ser encontrados no Go Module Proxy
Medidas tomadas
Em uma atualização publicada pela Arstechnia em 7 de fevereiro de 2025, um representante do Google fez a seguinte declaração:
“O módulo foi removido do proxy de módulos do Go e do GitHub, e o adicionamos ao banco de dados de vulnerabilidades do Go para quem acredita que possa ter sido afetado. Estamos trabalhando para resolver o problema com medidas como a análise de recursos por meio do Capslock e a execução de comparações com o deps.dev. Agradecemos à Socket e aos colaboradores da equipe do Go que identificaram o módulo e estão trabalhando em correções. Continuaremos colaborando com o setor para aumentar a conscientização sobre problemas comuns de segurança em código aberto, como esse, e sobre o trabalho realizado por iniciativas como SLSA e OpenSSF.”

O pacote vulnerável do Go Module Mirror foi removido do Github.

Mitigação
Acompanhe os riscos da cadeia de suprimentos e as práticas recomendadas:
https://snyk.io/blog/supply-chain-risks-and-best-practices/
Confira as quatro práticas recomendadas para mitigar ataques à cadeia de suprimentos de software
https://snyk.io/articles/software-supply-chain-security/#best
Use a Snyk para proteger a cadeia de suprimentos de software https://snyk.io/solutions/software-supply-chain-security/
Referências:
Aviso da Snyk Open Source: https://security.snyk.io/vuln/SNYK-GOLANG-GITHUBCOMBOLTDBGOBOLT-868841
https://socket.dev/blog/malicious-package-exploits-go-module-proxy-caching-for-persistence
https://thehackernews.com/2025/02/malicious-go-package-exploits-module.html
Participe do Fetch the Flag 2026!
Teste suas habilidades de segurança no nosso evento Capture the Flag, de 12 a 13 de fevereiro, das 12h às 12h (horário do leste dos EUA).
