Sicurezza delle Pipeline DevOps nel 2026: Best Practice DevSecOps e Domande da Colloquio
Guida completa alla sicurezza delle pipeline DevOps nel 2026. Best practice DevSecOps, SAST, SCA, federazione OIDC, sicurezza dei container e domande frequenti nei colloqui.

La sicurezza delle pipeline DevOps è diventata un fattore di differenziazione critico per le organizzazioni che rilasciano software su larga scala. La OWASP Top 10 CI/CD Security Risks identifica le vulnerabilità più pericolose nelle pipeline moderne, dal controllo di flusso insufficiente alle dipendenze di build compromesse. Questa guida copre le pratiche DevSecOps essenziali che gli intervistatori si aspettano dai candidati nel 2026.
DevSecOps integra i controlli di sicurezza in ogni fase del ciclo di vita della delivery del software. Invece di trattare la sicurezza come un gate finale prima della produzione, le pratiche shift-left rilevano le vulnerabilità durante lo sviluppo, quando le correzioni costano meno e vengono implementate più velocemente.
Comprendere la Superficie di Attacco CI/CD
Le pipeline CI/CD moderne presentano una superficie di attacco complessa che comprende repository di codice sorgente, runner di build, registry di artefatti e target di deployment. La compromissione di tj-actions/changed-files nel marzo 2025 ha fatto trapelare secret da oltre 23.000 repository iniettando codice malevolo in una GitHub Action ampiamente utilizzata. L'attacco TanStack all'inizio del 2026 ha pubblicato oltre 170 pacchetti npm avvelenati con provenance SLSA Build Level 3 valida, dimostrando che anche le attestazioni crittografiche possono essere aggirate quando gli attaccanti controllano il processo di build.
Questi incidenti evidenziano tre punti di controllo critici:
- Integrità del sorgente: Regole di branch protection, commit firmati e code review obbligatorie impediscono che modifiche non autorizzate raggiungano la pipeline di build
- Isolamento del build: Runner effimeri, permessi minimi e verifica degli artefatti limitano il raggio d'azione delle dipendenze compromesse
- Igiene dei secret: Credenziali a breve durata, federazione OIDC e scansione dei secret eliminano i token statici che gli attaccanti cercano
Gli intervistatori chiedono spesso ai candidati di tracciare i confini di fiducia in una tipica pipeline di deployment. Una risposta forte mappa ogni fase in cui un attaccante potrebbe iniettare codice o esfiltrare credenziali.
SAST e SCA: Rilevare le Vulnerabilità Precocemente
Lo Static Application Security Testing (SAST) analizza il codice sorgente per individuare falle di sicurezza senza eseguire il programma. La Software Composition Analysis (SCA) identifica vulnerabilità note nelle dipendenze di terze parti. Eseguire entrambi su ogni pull request cattura la maggior parte dei problemi di sicurezza comuni prima che il codice venga mergiato.
# .github/workflows/security.yml
name: Security Scan
on:
pull_request:
branches: [main]
jobs:
sast:
runs-on: ubuntu-latest
permissions:
contents: read
security-events: write
steps:
- uses: actions/checkout@v4
- name: Run CodeQL
uses: github/codeql-action/analyze@v3
with:
languages: javascript,typescript
queries: security-extended
sca:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run Trivy vulnerability scanner
uses: aquasecurity/trivy-action@0.28.0
with:
scan-type: fs
scan-ref: .
severity: HIGH,CRITICAL
exit-code: 1Il workflow sopra esegue CodeQL per SAST e Trivy per SCA. Impostando exit-code: 1 su Trivy si fa fallire la build quando appaiono vulnerabilità high o critical. GitHub Advanced Security e GitLab Ultimate includono funzionalità SAST integrate che si integrano con i rispettivi workflow di merge request.
Gestione dei Secret con Federazione OIDC
Le credenziali a lunga durata memorizzate nelle piattaforme CI/CD rimangono il vettore di attacco più sfruttato nelle compromissioni delle pipeline. GitHub Actions OIDC sostituisce i secret statici con token a breve durata emessi dal cloud provider a runtime.
# .github/workflows/deploy.yml
name: Deploy to AWS
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
permissions:
id-token: write # Required for OIDC
contents: read
steps:
- uses: actions/checkout@v4
- name: Configure AWS credentials via OIDC
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: arn:aws:iam::123456789012:role/GitHubActionsRole
aws-region: us-east-1
# No AWS_ACCESS_KEY_ID or AWS_SECRET_ACCESS_KEY stored anywhere
- name: Deploy to ECS
run: aws ecs update-service --cluster prod --service api --force-new-deploymentLa trust policy del ruolo IAM AWS limita quali repository e branch possono assumere il ruolo:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Federated": "arn:aws:iam::123456789012:oidc-provider/token.actions.githubusercontent.com"
},
"Action": "sts:AssumeRoleWithWebIdentity",
"Condition": {
"StringEquals": {
"token.actions.githubusercontent.com:aud": "sts.amazonaws.com"
},
"StringLike": {
"token.actions.githubusercontent.com:sub": "repo:my-org/my-repo:ref:refs/heads/main"
}
}
}
]
}La condizione limita l'emissione delle credenziali al branch main di un repository specifico. Azure e GCP offrono funzionalità di federazione OIDC equivalenti. Per i secret che devono esistere, HashiCorp Vault e opzioni cloud-native come AWS Secrets Manager forniscono rotazione centralizzata e logging degli accessi.
Pronto a superare i tuoi colloqui su DevOps?
Pratica con i nostri simulatori interattivi, flashcards e test tecnici.
Sicurezza dei Container e Generazione SBOM
Le immagini container introducono dipendenze oltre al codice applicativo. Immagini base, pacchetti di sistema e tool di build portano tutti potenziali vulnerabilità. Scansionare le immagini durante il processo di build e generare una Software Bill of Materials (SBOM) fornisce visibilità nella catena completa delle dipendenze.
# GitLab CI container security
container_scanning:
stage: test
image: registry.gitlab.com/gitlab-org/security-products/analyzers/container-scanning:7
variables:
CS_IMAGE: $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
CS_DOCKERFILE_PATH: Dockerfile
script:
- /analyzer run
artifacts:
reports:
container_scanning: gl-container-scanning-report.json
cyclonedx: gl-sbom.cdx.jsonL'artefatto SBOM in formato CycloneDX consente ai consumatori downstream di verificare le vulnerabilità appena divulgate senza ricostruire. I framework di sicurezza della supply chain come SLSA richiedono la generazione SBOM come controllo baseline.
Dynamic Application Security Testing in Staging
Gli strumenti DAST testano le applicazioni in esecuzione per vulnerabilità che l'analisi statica non può rilevare, inclusi difetti di autenticazione, vulnerabilità injection e configurazioni di sicurezza errate. Eseguire DAST contro un ambiente di staging prima del deployment in produzione cattura problemi che sopravvivono ai gate precedenti.
# .gitlab-ci.yml
dast:
stage: dast
image: registry.gitlab.com/gitlab-org/security-products/analyzers/dast:5
variables:
DAST_WEBSITE: https://staging.example.com
DAST_AUTH_URL: https://staging.example.com/login
DAST_USERNAME: $DAST_USER
DAST_PASSWORD: $DAST_PASSWORD
DAST_AUTH_VERIFICATION_URL: https://staging.example.com/dashboard
script:
- /analyze
artifacts:
reports:
dast: gl-dast-report.json
rules:
- if: $CI_COMMIT_BRANCH == "main"OWASP ZAP fornisce un'alternativa gratuita per i team senza GitLab Ultimate. Le scansioni autenticate testano la funzionalità dietro le pagine di login dove risiedono tipicamente le operazioni sensibili. Per gli ambienti Kubernetes, i test di sicurezza API validano le configurazioni ingress e le policy del service mesh.
Scansione di Sicurezza Infrastructure as Code
Terraform, i manifest Kubernetes e gli Helm chart definiscono l'infrastruttura che gli attaccanti prendono di mira. La scansione IaC cattura le misconfigurazioni prima che raggiungano gli ambienti cloud.
# Checkov IaC scanning in GitHub Actions
iac-scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run Checkov
uses: bridgecrewio/checkov-action@v12
with:
directory: terraform/
framework: terraform
soft_fail: false
output_format: sarif
output_file_path: checkov.sarif
- name: Upload SARIF
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: checkov.sarifCheckov valida le configurazioni Terraform rispetto ai benchmark di sicurezza inclusi CIS e SOC2. L'output SARIF si integra con il tab Security di GitHub per il tracking unificato delle vulnerabilità. I team che usano Ansible possono aggiungere ansible-lint con regole di sicurezza allo stesso stage della pipeline.
Hardening della Supply Chain di GitHub Actions
Pinnare le action a SHA di commit completi previene attacchi basati su tag in cui maintainer o account compromessi fanno force-push di versioni malevole su tag esistenti. La campagna Megalodon nel maggio 2026 ha pushato oltre 5.700 commit malevoli attraverso migliaia di repository in una singola finestra di sei ore.
# Pin to commit SHA, not tag
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
# Avoid mutable tags like @v4 or @latest
# Bad: uses: actions/checkout@v4Dependabot aggiorna le action pinnate a SHA quando vengono rilasciate nuove versioni. La OWASP DevSecOps Guideline raccomanda controlli aggiuntivi:
- Limitare i permessi dei workflow al minimo richiesto usando blocchi
permissions: - Disabilitare i trigger
pull_request_targeto limitarli a PR etichettate da collaboratori - Usare
GITHUB_TOKENcon default read-only a livello di organizzazione - Abilitare required status check e branch protection sui branch predefiniti
Domande Comuni nei Colloqui DevSecOps
Gli intervistatori valutano sia la profondità tecnica che l'esperienza pratica. Queste domande appaiono frequentemente nei colloqui sulla sicurezza DevOps.
D: Come impediresti che i secret vengano committati in un repository?
Hook pre-commit con strumenti come detect-secrets o gitleaks scansionano le modifiche in staging prima del commit. Regole push server-side in GitHub Enterprise o GitLab bloccano i commit contenenti pattern che corrispondono a formati di secret noti. La scansione dei secret dovrebbe anche essere eseguita in CI come rete di sicurezza, poiché gli sviluppatori possono bypassare gli hook locali.
D: Spiega la differenza tra SAST, DAST e SCA.
SAST analizza il codice sorgente senza esecuzione, trovando bug come pattern SQL injection e credenziali hardcoded. SCA identifica vulnerabilità note nelle dipendenze confrontando le versioni dei pacchetti con database CVE. DAST testa le applicazioni in esecuzione inviando richieste malevole e osservando le risposte. Una pipeline matura esegue tutti e tre: SAST e SCA su ogni PR, DAST contro staging prima dei rilasci in produzione.
D: Qual è il principio del privilegio minimo in CI/CD?
I job di build dovrebbero avere solo i permessi necessari per completare il loro compito specifico. Un job che deploya in staging non ha bisogno delle credenziali di produzione. La federazione OIDC lo impone emettendo credenziali scoped a repository, branch e job di workflow specifici. La OWASP CI/CD Top 10 elenca la gestione inadeguata di identità e accessi come rischio principale perché i job compromessi con permessi eccessivi espandono drammaticamente la superficie di attacco.
D: Come verifichi l'integrità delle immagini container?
Le firme content trust (Docker Content Trust, Sigstore cosign) forniscono verifica crittografica che le immagini sono state costruite da pipeline affidabili. Le attestazioni SBOM documentano i componenti all'interno delle immagini. Gli admission controller in Kubernetes rifiutano immagini non firmate o immagini con vulnerabilità critiche note. La scansione del registry cattura vulnerabilità che appaiono dopo il tempo di build.
D: Descrivi un attacco supply chain su CI/CD e come prevenirlo.
L'attacco tj-actions/changed-files ha compromesso una GitHub Action ampiamente usata, iniettando codice che esfiltra secret verso endpoint controllati dagli attaccanti. Le misure preventive includono: pinnare le action a SHA di commit invece di tag, usare Dependabot per aggiornare le versioni pinnate, limitare quali action possono essere eseguite tramite policy a livello di organizzazione, e monitorare i workflow run per connessioni di rete inaspettate o accessi a credenziali.
Inizia a praticare!
Metti alla prova le tue conoscenze con i nostri simulatori di colloquio e test tecnici.
Costruire una Roadmap DevSecOps per i Colloqui Tecnici
I candidati che dimostrano un pensiero strutturato sull'implementazione della sicurezza si distinguono. Un rollout DevSecOps pratico dà priorità prima ai controlli ad alto impatto e basso sforzo:
- Abilitare immediatamente la scansione dei secret e la branch protection, poiché entrambe sono gratuite e bloccano i vettori di attacco più comuni
- Aggiungere SAST e SCA ai check delle pull request nel primo sprint, catturando le vulnerabilità prima del merge
- Migrare dalle credenziali statiche alla federazione OIDC, eliminando i secret più pericolosi dalle piattaforme CI/CD
- Implementare la scansione dei container e la generazione SBOM come parte delle build delle immagini
- Deployare la scansione IaC per Terraform, Kubernetes e configurazione cloud
- Aggiungere DAST per le applicazioni con autenticazione o gestione di dati sensibili
- Stabilire il monitoring runtime con Falco o equivalente per i cluster Kubernetes di produzione
Gli intervistatori apprezzano i candidati che riconoscono i tradeoff. La scansione di sicurezza aggiunge latenza alla pipeline. I falsi positivi creano alert fatigue. Una pratica DevSecOps matura calibra le soglie, accetta rischi calcolati con controlli compensativi e misura continuamente il tempo medio di remediation.
Inizia a praticare!
Metti alla prova le tue conoscenze con i nostri simulatori di colloquio e test tecnici.
Sapresti trovare il bug in DevOps?
Uno snippet reale, un bug nascosto, un tentativo al giorno. Senza account per provare.

Scritto da
Anthony Fillion-MailletFondatore di SharpSkill
Sviluppatore fullstack da oltre 10 anni. Guida SharpSkill e risponde di tutto ciò che vi viene pubblicato.
Aggiornato il 8 settembre 2026
Condividi
Articoli correlati

Sicurezza delle Pipeline DevOps nel 2026: SAST, DAST, Supply Chain e Domande per Colloqui
Guida completa alla protezione delle pipeline CI/CD nel 2026. Copre SAST, DAST, SCA, SBOM, SLSA provenance e domande pratiche per colloqui DevSecOps.

Kubernetes Secrets Management 2026: External Secrets, Vault e Domande da Colloquio
Padroneggiare la gestione dei segreti Kubernetes con External Secrets Operator e HashiCorp Vault. Pattern sicuri, errori comuni da evitare e preparazione per domande da colloquio DevOps sui segreti k8s.

Ansible vs Terraform 2026: Infrastructure as Code e Domande per Colloqui DevOps
Confronto completo tra Ansible e Terraform per colloqui DevOps. Gestione dello state, approcci dichiarativi vs procedurali e best practice per Infrastructure as Code.