Alerta cibernético

Hack em GitHub Action desencadeia ataque em cascata na cadeia de suprimentos

Um ataque em cascata na cadeia de suprimentos começou com a violação da ação "reviewdog/action-setup@v1" no GitHub, resultando na exposição de segredos de CI/CD. Pesquisadores da Wiz identificaram o ataque e recomendam medidas para mitigar riscos futuros.

Imagem com a logo do GitHub

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.