Ação comprometida no GitHub expõe segredos de CI/CD em milhares de repositórios

Ação comprometida no GitHub expõe segredos de CI/CD em milhares de repositórios
Incidente afeta mais de 23.000 projetos e coloca credenciais em risco.
Compartilhe

Especialistas em segurança cibernética estão alertando sobre um episódio em que a popular ação do GitHub tj-actions/changed-files foi comprometida, resultando na exposição de segredos de repositórios que utilizam fluxos de trabalho de integração e entrega contínuas (CI/CD).

O incidente envolveu a ação tj-actions/changed-files, presente em mais de 23.000 repositórios. Ela é empregada para monitorar e recuperar todos os arquivos e diretórios alterados.

A violação na cadeia de suprimentos recebeu o identificador CVE CVE-2025-30066 (pontuação CVSS: 8,6). Acredita-se que o comprometimento tenha ocorrido antes de 14 de março de 2025.

“Neste ataque, os criminosos cibernéticos modificaram o código da ação e alteraram retroativamente diversas tags de versão para direcioná-las ao commit malicioso”, afirmou a StepSecurity. “A ação corrompida exibe credenciais de CI/CD nos registros de compilação do GitHub Actions.”

O impacto desse comportamento é que, caso os registros do fluxo de trabalho estejam acessíveis ao público, eles podem levar à divulgação não autorizada de informações confidenciais sempre que a ação for executada nos repositórios.

Leia também

Isso inclui chaves de acesso da AWS, Tokens de Acesso Pessoal (PATs) do GitHub, tokens do npm e chaves privadas RSA, entre outros. No entanto, até o momento, não há indícios de que esses segredos vazados tenham sido utilizados em infraestruturas controladas pelos invasores.

Especificamente, o código inserido de forma maliciosa foi projetado para executar um script Python hospedado em um gist do GitHub, que extrai segredos do processo Runner Worker do CI/CD. O commit de origem do código comprometido não possuía verificação de autenticidade. O gist já foi removido.

tj-actions/change-files é amplamente empregado em pipelines de desenvolvimento de software”, afirmou Dimitri Stiliadis, CTO e cofundador da Endor Labs, em uma declaração ao The Hacker News. “Após os programadores redigirem e revisarem o código, eles geralmente o publicam no branch principal do repositório. A partir desse ponto, os ‘pipelines’ capturam esse código, o compilam para produção e realizam a implementação.”

tj-actions/change-files auxilia na identificação de modificações dentro de um repositório. Ele permite verificar quais arquivos foram adicionados, editados ou removidos entre commits, branches ou pull requests.”

“Os invasores manipularam o código da ação e alteraram as tags de versão existentes para vinculá-las ao commit malicioso. A ação comprometida agora executa um script Python malicioso que extrai segredos de CI/CD, afetando milhares de pipelines de integração contínua.”

Os responsáveis pelo projeto relataram que o(s) agente(s) de ameaça, ainda não identificado(s), obtiveram acesso indevido a um Token de Acesso Pessoal (PAT) do GitHub vinculado ao bot @tj-actions-bot, que possuía privilégios elevados no repositório comprometido.

Após a descoberta, a senha da conta foi redefinida, o método de autenticação foi atualizado para utilizar uma chave de acesso e as permissões foram ajustadas conforme o princípio do menor privilégio. O GitHub também revogou o PAT comprometido.

“O Token de Acesso Pessoal afetado estava armazenado como um segredo dentro da ação do GitHub, mas já foi revogado”, informaram os mantenedores do projeto. “A partir de agora, nenhum PAT será utilizado em qualquer projeto da organização tj-actions, a fim de eliminar o risco de recorrência desse tipo de ataque.”

Usuários que fazem uso da ação do GitHub são orientados a atualizar imediatamente para a versão mais recente (46.0.1). Além disso, recomenda-se revisar todos os fluxos de trabalho executados entre 14 e 15 de março, verificando a presença de qualquer saída inesperada na seção de arquivos alterados.

Essa não é a primeira vez que falhas de segurança são identificadas na ação tj-actions/changed-files. Em janeiro de 2024, o pesquisador Adnan Khan revelou uma vulnerabilidade crítica (CVE-2023-49291, pontuação CVSS: 9,8) que afetava tanto tj-actions/changed-files quanto tj-actions/branch-names, permitindo a execução arbitrária de código.

Esse incidente ressalta mais uma vez a vulnerabilidade do software de código aberto, que continua suscetível a ataques na cadeia de suprimentos e pode comprometer diversos clientes simultaneamente.

“Em 15 de março de 2025, todas as versões da ação tj-actions/changed-files foram impactadas, pois o invasor conseguiu modificar as tags de versão existentes, direcionando-as ao código malicioso”, informou a empresa de segurança em nuvem Wiz.

“Clientes que utilizavam uma versão com hash fixado da ação tj-actions/changed-files não foram afetados, a menos que tenham atualizado para um hash comprometido durante o período do ataque.”