Salute e malattia

Baseline Revision Tripwire: Configurazione CodeQL per Sicurezza Supply Chain

Un baseline revision tripwire è un meccanismo monitoraggio sicurezza che confronta revisione corrente di un file contro baseline known-good per rilevare cambiamenti non autorizzati o inaspettati. È un layer proattivo in software supply chain security, compliance enforcement, e integrity verification — intercettando drift prima che diventi breach.

Cosa Rileva

  • Aggiunta o rimozione linee specifiche o blocchi codice
  • Modifica o rimozione commenti security-critical (es. annotazioni sicurezza, tag TODO con assegnatari)
  • Cambiamenti a funzioni, metodi, o definizioni classi specifiche
  • Alterazioni parametri configurazione, costanti, o versioni dipendenze
  • Qualsiasi deviazione da baseline hash/firma crittografica

Trigger Incidente

Se file monitorato manca, inaccessibile, o qualsiasi check definito fallisce, un incidente è generato per investigazione immediata.

Esempio Configurazione CodeQL

Il seguente YAML configura un baseline revision tripwire in CodeQL per rilevare aggiunta/rimozione commenti TODO con tag assegnatario in file servizio 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]+\)" 

Breakdown Configurazione

  • file: Path a file sorgente monitorato (relativo a repository root).
  • comment_checks.match: Regex targeting commenti TODO con handle assegnatario (es. TODO(@jdoe)).
  • Quando un commit aggiunge o rimuove commento matching, la query lo flagga e la policy alza alert Medium-severity.

Casi Uso Real-World

  • Protezione sezioni codice security-critical (autenticazione, crittografia, access control)
  • Enforcing policy "no TODO/FIXME in production"
  • Rilevamento cambiamenti non autorizzati versioni dipendenze in lockfiles (package-lock.json, Cargo.lock, go.sum)
  • Monitoraggio infrastructure-as-code (Terraform, Kubernetes manifests) per configuration drift

Baseline revision tripwires completano code review, CI/CD gates, e runtime protection — formando strategia defense-in-depth che cattura ciò che altri layer mancano.