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: weeklyRevisione 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: highFissare 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@b4ffde65f46336ab88eb53be808477a3936bae11L'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 ciGenerare 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-jsonConformità 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: criticalMonitoraggio 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
- Procedure consigliate per la sicurezza in CI/CD
- Gestione dei segreti con GitHub
- Static Application Security Testing (SAST)
- Sicurezza delle dipendenze e della supply chain (SCA)