Um novo ataque à cadeia de suprimentos no GitHub comprometeu a ação “reviewdog/action-setup@v1”, resultando na exposição de segredos de CI/CD de milhares de repositórios. Esse incidente desencadeou um efeito cascata que levou à violação de outra ação popular, “tj-actions/changed-files”. Pesquisadores da Wiz investigaram o caso e alertaram sobre o impacto da falha, que pode ter comprometido diversos projetos.
Violação de GitHub Action expõe segredos de CI/CD
Na semana passada, um ataque direcionado à ação “tj-actions/changed-files” injetou código malicioso que armazenava segredos de CI/CD em logs de fluxo de trabalho. Caso esses logs fossem públicos, invasores poderiam acessá-los e comprometer projetos inteiros.
Os desenvolvedores do “tj-actions” não conseguiram identificar como um token de acesso pessoal (PAT) foi comprometido. No entanto, a Wiz acredita que o ataque teve origem na ação “reviewdog/action-setup@v1”, que foi alterada para incluir código que capturava segredos de CI/CD.
O fluxo do ataque pode ser resumido assim:
- O invasor comprometeu a tag “v1” da ação “reviewdog/action-setup”;
- Esse código alterado foi usado pela ação “tj-actions/eslint-changed-files”;
- Como essa ação é executada dentro de “tj-actions/changed-files”, o token de acesso pessoal do bot foi exposto e comprometido;
- O atacante usou esse token para modificar o código e incluir cargas maliciosas.
Os pesquisadores apontam que a ação “reviewdog” foi comprometida no mesmo período da violação de “tj-actions”, reforçando a conexão entre os incidentes.
Quais ações foram afetadas?
Além da “reviewdog/action-setup@v1”, outras ações podem ter sido comprometidas, incluindo:
- reviewdog/ação-shellcheck;
- reviewdog/ação-composto-modelo;
- reviewdog/ação-estáticaverificação;
- reviewdog/ação-ast-grep;
- reviewdog/ação-erros-de-digitação.
Embora a falha no Reviewdog tenha sido corrigida, a Wiz notificou a equipe do projeto e o GitHub para evitar futuros ataques similares. Um fator que pode ter facilitado a violação é o método de gerenciamento de colaboradores do Reviewdog, que aceita novos membros por convites automatizados, aumentando os riscos.
Se a ação comprometida não tivesse sido corrigida, o ataque poderia ter sido repetido, expondo novos segredos de CI/CD.
Como mitigar o risco?
Para proteger repositórios contra esse tipo de ataque, a Wiz recomenda:
- Verificar repositórios: Projetos devem executar uma consulta no GitHub para identificar referências à ação “reviewdog/action-setup@v1”;
- Monitorar logs: Se houver cargas base64 codificadas duas vezes nos logs de fluxo de trabalho, isso pode indicar que segredos foram expostos;
- Remover ações afetadas: Desenvolvedores devem eliminar referências a ações comprometidas e excluir logs suspeitos;
- Rotacionar credenciais: Qualquer segredo potencialmente comprometido deve ser substituído imediatamente;
- Fixar versões em commits: Em vez de usar tags de versão, é recomendável fixar ações do GitHub em hashes de commit específicos para evitar execuções de versões alteradas;
- Usar listas de permissões: A função de lista de permissões do GitHub pode impedir a execução de ações não autorizadas.
Conclusão
O ataque à cadeia de suprimentos no GitHub destaca a importância de medidas de segurança rigorosas no desenvolvimento de software. A exposição de segredos de CI/CD pode comprometer repositórios inteiros, resultando em falhas críticas. Adotar boas práticas, como fixação de versões e monitoramento constante, é essencial para mitigar riscos e evitar novos incidentes.