O zizmor é uma ferramenta de análise estática para fluxos de trabalho do GitHub Actions que também verifica configurações do Dependabot e do pre-commit. Ele sinaliza falhas de configuração que atacantes podem explorar, incluindo injeção de template, permissões excessivamente amplas e ações fixadas em tags mutáveis, além do uso de gatilhos arriscados como o pull_request_target. Ele também pode corrigir alguns dos problemas identificados automaticamente.
Este ano, atacantes exploraram um pull_request_target workflow no repositório do Trivy e, em seguida, reescreveram as tags de sua GitHub Action para que as pipelines que referenciavam essas tags executassem o código dos atacantes. Nossas equipes usaram o zizmor em projetos de clientes, executando-o a partir da linha de comando e como um hook de pré-commit enquanto escreviam workflows. Agentes de programação também podem executá-lo, fornecendo feedback rápido sobre as pipelines que escrevem.
Em meio à atenção voltada para a varredura de segurança impulsionada por IA, gostamos de ter uma ferramenta determinística para esse trabalho. O Snyk e o Wiz cobrem parte do mesmo terreno comercialmente e linters genéricos detectam alguns desses problemas, mas o zizmor é gratuito e de código aberto. Sua desvantagem é o escopo: ele não cobre nenhuma outra plataforma de CI além do GitHub Actions. Equipes que usam o GitHub Actions devem avaliar o zizmor juntamente com a confiança zero para pipelines de CI/CD.