← Últimos artigos
💻 computer science

Beyond Takedown: Measuring Malicious Go Module Persistence in the Wild

Este artigo revela um ataque à cadeia de suprimentos de Go em larga escala, no qual adversários reempacotam módulos legítimos com malware ofuscado, demonstrando que confiar apenas em buscas no GitHub falha em detectar o escopo total do comprometimento, pois mais de 99% dos artefatos maliciosos removidos permanecem recuperáveis via proxies do Go.

Autores originais: Minjae Bae, Carter Yagemann

Publicado 2026-06-26
📖 4 min de leitura☕ Leitura rápida

Autores originais: Minjae Bae, Carter Yagemann

Artigo original sob licença CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo

Imagine o mundo do desenvolvimento de software como uma biblioteca enorme e movimentada, onde programadores pegam emprestados "módulos" (blocos de código pré-escritos) para construir suas próprias aplicações. Na linguagem de programação Go, esta biblioteca tem um bibliotecário muito rigoroso: o Go Proxy.

Aqui está a história de um assalto recente nesta biblioteca, contada de forma simples.

O Assalto: "O Clube do Livro Falso"

Os atacantes decidiram roubar da biblioteca, mas não derrubaram as portas. Em vez disso, jogaram um jogo de impostação.

  1. A Preparação: Eles encontraram livros legítimos e populares (módulos de código legítimos) que todos confiavam.
  2. A Falsificação: Eles criaram cópias falsas desses livros sob seus próprios nomes. Dentro desses livros falsos, esconderam uma armadilha minúscula e invisível.
  3. A Armadilha: No mundo Go, quando você "importa" (pega emprestado) um livro, a biblioteca executa automaticamente algumas tarefas de configuração. Os atacantes esconderam uma instrução maliciosa dentro dessas tarefas de configuração. Era como um livro que, no momento em que você o abria, secretamente sussurrava um comando para o seu computador para baixar e executar um vírus.
  4. O Hype: Para fazer seus livros falsos parecerem reais, os atacantes usaram um "exército de bots" para dar a eles milhares de "estrelas" (curtidas) no GitHub, enganando os desenvolvedores para que pensassem: "Oh, isso deve ser popular e seguro".

A Investigação: Duas Maneiras de Olhar

Os pesquisadores (Minjae Bae e Carter Yagemann) queriam ver o quão grande esse problema realmente era. Eles usaram duas lanternas diferentes para procurar os ladrões.

Lanterna 1: A Busca no GitHub (A Visão da "Prateleira")
Eles buscaram manualmente no principal site de hospedagem (GitHub), procurando por padrões suspeitos e seguindo as conexões de "estrelas" entre as contas.

  • O que encontraram: Encontraram 2.113 repositórios falsos.
  • O Problema: Esta lanterna só funciona se o livro falso ainda estiver sentado na prateleira. Se o pessoal da biblioteca remover o livro, ou se o ladrão nunca o colocou na prateleira principal, esta lanterna não vê nada.

Lanterna 2: O Escaneamento do Proxy (A Visão da "Circulação")
Eles construíram um scanner especial chamado GOAST (um robô que lê o código sem executá-lo) para escanear o Go Proxy. Este é o sistema de backup da biblioteca. Ele mantém uma cópia perfeita e imutável de cada livro que já foi emprestado, mesmo que o livro original seja deletado da prateleira.

  • O que encontraram: Encontraram 2.289 versões maliciosas.
  • A Surpresa: A lanterna do Proxy encontrou 83% mais livros maliciosos do que a lanterna do GitHub. Muitos desses livros falsos nem sequer estavam na prateleira principal, ou já haviam sido removidos, mas o Proxy ainda os mantinha.

A Grande Descoberta: "Remover" Não Significa "Corrigir"

Esta é a parte mais importante da história.

Normalmente, quando as equipes de segurança encontram um livro ruim, elas pedem para a biblioteca removê-lo. Elas deletam o repositório no GitHub. Elas pensam: "Ótimo, a ameaça se foi".

Os pesquisadores provaram que isso está errado.

Como o Go Proxy mantém uma cópia permanente e imutável de cada módulo, deletar a origem no GitHub não deleta o vírus do ecossistema.

  • Os pesquisadores descobriram que, mesmo após os repositórios dos atacantes terem sido deletados ou suspensos (tornando-os "invisíveis" no GitHub), 99,4% daqueles módulos maliciosos ainda estavam disponíveis e podiam ser baixados via Go Proxy.
  • É como se o pessoal da biblioteca jogasse um livro falso no lixo, mas o drone de entrega automatizado da biblioteca (o Proxy) ainda tivesse uma cópia perfeita em seu armazém e continuasse entregando aos clientes que a solicitassem.

O Resultado

Os pesquisadores informaram o pessoal da biblioteca (GitHub e Google) sobre o problema.

  • O GitHub removeu 684 repositórios maliciosos.
  • O Google (a equipe do Proxy) limpou 1.377 versões de módulos maliciosos de seu armazenamento permanente.

A Lição

Você não pode corrigir um problema de cadeia de suprimentos de software apenas limpando a camada de "hospedagem" (GitHub). Se a "camada de distribuição" (o Proxy) mantém o código ruim, a ameaça sobrevive. Para realmente resolver o problema, você tem que limpar tanto a prateleira quanto o armazém.

Afogado em artigos na sua área?

Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.

Experimentar Digest →