0Pricing
CI/CD with GitHub Actions & DevOps Pipelines · Lezione

Sicurezza delle dipendenze e della supply chain (SCA)

Protegga la pipeline dai pacchetti di terze parti vulnerabili usando Software Composition Analysis, Dependabot, la dependency review e le action bloccate a una versione specifica.

Sicurezza delle dipendenze e della supply chain (SCA) è una lezione CI/CD with GitHub Actions & DevOps Pipelines gratuita su CoddyKit. Questa è la lezione 4 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 CI/CD with GitHub Actions & DevOps Pipelines, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso CI/CD with GitHub Actions & DevOps Pipelines include 4 lezioni in totale.

Il rischio della software supply chain

Le applicazioni moderne sono composte principalmente da dipendenze di terze parti. Un singolo pacchetto vulnerabile in profondità nell'albero delle dipendenze può compromettere l'intera applicazione.

Questo è il rischio della software supply chain e proteggerla è una parte fondamentale del DevSecOps.

Che cos'è SCA?

Software Composition Analysis (SCA) analizza le dipendenze del progetto e le confronta con database di vulnerabilità note (CVE).

A differenza di SAST, che esamina il proprio codice, SCA si concentra sulle librerie importate.

  • Rileva le versioni note per essere vulnerabili
  • Segnala le licenze rischiose o incompatibili
  • Suggerisce versioni sicure a cui eseguire l'aggiornamento

Avvisi di Dependabot

GitHub mette a disposizione Dependabot, che analizza continuamente i file manifest e genera avvisi quando una dipendenza presenta una vulnerabilità nota.

Lo abiliti in Impostazioni > Sicurezza del codice e analisi. Gli avvisi vengono visualizzati nella scheda Security, con indicazioni sulla gravità.

Aggiornamenti automatici delle dipendenze

Dependabot può anche aprire automaticamente pull request per aggiornare le dipendenze vulnerabili. Lo configuri con un file dependabot.yml.

version: 2
updates:
  - package-ecosystem: npm
    directory: /
    schedule:
      interval: weekly

Revisione delle dipendenze nelle PR

dependency-review-action viene eseguita sulle pull request e blocca il merge se una PR introduce una dipendenza con una vulnerabilità nota.

In questo modo la sicurezza viene portata nelle fasi iniziali, individuando i pacchetti rischiosi prima che raggiungano il branch principale.

  - name: Dependency Review
    uses: actions/dependency-review-action@v4
    with:
      fail-on-severity: high

Fissare le versioni delle action

Le action chiamate in un workflow sono a loro volta dipendenze. Fare riferimento a @v4 significa fidarsi di chiunque controlli quel tag.

Per ottenere il massimo livello di sicurezza, fissi le action a uno SHA completo del commit, che è immutabile.

  - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11

L'importanza dei lockfile

Un lockfile, come package-lock.json o poetry.lock, fissa le versioni esatte delle dipendenze e i relativi hash.

In CI utilizzi un comando di installazione deterministico, così le build sono riproducibili e non possono scaricare in modo silenzioso una versione manomessa.

  - name: Install (locked)
    run: npm ci

Generare un SBOM

Un Software Bill of Materials (SBOM) è un inventario completo di ogni componente presente nella build. È sempre più spesso richiesto per motivi di conformità.

GitHub può esportare un SBOM in formato SPDX e strumenti come Syft possono generarne uno all'interno della CI.

  - name: Generate SBOM
    uses: anchore/sbom-action@v0
    with:
      format: spdx-json

Conformità delle licenze

SCA copre anche il rischio legato alle licenze. Includere una libreria con licenza GPL in un prodotto proprietario può creare obblighi legali.

Configuri lo scanner affinché segnali o blocchi le licenze non consentite, in modo che il problema emerga nella CI anziché durante un audit.

Far fallire la build

Il rilevamento è utile solo se impedisce l'introduzione di codice problematico. Configuri i controlli SCA affinché facciano fallire la pipeline quando viene rilevata una vulnerabilità critica.

Imposti una soglia di gravità, in modo che i problemi a basso rischio generino un avviso mentre quelli critici blocchino il merge o il deploy.

    with:
      fail-on-severity: critical

Monitoraggio continuo

Ogni giorno vengono divulgate nuove vulnerabilità, quindi una scansione una tantum non è sufficiente. Esegua SCA secondo una pianificazione e a ogni PR.

In questo modo vengono rilevati i pacchetti che erano sicuri al momento del merge, ma che sono diventati vulnerabili in seguito.

on:
  schedule:
    - cron: '0 6 * * 1'

Verifica rapida

Verifichi la propria comprensione della sicurezza della supply chain.

Riepilogo

Ha imparato a proteggere la software supply chain.

  • SCA analizza le dipendenze alla ricerca di vulnerabilità note
  • Dependabot genera avvisi e aggiorna automaticamente i pacchetti rischiosi
  • La revisione delle dipendenze blocca le PR rischiose
  • Fissi le action agli SHA, utilizzi i lockfile e generi un SBOM

Insieme a SAST e alla gestione dei secret, questi elementi completano una pipeline sicura.

Domande Frequenti

La lezione «Sicurezza delle dipendenze e della supply chain (SCA)» è gratuita?

Sì — il testo completo di «Sicurezza delle dipendenze e della supply chain (SCA)» è 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 CI/CD with GitHub Actions & DevOps Pipelines, passa a CoddyKit PRO. Il corso CI/CD with GitHub Actions & DevOps Pipelines include 4 lezioni in totale.

Cosa imparerò in «Sicurezza delle dipendenze e della supply chain (SCA)»?

Protegga la pipeline dai pacchetti di terze parti vulnerabili usando Software Composition Analysis, Dependabot, la dependency review e le action bloccate a una versione specifica. Eserciti CI/CD with GitHub Actions & DevOps Pipelines 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 CI/CD with GitHub Actions & DevOps Pipelines?

Non è richiesta alcuna esperienza precedente. CI/CD with GitHub Actions & DevOps Pipelines su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Sicurezza delle dipendenze e della supply chain (SCA)»?

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 CI/CD with GitHub Actions & DevOps Pipelines?

Sì. Ogni lezione CI/CD with GitHub Actions & DevOps Pipelines 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. Procedure consigliate per la sicurezza in CI/CD
  2. Gestione dei segreti con GitHub
  3. Static Application Security Testing (SAST)
  4. Sicurezza delle dipendenze e della supply chain (SCA)
← Torna a CI/CD with GitHub Actions & DevOps Pipelines