0Pricing
Cyber Security Academy · Lezione

SAST e DAST nelle pipeline CI/CD

Integri SonarQube, Semgrep o Bandit per l'analisi statica e OWASP ZAP per la scansione dinamica nelle pipeline.

SAST e DAST nelle pipeline CI/CD è una lezione Cyber Security Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Cyber Security Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cyber Security Academy include 4 lezioni in totale.

Che cos'è il test della sicurezza delle applicazioni?

Il test della sicurezza delle applicazioni identifica le vulnerabilità prima che il codice raggiunga la produzione. Esistono due approcci complementari: SAST (statico, senza eseguire il codice) e DAST (dinamico, con test su un'applicazione in esecuzione). Entrambi possono essere integrati nelle pipeline CI/CD per applicare la sicurezza secondo il principio shift-left.

SAST: analisi statica della sicurezza delle applicazioni

SAST analizza il codice sorgente, il bytecode o il binario alla ricerca di vulnerabilità di sicurezza senza eseguire il codice. Può essere eseguito a ogni commit, fornendo un feedback rapido.

Punti di forza: individua i bug precocemente, copertura completa del codice, nessun ambiente in esecuzione necessario.

Limitazioni: elevato tasso di falsi positivi, dipendenza dal linguaggio, non rileva i problemi di configurazione a runtime.

Strumenti SAST più diffusi

Strumenti SAST open source:

# Semgrep (multi-language, rule-based):
semgrep --config auto ./src

# Bandit (Python):
bandit -r ./src

# ESLint security plugin (JavaScript):
npx eslint --plugin security ./src

# SpotBugs + FindSecBugs (Java):
mvn spotbugs:check

Integrare SAST nella CI/CD

Esempio di passaggio SAST in GitHub Actions:

# .github/workflows/security.yml
- name: Run Semgrep
  uses: returntocorp/semgrep-action@v1
  with:
    config: p/owasp-top-ten
    auditOn: push
# Fail build if HIGH severity findings present

DAST: analisi dinamica della sicurezza delle applicazioni

DAST esegue test su un'applicazione in esecuzione dall'esterno, simulando un attaccante. Individua le vulnerabilità visibili solo a runtime: problemi di autenticazione, difetti nella gestione delle sessioni e bug nella validazione degli input.

Punti di forza: pochi falsi positivi, indipendenza dal linguaggio, rileva i problemi di configurazione a runtime.

Limitazioni: richiede un ambiente in esecuzione, può non coprire alcuni percorsi del codice.

Strumenti DAST più diffusi

Strumenti DAST per la CI/CD:

# OWASP ZAP (free, scriptable):
docker run -t owasp/zap2docker-stable zap-baseline.py -t https://staging.app.com

# Nikto:
nikto -h https://staging.app.com

# Nuclei (template-based):
nuclei -u https://staging.app.com -t cves/

IAST: test interattivo della sicurezza delle applicazioni

IAST strumenta l'applicazione a runtime utilizzando agent che monitorano l'esecuzione del codice durante i test funzionali. Combina la precisione di SAST con la copertura di DAST. Esempi: Contrast Security, Seeker. Richiede agent specifici per il linguaggio e test in esecuzione.

Applicare la sicurezza secondo il principio shift-left

Shift-left significa anticipare i test di sicurezza nel ciclo di vita dello sviluppo, idealmente nell'IDE dello sviluppatore e nella fase di commit, invece di utilizzarli come gate separato prima del rilascio. Un rilevamento anticipato significa correzioni meno costose.

Moltiplicatore dei costi: un bug rilevato in sviluppo costa 1x; in staging 10x; in produzione 100x.

Gestire i falsi positivi

Gli strumenti SAST producono falsi positivi. Per gestirli:

  • Usare nosec (Bandit) o commenti inline di soppressione per i casi confermati come non problematici
  • Adattare i set di regole al contesto dell'applicazione
  • Documentare la motivazione della soppressione nei commenti del codice
  • Rivedere periodicamente le soppressioni

Architettura della pipeline di sicurezza CI/CD

Una pipeline di sicurezza completa:

  1. Hook pre-commit: scansione dei segreti (gitleaks), SAST (semgrep)
  2. Controlli delle PR: risultati SAST, scansione delle dipendenze (Dependabot)
  3. Deployment in staging: scansione DAST (baseline di ZAP)
  4. Produzione: monitoraggio a runtime (RASP, WAF)

Misurare l'efficacia dell'AppSec

Metriche chiave per l'AppSec nella CI/CD:

  • Tempo medio per correggere i risultati di sicurezza
  • Numero di risultati ogni 1000 righe di codice
  • Tasso di falsi positivi (influisce sulla fiducia degli sviluppatori)
  • Tasso di vulnerabilità sfuggite ai controlli (rilevate in staging rispetto alla produzione)

Verifica rapida: SAST o DAST

Quale tipo di test di sicurezza analizza il codice sorgente senza eseguirlo, fornendo feedback direttamente nella pipeline CI a ogni commit?

Riepilogo della lezione

SAST analizza il codice staticamente (feedback precoce, molti falsi positivi); DAST esegue test dinamici su applicazioni in esecuzione (precisione a runtime, richiede un ambiente). Entrambi fanno parte delle pipeline CI/CD. Anticipare i controlli secondo il principio shift-left consente di rilevare le vulnerabilità quando le correzioni sono meno costose. Strumenti diffusi: Semgrep, Bandit (SAST); OWASP ZAP, Nuclei (DAST). Adattare i set di regole e documentare le soppressioni per gestire i falsi positivi.

Domande Frequenti

La lezione «SAST e DAST nelle pipeline CI/CD» è gratuita?

Sì — il testo completo di «SAST e DAST nelle pipeline CI/CD» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Cyber Security Academy, passa a CoddyKit PRO. Il corso Cyber Security Academy include 4 lezioni in totale.

Cosa imparerò in «SAST e DAST nelle pipeline CI/CD»?

Integri SonarQube, Semgrep o Bandit per l'analisi statica e OWASP ZAP per la scansione dinamica nelle pipeline. Eserciti Cyber Security Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Cyber Security Academy?

Non è richiesta alcuna esperienza precedente. Cyber Security Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.

Quanto tempo richiede la lezione «SAST e DAST nelle pipeline CI/CD»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Cyber Security Academy?

Sì. Ogni lezione Cyber Security Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. SAST e DAST nelle pipeline CI/CD
  2. Analisi della composizione del software (SCA)
  3. Scansione dei segreti e credenziali hardcoded
  4. Security Champion e threat modeling
← Torna a Cyber Security Academy