Uma campanha automatizada chamada Megalodon comprometeu 5.561 repositórios no GitHub em apenas seis horas, no dia 18 de maio de 2026. A descoberta é da empresa de segurança SafeDep, que recuperou o conteúdo malicioso completo e mapeou a infraestrutura dos atacantes.
Os criminosos usaram contas descartáveis com nomes aleatórios de oito caracteres e forjaram identidades de bots de Integração Contínua (CI), usados para testar o código sempre que o programador faz uma alteração. Os bots forjados incluíam o build-bot e ci-bot, que disfarçavam os commits maliciosos como manutenção de rotina.
smart_display
Nossos vídeos em destaque
No total, 5.718 commits foram enviados entre 11h36 e 17h48 UTC da ocasião, todos apontando para um servidor de comando e controle no endereço “216.126.225.129:8443”.
Ataque substitui arquivos de configuração por backdoor dormente
A técnica central da campanha explora o GitHub Actions, sistema nativo do GitHub para automação de tarefas como testes e publicações de software. Cada repositório comprometido recebeu um commit, uma espécie de “ponto de salvamento”, que substituía ou adicionava um arquivo YAML de workflow.
Nesse arquivo, havia uma única linha de código que baixava e executava um arquivo de texto contendo comandos. Eles seriam executados em terminais Linux ou macOS para automatizar tarefas de 111 linhas – tudo escondido em codificação de base64.
O script opera em cinco fases, assim que o fluxo de trabalho de CI é acionado. Primeiro, ele captura todas as variáveis de ambiente do servidor, incluindo o GITHUB_TOKEN e quaisquer segredos configurados no repositório.
)
Em seguida, lê 27 arquivos de credenciais no sistema de arquivos, incluindo chaves SSH, que funcionam como uma senha. Além disso, também examinaa configurações do serviço de nuvem da AWS, tokens do Docker Hub e histórico do shell – que lista, recupera e reutiliza os comandos digitados anteriormente no terminal.
Depois, consulta os dispositivos internos de metadados da AWS, Google Cloud e Azure para extrair credenciais temporárias do ambiente de nuvem. Por fim, varre o código-fonte em busca de mais de 30 padrões de segredos.
A etapa mais crítica é o roubo de tokens OpenID Connect (OIDC). Este é um mecanismo moderno em que o fluxo de trabalho prova sua identidade para serviços de nuvem sem usar credenciais fixas. Com esses tokens, o atacante consegue se passar pelo pipeline legítimo perante AWS, Google Cloud ou Azure.
)
Variante cria backdoor invisível no histórico de CI
A campanha usou duas variantes do conteúdo malicioso. A primeira, chamada SysDiag, adiciona um workflow que dispara automaticamente em todos os recursos colaborativos do GitHub, conhecido como push e pull request, maximizando a execução. A segunda, Optimize-Build, substitui um fluxo existente e usa o gatilho workflow_dispatch, que só roda quando alguém aciona manualmente via interface ou API do GitHub.
O workflow_dispatch não aparece no histórico automático de execuções do Actions e não gera falhas de construção do código. O malware que permite acesso remoto dos criminosos, o backdoor, fica dormente até o atacante acioná-lo remotamente. Isso pode ser feito ao enviar uma requisição à API do GitHub com um token roubado de qualquer outro repositório comprometido.
Pacote legítimo carregou o backdoor sem que mantenedor percebesse
O caso mais documentado de contaminação envolve o @tiledesk/tiledesk-server, pacote de código aberto de uma plataforma brasileira de chat ao vivo publicado no npm desde 2019.
O repositório oficial no GitHub foi comprometido pela variante Optimize-Build no dia 18 de maio. O desenvolvedor legítimo continuou publicando versões normalmente nos dias seguintes, sem perceber que o arquivo de workflow dentro do repositório estava envenenado.
)
O resultado foi que as versões 2.18.6 a 2.18.12 do pacote chegaram ao npm com o backdoor embutido. A SafeDep identificou a contaminação ao comparar a versão 2.18.12 com a versão limpa 2.18.5 e encontrar uma diferença em um único arquivo.
Campanha é atribuída ao grupo TeamPCP
O Megalodon faz parte de uma sequência de ataques atribuídos ao grupo TeamPCP, que já comprometeu projetos como TanStack, Grafana Labs, OpenAI e Mistral AI usando a cadeia de suprimentos de software como vetor. O grupo tem motivação financeira confirmada e parcerias com fóruns de extorsão como BreachForums e grupos como LAPSUS$.
Em resposta à atividade do TeamPCP, o npm invalidou tokens de acesso granular, uma medida de segurança que tenta controlar acessos, com permissão de escrita que contornavam a autenticação de dois fatores. A medida, porém, não resolve o problema estrutural, uma vez que os tokens já coletados pelo malware Mini Shai-Hulud, associado ao grupo, continuam válidos até serem restaurados pelos mantenedores.
)
Repositórios que receberam commits de build-system@noreply.dev ou ci-bot@automated.dev no dia 18 de maio devem reverter as alterações, auditar os arquivos de workflow e restaurar todas as credenciais acessíveis pelos runners do GitHub Actions.
Acompanhe o TecMundo nas redes sociais. Inscreva-se em nossa newsletter e canal do YouTube.
