Integração do Checkov com GitHub Actions
Introdução
Integrar o Checkov com o GitHub Actions é uma forma eficaz de garantir que sua infraestrutura como código seja validada automaticamente em cada push ou pull request. Com isso, você garante segurança e conformidade de forma automatizada, diretamente no seu fluxo de CI/CD.
O que você precisa
- Um repositório no GitHub contendo código Terraform
- Um arquivo
.github/workflows/checkov.yml
Exemplo de workflow com Checkov
name: Terraform Security Scan
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
checkov-scan:
name: Checkov Scan
runs-on: ubuntu-latest
steps:
- name: Checkout do repositório
uses: actions/checkout@v3
- name: Instalar Checkov
uses: bridgecrewio/checkov-action@master
with:
directory: ./infra
quiet: true
soft_fail: false
output_format: cli
Explicação das opções
directory: caminho do diretório Terraformquiet: suprime logs menos relevantessoft_fail: setrue, não falha o pipeline mesmo com errooutput_format: formato do relatório (cli, json, sarif, etc.)
Output esperado no GitHub Actions
- Checkov será executado automaticamente
- Serão listados os checks que passaram e os que falharam
- Em caso de falhas, o PR/push pode ser bloqueado (se
soft_fail: false)
Melhores práticas
- Rode o Checkov em todos os pull requests
- Combine com
terraform fmteterraform validatepara validação completa - Use
output_format: sarifpara integrar com GitHub Code Scanning - Configure
soft_failparatrueem fase inicial efalseem ambientes mais restritivos - Armazene relatórios como artefatos para auditoria futura
Conclusão
Integrar o Checkov ao GitHub Actions é uma forma simples e eficaz de implementar segurança e conformidade como parte nativa do seu ciclo de desenvolvimento. Automatizar essas checagens reduz riscos e aumenta a confiança nas entregas de infraestrutura.