Megalodon compromete 5561 repositórios do GitHub

Em 18 de maio de 2026, uma operação automatizada em escala industrial comprometeu 5.561 repositórios do GitHub em apenas seis horas, das 11:36 às 17:48 UTC. A campanha, denominada Megalodon, utilizou 5.718 commits falsos com nomes de autor como build-botcodecodecodecodecode, auto-cicodecodecodecodecode, ci-botcodecodecodecodecode e pipeline-botcodecodecodecodecode, e mensagens padronizadas como “ci: add build optimization step” e “chore: optimize pipeline runtime”. Cada commit foi injetado diretamente na branch master de repositórios alvo, explorando contas GitHub descartáveis (nomes de usuário aleatórios de 8 caracteres) e tokens de acesso pessoal (PAT) ou chaves de deploy previamente comprometidos. A infraestrutura do ataque foi totalmente automatizada, operando como um pipeline de software supply chain poisoning desenhado para explorar a confiança cega em atividades rotineiras de integração contínua. Dois endereços de e-mail, [email protected]codecodecodecodecode e [email protected]codecodecodecodecode, foram identificados como remetentes de todos os commits maliciosos.

Estrutura do Ataque Megalodon e os Dois Payloads

O Megalodon implementou dois tipos distintos de payloads para backdoor em workflows do GitHub Actions, cada um com um mecanismo de ativação e persistência específico. O primeiro payload, denominado SysDiag, opera como uma dispersão em massa: ele adiciona um novo arquivo de workflow ao diretório .github/workflows/codecodecodecodecode do repositório, configurado para ser acionado automaticamente por qualquer evento pushcodecodecodecodecode ou pull_requestcodecodecodecodecode. Isso significa que, após a contaminação inicial, qualquer novo commit no repositório executará automaticamente o backdoor. O segundo payload, chamado Optimize-Build, é um backdor de ativação remota: ele substitui um workflow existente, modificando seu gatilho para workflow_dispatchcodecodecodecodecode. Esse gatilho permite que o atacante execute o workflow arbitrariamente via GitHub API ou interface web, sem depender de novos commits. A natureza workflow_dispatchcodecodecodecodecode é crítica porque fica explicitamente fora das regras de prevenção de reentrada do GitHub, permitindo que o atacante acione o workflow repetidamente com o token roubado, sem restrições de detecção de ciclo.

CaracterísticaSysDiag (Dispersão em Massa)Optimize-Build (Alvo Dormecido)
Gatilhopush / pull_requestworkflow_dispatch (manual / API)
ExecuçãoAutomática a cada commitSob demanda do atacante
MétodoAdiciona novo workflowSubstitui workflow existente
PersistênciaAlta dispersãoBaixa visibilidade (backdoor dormente)
Prevenção de ReentradaSujeitaIsenta (não se aplica)

Alvos e Dados Exfiltrados no Pipeline de CI

Uma vez executado em um runner do GitHub Actions, o script bash de 111 linhas embutido nos workflows maliciosos realizava uma varredura sistemática de credenciais e segredos do ambiente. O script coletava variáveis de ambiente do CI, credenciais de perfil da AWS, tokens de acesso do GCP, metadados IMDS do Azure, chaves SSH privadas, configurações de autenticação do Docker, arquivos .npmrccodecodecodecodecode, configurações do Kubernetes, tokens do Vault e credenciais do Terraform. O espectro de coleta abrangia mais de 30 padrões de segredos dentro do código-fonte do repositório. O dado mais crítico extraído era o token OIDC (OpenID Connect) do GitHub Actions, que permite ao atacante assumir identidades de nuvem diretamente no provedor de CI, sem necessidade de credenciais estáticas. Com o token OIDC, o atacante poderia acessar recursos de nuvem como buckets S3, bancos de dados gerenciados e funções IAM, ampliando o impacto para além do repositório comprometido. A exfiltração era feita via requisições HTTP para endpoints controlados pelos atacantes, embutidas no próprio workflow.

Descoberta Através do Projeto Tiledesk

A detecção inicial do Megalodon ocorreu durante a análise de um pacote npm do projeto de código aberto Tiledesk, uma plataforma de chat open-source. O motor de detecção identificou um backdoor no workflow de build Docker da versão 2.18.12 do pacote @tiledesk/tiledesk-servercodecodecodecodecode. Comparando com a versão limpa 2.18.5, apenas um arquivo havia sido alterado: o workflow de build para Docker, que foi substituído pelo payload Optimize-Build. O código-fonte da aplicação em si permaneceu intacto, tornando a adulteração invisível em revisões de código comuns focadas em lógica de aplicação. As versões 2.18.6 a 2.18.12, publicadas entre 19 e 21 de maio, todas continham o workflow backdoorado. A conta npm do mantenedor não foi comprometida; a publicação ocorreu a partir do repositório GitHub já contaminado, o que significa que o atacante usou a própria infraestrutura legítima do projeto para distribuir o malware. Outros projetos afetados incluem o Black-Iron-Project (8 repositórios) e o ecossistema WISE-Community, abrangendo centenas de repositórios.

