
Em março de 2025, um ataque Ă cadeia de suprimentos comprometeu a ação âtj-actions/changed-filesâ no GitHub, expondo segredos de CI/CD de milhares de repositĂłrios. A ação, utilizada em mais de 23.000 repositĂłrios, sofreu uma modificação maliciosa que resultou na divulgação de informaçÔes sensĂveis nos logs de build.
Detalhes do ataque
O ataque foi identificado em 14 de março de 2025, quando pesquisadores de segurança detectaram atividades suspeitas na ação âtj-actions/changed-filesâ. Os invasores adicionaram um commit malicioso que executava um script Python destinado a extrair segredos do processo Runner Worker do CI/CD, imprimindo-os nos logs de workflow. Se esses logs fossem pĂșblicos, qualquer pessoa poderia acessar os segredos expostos.
A ação comprometida Ă© amplamente utilizada para identificar arquivos alterados em pull requests ou commits, facilitando testes automatizados e validaçÔes de cĂłdigo. A modificação maliciosa afetou diversas versĂ”es da ação, pois os invasores atualizaram retroativamente mĂșltiplas tags para referenciar o commit comprometido, ampliando o alcance do ataque.
Impacto e consequĂȘncias
O comprometimento resultou na exposição de diversos segredos de CI/CD, incluindo chaves de acesso AWS, tokens de acesso pessoal do GitHub e chaves RSA privadas. Embora nĂŁo haja evidĂȘncias de que os segredos tenham sido exfiltrados para servidores controlados pelos invasores, a simples exposição nos logs pĂșblicos representa um risco significativo.
A empresa de segurança Wiz identificou dezenas de repositórios afetados, incluindo aqueles operados por grandes organizaçÔes. A exposição desses segredos poderia permitir que agentes mal-intencionados acessassem sistemas internos, modificassem código-fonte ou realizassem outras atividades prejudiciais.
Resposta e medidas adotadas
ApĂłs a descoberta, o GitHub removeu a ação comprometida em 15 de março de 2025 e restaurou o repositĂłrio com o cĂłdigo legĂtimo. Os mantenedores da ação informaram que o ataque ocorreu devido ao comprometimento de um token de acesso pessoal (PAT) associado ao bot â@tj-actions-botâ, que possuĂa acesso privilegiado ao repositĂłrio. NĂŁo estĂĄ claro como o token foi comprometido.
Os desenvolvedores afetados foram orientados a:
âą Rotacionar segredos: Alterar todas as credenciais utilizadas durante o perĂodo do ataque.
âą Revisar logs de workflow: Verificar saĂdas inesperadas na seção âchanged-filesâ para identificar possĂveis exposiçÔes.
âą Atualizar referĂȘncias de açÔes: Certificar-se de que os workflows referenciam versĂ”es seguras da ação ou fixar as açÔes em hashes de commit especĂficos para evitar futuras alteraçÔes maliciosas.
LiçÔes aprendidas e recomendaçÔes
Este incidente destaca a importùncia de medidas de segurança robustas em ambientes de CI/CD:
âą Fixação de versĂ”es por hash: Referenciar açÔes do GitHub por hashes de commit especĂficos em vez de tags de versĂŁo, garantindo que o cĂłdigo executado seja exatamente o esperado.
âą RevisĂŁo de permissĂ”es: Aplicar o princĂpio do menor privilĂ©gio para tokens e bots, limitando o acesso apenas ao necessĂĄrio.
âą Monitoramento contĂnuo: Implementar ferramentas que detectem atividades suspeitas ou alteraçÔes inesperadas em repositĂłrios e workflows.
âą Educação e treinamento: Capacitar equipes de desenvolvimento sobre prĂĄticas de segurança em CI/CD e a importĂąncia de revisar dependĂȘncias externas.
ConclusĂŁo
O ataque Ă ação âtj-actions/changed-filesâ serve como um alerta sobre as vulnerabilidades presentes nas cadeias de suprimentos de software e a necessidade de prĂĄticas de segurança rigorosas. OrganizaçÔes devem estar atentas Ă s dependĂȘncias utilizadas em seus workflows e adotar medidas proativas para proteger seus ambientes de desenvolvimento e operaçÔes.
Fontes: BleepingComputer, Cybersecurity Dive, Unit 42, The Hacker News