DevSecOps significa spostare i controlli di sicurezza dentro la pipeline, il più a sinistra possibile ("shift left") – trovare i problemi al commit costa cento volte meno che in produzione. I gate che una pipeline matura mette in fila:
- secret scanning (gitleaks): blocca le credenziali prima che entrino in git
- SAST (analisi statica del codice: Semgrep, CodeQL): vulnerabilità nel tuo codice
- SCA (Software Composition Analysis): CVE nelle dipendenze – più SBOM e blocco delle dipendenze allucinate
- scansione immagini e IaC (Trivy, Checkov): container e infrastruttura
- DAST (test dinamico sull'app in esecuzione): l'attacco simulato prima del rilascio
- firma degli artefatti (sigstore, provenance SLSA) all'uscita
Le due regole che rendono DevSecOps praticabile invece che odiato: i gate devono fallire la build quando serve (un warning ignorato non è un controllo), ma con soglie tarate – se blocca su ogni CVE informativa, gli sviluppatori lo aggirano, e hai perso. È lo stesso principio del gate draconiano di questo progetto: rigido su ciò che conta, silenzioso sul rumore. Nel portfolio, vibe-check è un gate anti-slop in questo spirito.