Pesquisadores de segurança estão alertando que um ataque massivo à cadeia de suprimentos apelidado de “Megalodon” injetou malware em mais de 5.500 repositórios GitHub por meio de commits automatizados. O ataque abusou dos fluxos de trabalho do GitHub Actions para plantar cargas furtivas no ambiente de integração contínua, visando informações confidenciais, como credenciais, segredos de CI, chaves e tokens.

De acordo com um relatório da empresa de segurança SafeDep, a Operação Meg contou com fluxos de trabalho maliciosos do GitHub Actions que foram injetados em lote em repositórios de destino com falsos commits automatizados, criando uma onda concentrada de ataques em apenas seis horas. SafeDep disse que os invasores enviaram mais de 5.700 commits maliciosos aos repositórios afetados durante um período de seis horas em 18 de maio, afetando em última instância 5.561 repositórios independentes.

Pelo menos duas cargas diferentes foram usadas no ataque. Um deles adicionará um novo fluxo de trabalho no warehouse para que ele seja acionado automaticamente sempre que uma solicitação push ou pull for feita, continuando assim a executar código malicioso durante o processo de desenvolvimento e construção. A outra substitui as condições de disparo do fluxo de trabalho existente e o transforma em um “backdoor adormecido”, que reserva um canal de despertar remoto para invasores sem afetar o processo diário.

Assim que o ambiente de destino for infectado, o fluxo de trabalho malicioso tentará roubar variáveis ​​de ambiente CI, credenciais AWS, tokens de acesso GCP, credenciais Azure, chaves privadas SSH, configurações Docker e Kubernetes, várias chaves API, cadeias de conexão de banco de dados, bem como dezenas de diferentes tipos de informações confidenciais, como tokens GitHub Actions e tokens GitLab CI/CD. Depois que essas informações vazarem, elas poderão ser usadas para comprometer ainda mais a infraestrutura em nuvem, as bases de código e os ambientes de produção.

De acordo com SafeDep, “Megalodon” foi descoberto durante a análise da plataforma de chat e chatbot de código aberto Tiledesk. Os pesquisadores notaram que o projeto lançou sucessivamente versões maliciosas adulteradas de pacotes NPM entre 19 e 21 de maio, expondo assim uma operação de invasão de armazém em larga escala por trás dele. A conta NPM relacionada ao ataque chama-se eljohnny e o endereço de e-mail da conta é [email protegido]. Lançou uma versão limpa 2.18.5 e uma versão contaminada.

SafeDep apontou que o invasor não controlava diretamente a conta NPM em si, mas começou comprometendo seu repositório GitHub correspondente. Depois que o código-fonte foi “envenenado”, o mantenedor liberou, sem saber, pacotes maliciosos do código infectado, o que também destacou o risco típico de “a fonte upstream ser silenciosamente adulterada” em ataques à cadeia de suprimentos.

Ao rastrear a origem do ataque, o SafeDep descobriu que o envio malicioso que desencadeou a cadeia de infecção também ocorreu em 18 de maio, e o autor do envio foi identificado como “build-bot”. Depois de rastrear a caixa de correio relevante, os pesquisadores descobriram que um total de 2.878 envios foram feitos por meio dessa caixa de correio naquele dia, e outros 2.841 envios foram feitos por meio de outra caixa de correio relacionada. Um total de 5.718 envios maliciosos foram concluídos no mesmo dia.

Em termos de meios técnicos, o invasor escolheu o tipo de fluxo de trabalho “workflow_dispatch” no GitHub Actions para acionar o backdoor. Esse método de acionamento pode ser chamado por meio da API do GitHub, e o token GitHub roubado pode ser usado para ativar remotamente o backdoor inativo a qualquer momento posteriormente. Mais importante ainda, esse tipo de gatilho está isento das “regras anti-recursivas” do GitHub e não é restringido por impedir que “eventos acionados por tokens gerem novos fluxos de trabalho novamente”, proporcionando aos invasores maior espaço de operação.

Embora o incidente do “Megalodon” fosse exposto, o nível do ecossistema também tentava lidar com ameaças semelhantes. A NPM anunciou recentemente que invalidou todos os tokens de acesso refinados que ignoram a autenticação de dois fatores e têm permissões de gravação para evitar ataques à cadeia de suprimentos semelhantes ao "Mini Shai-Hulud". A empresa de segurança Ox Security acredita que esta medida ajuda a reduzir o risco de sequestro de contas, mas não elimina realmente o risco subjacente.

A Ox Security alerta que, enquanto as plataformas permitirem o upload e a distribuição de códigos arbitrários sem uma revisão rigorosa, a propagação de códigos maliciosos através de repositórios comprometidos continuará a surgir. A empresa destacou que os ataques à cadeia de abastecimento estão entrando em uma nova era. O ataque anterior do TeamPCP ao GitHub foi apenas o começo. No futuro, ondas de ataques direcionados à comunidade de desenvolvedores seguirão como um “tsunami”.

Além deste incidente, também surgiram outros casos recentes em torno da segurança da cadeia de abastecimento, incluindo o uso de ataques TanStack para roubar código e dados Grafana, e múltiplas operações de envenenamento em grande escala visando pacotes NPM. Estes incidentes sucessivos demonstram que as vulnerabilidades e a falta de visibilidade da cadeia de fornecimento de software continuam a ser problemas importantes que toda a indústria enfrenta.