O Scanner Se Tornou a Ameaça
Trivy é uma ferramenta de segurança. As organizações a utilizam especificamente para proteger seus pipelines de desenvolvimento de software digitalizando imagens de contêiner e repositórios de código em busca de vulnerabilidades conhecidas e segredos codificados. Com 33.200 estrelas no GitHub, é uma das ferramentas de varredura de segurança mais amplamente implantadas no ecossistema DevSecOps. Esse alcance a tornou um alvo excepcionalmente valioso.
Itay Shakury, mantenedor do Trivy na Aqua Security, confirmou que os atores de ameaça usaram credenciais roubadas para forçar envios de dependências maliciosas em praticamente todas as versões marcadas de dois componentes principais do GitHub Actions: trivy-action e setup-trivy. O ataque começou nas primeiras horas de uma manhã de quinta-feira e não foi detectado por horas, durante as quais os pipelines CI/CD automatizados em todo o mundo podem ter extraído e executado o código comprometido.
O Que Significa Forçar um Envio
Um envio forçado é uma operação git que substitui os mecanismos de segurança que protegem os commits existentes de serem sobrescrito. Para GitHub Actions especificamente, isso é particularmente perigoso. Quando os desenvolvedores fixam seus fluxos de trabalho CI/CD em uma tag de ação Trivy específica - uma prática de segurança comum destinada a garantir reprodutibilidade - eles confiam que a tag aponta para o mesmo código que sempre apontou. Forçar envios maliciosos nessas tags quebra silenciosamente essa suposição: a configuração do pipeline parece inalterada, mas agora executa código controlado por atacantes com quaisquer permissões que o ambiente CI/CD forneça.
O Que o Código Malicioso Fez
A análise das tags comprometidas indicou que os atacantes substituíram as dependências legítimas do Trivy por substitutos maliciosos projetados para executar código dentro do ambiente de execução CI/CD. O objetivo era acessar segredos - tokens API, credenciais em nuvem, chaves de assinatura e outros valores sensíveis que os desenvolvedores rotineiramente passam para os pipelines.
Uma ação Trivy comprometida executada em um fluxo de trabalho do GitHub Actions tem acesso a tudo que o fluxo de trabalho tem acesso, que em muitas organizações inclui credenciais de implantação em produção, autenticação de provedor de nuvem, chaves de assinatura de artefatos e repositórios de código-fonte. O raio de explosão potencial de uma única exfiltração pode causar comprometimento da infraestrutura em nuvem, violações de dados e inserção de código malicioso em software de produção.
Resposta e Contexto Mais Amplo
A Aqua Security agiu rapidamente após a confirmação do comprometimento, rotacionando credenciais e restaurando o código legítimo para todas as tags afetadas. A equipe aconselhou todos os usuários a tratarem qualquer pipeline que executou ações Trivy durante a janela de comprometimento como potencialmente afetado e a rotacionar imediatamente todos os segredos acessíveis.
Consenso da comunidade de segurança: fixe GitHub Actions em hashes de commit SHA específicos em vez de nomes de tags mutáveis. Tags podem ser forçadas; hashes de commit não podem ser substituídos silenciosamente sem detecção. Essa prática recomendada conhecida tem visto adoção lenta, e esse incidente provavelmente acelerará mudanças nas políticas CI/CD organizacionais. O ataque é a entrada mais recente em uma lista crescente de compromissos de cadeia de suprimentos direcionados às ferramentas de código aberto que sustentam o desenvolvimento moderno de software - uma tendência que não mostra sinais de desaceleração.
Este artigo é baseado em reportagem da Ars Technica. Leia o artigo original.

