Você já imaginou um cenário onde milhares de projetos no GitHub são comprometidos simultaneamente? Parece ficção científica, mas é a dura realidade de um recente ataque de supply chain que expôs segredos de mais de 23.000 repositórios. Prepare-se para mergulhar nesse caso de cibercrime que abalou o mundo do desenvolvimento de software.
Um Ataque na Cadeia de Suprimentos do GitHub
Um ataque atingiu a popular GitHub Action tj-actions/changed-files, ferramenta usada para detectar alterações em arquivos de projetos open source. A ação maliciosa, inserida entre 12 e 14 de março, roubava informações confidenciais dos fluxos de trabalho dos desenvolvedores.
Essa ação comprometida, modificada por atacantes, vazava segredos diretamente para os logs de compilação. Em repositórios públicos, esses logs são acessíveis a todos, expondo informações sensíveis.
O Que foi Roubado?
Os segredos roubados podiam incluir chaves de API, senhas, tokens de acesso e muito mais. Apesar do risco para repositórios privados ser menor, os mantenedores devem considerar seus projetos comprometidos.
O código malicioso, uma função Node.js com instruções base64, executava um script Python que extraía os segredos CI/CD do processo Runner Worker. Felizmente, não há evidências de que segredos de repositórios públicos tenham sido enviados para servidores externos.
A Origem do Ataque
A motivação e a identidade dos atacantes ainda são desconhecidas. No entanto, a equipe do tj-actions confirmou que o comprometimento ocorreu após uma violação de uma conta de bot, @tj-actions-bot.
O engenheiro de software Tonye Jack, autor do tj-actions, declarou que a senha da conta do bot foi alterada, passkeys agora protegem a conta, suas permissões foram reduzidas ao mínimo necessário e os commits precisam ser assinados para garantir a integridade das contribuições.
O token de acesso pessoal (PAT) afetado foi revogado. A equipe reforçou as medidas de segurança para evitar novos incidentes.
As Consequências do Ataque
Especialistas em cibersegurança alertaram a necessidade de uma resposta imediata dos mantenedores de projetos para garantir que seus segredos não sejam expostos. Pesquisadores identificaram dezenas de repositórios públicos com segredos expostos, incluindo alguns de grandes organizações.
Entre os segredos vazados estavam chaves de acesso AWS válidas, tokens de acesso pessoal do GitHub (PATs), tokens npm, chaves RSA privadas e outros.
É altamente recomendado que os mantenedores de projetos auditem seus repositórios e rodem todos os segredos em quaisquer projetos que utilizem tj-actions/changed-files. Esses segredos são considerados comprometidos.
Prevenindo Ataques Similares
Desenvolvedores devem procurar alternativas para tj-actions/changed-files e remover todas as referências a essa GitHub Action em todos os ramos do repositório.
O GitHub recomenda que projetos que utilizem Actions as vinculem a commits específicos, ao invés de tags de versão, para evitar ataques semelhantes. Vincular a um SHA completo torna a Action imutável, dificultando a inserção de backdoors.
O ataque tj-actions/changed-files recebeu a vulnerabilidade CVE-2025-30066 (8.6 – alta).
Este incidente serve como um alerta importante sobre a segurança da cadeia de suprimentos de software e a necessidade de vigilância constante. A segurança não é apenas responsabilidade de um, mas sim de todos na comunidade de desenvolvimento.
Compartilhe suas experiências e estratégias de segurança para proteger seus projetos!
Fonte: The Register