Cronologia e Conexão com o Grupo TeamPCP e Shai-Hulud

A campanha Megalodon está diretamente vinculada ao grupo de ameaça conhecido como TeamPCP, que emergiu em 2026 com uma estratégia de ataque à cadeia de suprimentos em três ondas. Em 12 de maio de 2026, o TeamPCP publicou no GitHub, sob licença MIT, o código-fonte de sua própria ferramenta de ataque chamada Shai-Hulud (referência à criatura do deserto de Duna). Esse movimento de “open-source de malware” visava democratizar o acesso à ferramenta e reduzir a barreira de entrada para outros criminosos. Seis dias depois, em 18 de maio, ocorreu o ataque Megalodon. Nos dias 19 e 20 de maio, uma terceira onda chamada Mini Shai-Hulud foi observada, atacando os ecossistemas npm, PyPI e GitHub Actions de forma cruzada, comprometendo pacotes como @antvcodecodecodecodecode e Microsoft.durabletaskcodecodecodecodecode. A sequência cronológica indica uma estratégia deliberada: primeiro, liberar a arma (Shai-Hulud), depois executar o ataque em larga escala (Megalodon) e, em seguida, permitir que imitadores explorem a técnica (Mini Shai-Hulud).

DataEventoDescrição
12 de maio de 2026Lançamento do Shai-HuludTeamPCP publica código-fonte do worm-like framework sob MIT no GitHub
18 de maio de 2026Megalodon5.718 commits falsos em 6 horas, backdoor em 5.561 repositórios
19-20 de maio de 2026Mini Shai-Hulud (3ª onda)Ataque cruzado npm, PyPI e GitHub Actions, alvos incluem @antv e durabletask

Medidas de Resposta e Mitigação Imediata

Para repositórios que receberam commits dos endereços [email protected]codecodecodecodecode ou [email protected]codecodecodecodecode em 18 de maio, a confirmação de comprometimento é imediata. A ação prioritária é reverter esses commits e inspecionar o diretório .github/workflows/codecodecodecodecode em busca de arquivos estranhos ou alterações em workflows existentes. A rotação de todos os segredos acessíveis pelo runner do GitHub Actions é obrigatória: tokens OIDC, chaves SSH, credenciais de nuvem (AWS, GCP, Azure), tokens de API e certificados. Deve-se verificar os logs de execução do GitHub Actions para identificar execuções não autorizadas, especialmente usando o gatilho workflow_dispatchcodecodecodecodecode, que não possui assinatura visual de push. A checagem de logs de nuvem para requisições de autenticação originadas de IPs desconhecidos logo após as execuções suspeitas é crucial para dimensionar o impacto. A configuração de proteção de branch (branch protection rules) com exigência de pull request e revisão de código para pushes diretos à master é uma barreira fundamental contra ataques similares. Além disso, travar workflows para commits SHA específicos em vez de branches ou tags e ativar o requisito de aprovação para contribuidores externos (require approval for all external contributors) reduz a superfície de ataque.

Implicações para a Segurança da Cadeia de Suprimentos

O Megalodon expõe a fragilidade do modelo de confiança implícito nos pipelines de CI/CD. A normalização de commits automatizados com nomes como build-botcodecodecodecodecode e mensagens genéricas de otimização cria um ambiente onde atividades maliciosas se confundem com rotina. O ataque demonstra que a cadeia de suprimentos de software moderna não depende apenas da integridade do código-fonte, mas também da integridade dos arquivos de configuração de CI, que frequentemente passam despercebidos em revisões. A capacidade do atacante de modificar apenas o workflow, sem tocar no código da aplicação, torna a adulteração praticamente invisível para revisões convencionais. O uso de tokens OIDC roubados para acessar diretamente provedores de nuvem eleva o risco de comprometimento de infraestrutura inteira, não apenas de um repositório. O Megalodon estabelece um novo patamar de ameaça: ataques automatizados, em escala industrial, que exploram a própria automação que deveria proteger o ciclo de vida do software. A resposta deve incluir a adoção de políticas de segurança para workflows, como o uso de ações pinadas por hash, revisão manual de qualquer alteração em arquivos de CI e monitoramento contínuo de atividades anômalas nos runners do GitHub Actions.

Compartilhar este artigo
Canal oficial de conteúdo do portal Overcentral. A Equipe Central produz notícias, guias e análises com foco em credibilidade e relevância, garantindo que você receba o melhor conteúdo editorial diariamente.