Você já imaginou um ataque que comprometeu milhares de repositórios no GitHub, expondo segredos de inúmeros projetos? Parece ficção científica, mas aconteceu! E a chave para entender essa história de proporções épicas está em um token roubado do SpotBugs, um fato descoberto meses depois do ataque inicial.
Prepare-se para mergulhar nessa investigação cibernética, pois vamos desvendar os detalhes dessa grande intrusão e como uma simples, porém vital, falha de segurança causou um estrago imenso.
O Ataque à Cadeia de Suprimentos do GitHub
Um ataque massivo à cadeia de suprimentos do GitHub expôs informações sigilosas de inúmeros projetos. A origem? Um token de acesso pessoal (PAT) do SpotBugs, roubado em novembro – meses antes do incidente se tornar público.
Pesquisadores descobriram que esse PAT roubado foi usado para acessar o reviewdog, e posteriormente, comprometer a popular ação do GitHub tj-actions/changed-files. Isso permitiu que os atacantes silenciosamente armazenassem segredos de desenvolvedores em arquivos de log.
A Infiltração Inicial: O SpotBugs
O ponto de entrada dos invasores foi a vulnerabilidade na ação do GitHub do SpotBugs, uma ferramenta popular de análise estática de código. Através de um workflow comprometido, os atacantes conseguiram acesso inicial.
A partir daí, eles se moveram lateralmente entre os repositórios do SpotBugs até obterem acesso ao reviewdog. Este ataque começou em novembro de 2024, mas só foi descoberto meses depois.
A Propagação: Reviewdog e tj-actions/changed-files
Após comprometer o reviewdog, os criminosos utilizaram uma vulnerabilidade para modificar a ação tj-actions/changed-files. Essa ação é amplamente utilizada para monitorar alterações de arquivos em projetos.
Mais de 23.000 repositórios do GitHub utilizavam essa ferramenta. A modificação permitiu que segredos – chaves API, senhas, tokens de acesso – fossem vazados nos logs de workflow, acessíveis a qualquer um que soubesse onde procurar.
O Aprofundamento da Investigação: A Verdadeira Origem
Investigando mais a fundo, descobriu-se que o ataque começou ainda mais cedo, em novembro. Um mantenedor do projeto SpotBugs havia modificado um workflow usando seu próprio PAT como segredo.
Esse PAT foi então comprometido com a exploração de um gatilho pull_request_target
, que permitiu executar um workflow malicioso de um fork e acessar os segredos do repositório original.
Este tipo de gatilho é perigoso, pois permite que workflows de forks acessem segredos do repositório original, permitindo ataques de “poisoned pipeline execution”.
O token roubado possibilitou que os atacantes adicionassem uma nova conta ao SpotBugs como mantenedora, permitindo assim a inclusão de código malicioso.
As Consequências e o Mistério Persistente
O token roubado do SpotBugs permitiu aos invasores comprometer o reviewdog e o tj-actions/changed-files. A manipulação da ação tj-actions/changed-filesresultou no vazamento de segredos de projetos que a utilizavam.
Apesar da descoberta do ponto de acesso inicial, a investigação não terminou. Os pesquisadores ainda tentam entender o porquê de os atacantes terem deixado rastros tão evidentes em seus logs.
Entender esse ataque é crucial para a segurança de todos. A vulnerabilidade estava nas credenciais administrativas, e na configuração dos workflows.
A negligência com a segurança de tokens de acesso pessoal (PATs) e a utilização de gatilhos inseguros permitiram que esse ataque de grande escala acontecesse.
Concluindo, a história nos mostra a importância de boas práticas de segurança em projetos de código aberto. A vulnerabilidade foi encontrada e corrigida, mas a cautela deve ser contínua.
Compartilhe suas experiências e aprendizados sobre segurança em DevOps!
Fonte: The Register