casa |  | Saúde e Doença >  | Saúde Pública e Segurança | Segurança em Viagens

Tripwire de Revisão de Linha de Base: Configuração do CodeQL para Segurança da Cadeia de Suprimentos

Um tripwire de revisão de linha de base é um mecanismo de monitoramento de segurança que compara a revisão atual de um arquivo contra uma linha de base conhecida como boa para detectar alterações não autorizadas ou inesperadas. É uma camada proativa na segurança da cadeia de suprimentos de software, aplicação de conformidade e verificação de integridade — detectando desvios antes que se tornem uma violação.

O Que Detecta

  • Adição ou exclusão de linhas específicas ou blocos de código
  • Modificação ou remoção de comentários críticos de segurança (ex.: anotações de segurança, tags TODO com responsáveis)
  • Alterações em funções, métodos ou definições de classe específicas
  • Alterações em parâmetros de configuração, constantes ou versões de dependência
  • Qualquer desvio do hash/assinatura criptográfica da linha de base

Gatilho de Incidente

Se o arquivo monitorado estiver faltando, inacessível, ou qualquer verificação definida falhar, um incidente é gerado para investigação imediata.

Exemplo de Configuração do CodeQL

A seguinte configuração YAML configura um tripwire de revisão de linha de base no CodeQL para detectar adição/remoção de comentários TODO com tags de responsável em um arquivo de serviço Java:

queries: - BaselineRevisionTripwire.ql policies: - name: BaselineRevisionTripwirePolicy enabled: true severity: Medium query_ids: - BaselineRevisionTripwire conditions: - BaselineRevisionTripwireCondition: file: src/main/java/org/example/Service.java comment_checks: - match: "TODO\(@[a-zA-Z0-9]+\)" 

Detalhamento da Configuração

  • file: Caminho do arquivo de origem monitorado (relativo à raiz do repositório).
  • comment_checks.match: Regex direcionando comentários TODO com identificador de responsável (ex.: TODO(@jdoe)).
  • Quando um commit adiciona ou remove um comentário correspondente, a consulta o sinaliza e a política gera um alerta de gravidade Média.

Casos de Uso no Mundo Real

  • Protegendo seções de código críticas de segurança (autenticação, criptografia, controle de acesso)
  • Aplicando políticas "sem TODO/FIXME em produção"
  • Detectando alterações não autorizadas na versão de dependência em arquivos de bloqueio (package-lock.json, Cargo.lock, go.sum)
  • Monitorando infraestrutura como código (Terraform, manifests do Kubernetes) para desvio de configuração

Tripwires de revisão de linha de base complementam revisão de código, portões CI/CD e proteção em tempo de execução — formando uma estratégia de defesa em profundidade que captura o que outras camadas perdem.