Um ataque em cascata na cadeia de suprimentos no GitHub, que tinha como alvo a Coinbase em março, agora foi rastreado até um único token roubado de um workflow do SpotBugs, o que permitiu a um ator de ameaça comprometer múltiplos projetos no GitHub.
A ferramenta de análise estática popular, SpotBugs, foi violada em novembro de 2024, levando ao comprometimento do Reviewdog, que subsequentemente levou à infecção do tj-actions/changed-files.
O ataque à cadeia de suprimentos em múltiplos passos eventualmente expôs segredos em 218 repositórios, enquanto as últimas descobertas mostraram que os atores de ameaças inicialmente tentavam violar projetos pertencentes à bolsa de criptomoedas Coinbase.
O início do ataque, que permaneceu desconhecido até agora, foi descoberto pelos pesquisadores da Unit 42 da Palo Alto Networks, que adicionaram uma atualização ontem na sua análise original do incidente.
Agora sabemos que o ataque à cadeia de suprimentos começou no final de novembro de 2024, quando um mantenedor do SpotBugs (SPTBHS_MNTNR) adicionou seu Personal Access Token (PAT) em um workflow de CI.
Em 6 de dezembro de 2024, um atacante explorou um workflow vulnerável 'pull_request_target' para roubar o PAT do mantenedor através de um pull request malicioso de uma conta de usuário descartável (randolzflow).
Em 11 de março de 2025, o atacante usou o PAT roubado para convidar outro usuário fictício (jurkaofavak) para o SpotBugs, que empurrou um workflow malicioso do GitHub Actions que exfiltrou outro PAT pertencente a um mantenedor do Reviewdog (RD_MNTNR) que também tinha acesso ao SpotBugs.
O PAT roubado tinha acesso de escrita ao 'reviewdog/action-setup,' permitindo ao atacante substituir a tag v1 com um commit malicioso de um fork, envenenando todos os consumidores da v1.
Isso criou uma porta dos fundos que foi executada quando usada por 'tj-actions/eslint-changed-files', um projeto no qual se confiava.
Usando credenciais roubadas, o atacante substituiu tags do git no repositório para apontar para um commit malicioso que despejaria segredos de corretores de CI em logs, potencialmente impactando 23.000 repositórios usando essa ação.
No entanto, mais tarde foi determinado que o commit malicioso do tj-actions expôs segredos apenas para 218 repositórios.
Como revelado durante investigações pós-incidente, o atacante personalizou o commit malicioso para alvo 'coinbase/agentkit.' O CI da Coinbase puxou e executou a versão contaminada em 14 de março de 2025.
Apesar disso, nenhum segredo da Coinbase foi exposto, então a tentativa do atacante de acessar a infraestrutura da bolsa falhou.
A empresa foi rapidamente informada sobre a tentativa de violação e removeu o workflow.
Agora que o quadro completo do incidente foi pintado, fica claro que a violação foi altamente organizada e meticulosamente planejada, começando meses antes do inicialmente conhecido.
Além disso, o incidente destaca problemas fundamentais na cadeia de confiança entre repositórios de código aberto, bem como questões no ecossistema do GitHub Actions como mutabilidade de tag e registros de auditoria pobres.
Projetos e repositórios que utilizaram as ações comprometidas devem rotacionar todos os segredos imediatamente.
Logs do GitHub Actions, especialmente aqueles de 10 a 14 de março de 2025, devem ser auditados em busca de sinais de segredos sendo impressos, especialmente blobs codificados em base64.
Para mitigar o risco de ataques semelhantes no futuro, é recomendado fixar dependências usando hashes de commit em vez de tags, e evitar 'pull_request_target' a menos que seja necessário.
Publicidade
Tenha acesso aos melhores hackers éticos do mercado através de um serviço personalizado, especializado e adaptado para o seu negócio. Qualidade, confiança e especialidade em segurança ofensiva de quem já protegeu centenas de empresas. Saiba mais...