Implementare gli avvisi e gli aggiornamenti della sicurezza di GitHub Dependabot
GitHub Dependabot offre la gestione automatica delle dipendenze integrata direttamente nei repository GitHub. Dependabot monitora le dipendenze per le vulnerabilità di sicurezza e le versioni obsolete, informando i manutentori del repository e creando automaticamente richieste di pull per aggiornare le dipendenze vulnerabili o obsolete. Questa integrazione rende la sicurezza delle dipendenze accessibile a tutti gli utenti di GitHub senza richiedere strumenti separati.
Informazioni su GitHub Dependabot
GitHub Dependabot è costituito da tre funzionalità principali che interagiscono per proteggere le dipendenze:
Avvisi di Dependabot
Gli avvisi Dependabot notificano ai gestori del repository quando vengono rilevate dipendenze vulnerabili. GitHub monitora continuamente il database consultivo GitHub e altre origini di vulnerabilità, confrontandole con le dipendenze usate nei repository.
Trigger di avviso:
- Nuove divulgazioni di vulnerabilità: Gli avvisi vengono creati quando vengono aggiunte nuove vulnerabilità al database di consulenza GitHub.
- Aggiornamenti degli avvisi: Gli avvisi esistenti vengono aggiornati quando le informazioni sulla vulnerabilità cambiano (gravità, versioni interessate, patch).
- Modifiche al grafico delle dipendenze: I nuovi avvisi vengono generati quando le modifiche al codice introducono dipendenze vulnerabili.
- Dati sulle vulnerabilità mend: Altre funzionalità di intelligence sulle vulnerabilità di Mend (in precedenza WhiteSource) integrano il database consultivo GitHub.
Le informazioni sugli avvisi includono:
- Descrizione della vulnerabilità: Spiegazione dettagliata del problema di sicurezza.
- Livello di gravità: Punteggio CVSS e classificazione di gravità (critico, alto, moderato, basso).
- Versioni interessate: Quali versioni delle dipendenze contengono la vulnerabilità.
- Versioni con patch: Quali versioni correggeno la vulnerabilità.
- Identificatore CVE: Identificatore delle Vulnerabilità e Esposizioni Comuni (CVE) quando disponibile.
- Classificazione CWE: Tipo CWE (Common Weakness Enumeration) che classifica la vulnerabilità.
- Collegamento all'avviso di sicurezza di GitHub: Collegamento a un avviso completo con dettagli aggiuntivi.
Aggiornamenti della sicurezza Dependabot
Gli aggiornamenti della sicurezza Dependabot creano automaticamente richieste pull per aggiornare le dipendenze vulnerabili alle versioni sicure. Quando gli avvisi Dependabot rilevano vulnerabilità con patch disponibili, gli aggiornamenti della sicurezza possono generare automaticamente richieste pull che correggeno le vulnerabilità.
Creazione automatica delle richieste pull:
- Attivato dalla vulnerabilità: Gli aggiornamenti di sicurezza creano pull request solo quando vengono rilevate vulnerabilità di sicurezza, non per ogni aggiornamento delle dipendenze.
- Aggiornamenti minimi di versione: Le richieste pull aggiornano le dipendenze alla versione minima che risolve la vulnerabilità mantenendo la compatibilità.
- Punteggi di compatibilità: GitHub calcola i punteggi di compatibilità che stimano se gli aggiornamenti interromperanno le funzionalità esistenti.
- Note sulla versione: le richieste pull includono note sulla versione e informazioni sul changelog dalle dipendenze aggiornate.
Funzionalità della richiesta pull:
- Test automatizzati: Le richieste pull attivano pipeline CI/CD esistenti per verificare che gli aggiornamenti non interrompano la funzionalità.
- Risoluzione della vulnerabilità: Le descrizioni delle richieste pull spiegano quali vulnerabilità vengono risolte dall'aggiornamento.
- Aggiornare i comandi: I commenti speciali consentono ai gestori di controllare i tempi di merge, ribasere le richieste pull o ignorare aggiornamenti specifici.
- Aggiornamenti raggruppati: Quando appropriato, è possibile aggiornare più dipendenze vulnerabili in una singola richiesta pull.
Aggiornamenti delle versioni di Dependabot
Gli aggiornamenti delle versioni di Dependabot mantengono aggiornate le dipendenze anche quando non sono presenti vulnerabilità. A differenza degli aggiornamenti della sicurezza che aggiornano solo le dipendenze vulnerabili, gli aggiornamenti delle versioni aggiornano in modo proattivo le dipendenze alle versioni più recenti in base alle pianificazioni configurate.
Aggiornamenti pianificati:
- Frequenza configurabile: Gli aggiornamenti possono essere pianificati ogni giorno, settimanale o mensile.
- Strategie di aggiornamento: Configurare se aggiornare tutte le dipendenze, solo le dipendenze dirette o gruppi di dipendenze specifici.
- Vincoli di versione: Rispettare i vincoli di controllo delle versioni semantici definiti nei file manifesto.
- Limiti delle richieste pull: Controllare il numero di richieste pull aperte che Dependabot crea per evitare di sovraccaricare i manutentori.
Abilitazione degli avvisi Dependabot
Gli avvisi Dependabot sono abilitati per impostazione predefinita per i repository pubblici, ma devono essere abilitati manualmente per i repository privati.
Abilitare gli avvisi per un repository
Navigazione:
- Passare al repository su GitHub.
- Fare clic su Impostazioni nel menu del repository.
- Fare clic su Sicurezza e analisi nella barra laterale sinistra.
- Trova la sezione Avvisi Dependabot.
- Fare clic su Abilita per attivare gli avvisi Dependabot.
Requisito del grafico delle dipendenze: Gli avvisi Dependabot richiedono l'abilitazione del grafico delle dipendenze. Il grafico delle dipendenze viene abilitato automaticamente per i repository pubblici, ma potrebbe essere necessaria l'attivazione manuale per i repository privati.
Abilitare il grafico delle dipendenze:
- In Impostazioni → Sicurezza e analisi individuare Grafico dipendenze.
- Fare clic su Abilita se il grafico delle dipendenze non è già attivo.
- GitHub inizierà ad analizzare le dipendenze del repository per compilare il grafico delle dipendenze.
Abilitazione a livello di organizzazione
Gli amministratori dell'organizzazione possono abilitare gli avvisi Dependabot in tutti i repository:
Impostazioni dell'organizzazione:
- Vai a Impostazioni dell'organizzazione.
- Fare clic su Sicurezza e analisi nella barra laterale sinistra.
- Fare clic su Abilita tutto accanto ad Avvisi Dependabot per attivare gli avvisi per tutti i repository correnti e futuri.
- Facoltativamente, selezionare Abilita automaticamente per i nuovi repository per abilitare gli avvisi per i repository appena creati.
Ecosistemi di pacchetti supportati
Gli avvisi Dependabot supportano numerosi ecosistemi di pacchetti, tra cui:
Ecosistemi supportati:
- JavaScript: npm (package.json, package-lock.json), Yarn (yarn.lock).
- Python: utilizzando pip (requirements.txt, Pipfile, Pipfile.lock) e Poetry (poetry.lock).
- Ruby: Bundler (Gemfile, Gemfile.lock).
- Java: Maven (pom.xml), Gradle (build.gradle, build.gradle.kts).
- .NET: NuGet (*.csproj, packages.config, paket.dependencies).
- Go: Moduli Go (go.mod, go.sum).
- PHP: Composer (composer.json, composer.lock).
- Rust: Cargo (Cargo.toml, Cargo.lock).
- Elixir: Mix (mix.exs, mix.lock).
- Dart/Flutter: pub (pubspec.yaml, pubspec.lock).
- Docker: Dockerfiles (riferimenti all'immagine base).
- GitHub Actions: File del flusso di lavoro (versioni delle azioni).
- Terraform: Configurazione di Terraform (versioni del modulo).
Configurazione degli aggiornamenti della sicurezza Dependabot
Gli aggiornamenti della sicurezza Dependabot richiedono l'abilitazione esplicita anche quando gli avvisi sono abilitati.
Abilitare gli aggiornamenti della sicurezza
Configurazione del repository:
- Passare a Impostazioni → Sicurezza e analisi.
- Trova gli aggiornamenti di sicurezza di Dependabot.
- Clicca su Abilita per attivare le richieste pull di aggiornamenti automatici di sicurezza.
- Dependabot inizierà a monitorare le dipendenze vulnerabili e a creare richieste pull quando sono disponibili patch.
Configurazione a livello di organizzazione:
- Passare a Impostazioni organizzazione → Sicurezza e analisi.
- Fare clic su Abilita tutto accanto a Dependabot security updates (Aggiornamenti della sicurezza dependabot).
- Selezionare Abilita automaticamente per i nuovi repository per abilitare per i repository futuri.
Comportamento degli aggiornamenti della sicurezza
Creazione automatica delle richieste pull:
- Rilevamento della vulnerabilità: Quando gli avvisi Dependabot rilevano una dipendenza vulnerabile con una patch disponibile, gli aggiornamenti della sicurezza creano una richiesta pull.
- Aggiornamenti minimi: Le richieste pull vengono aggiornate solo alla versione minima che risolve la vulnerabilità.
- Controllo delle versioni semantiche: Gli aggiornamenti rispettano il controllo delle versioni semantiche, preferendo gli aggiornamenti delle patch rispetto a aggiornamenti secondari o principali, quando possibile.
- Test dell'integrazione: Le richieste pull attivano controlli CI/CD esistenti per convalidare gli aggiornamenti.
Punteggi di compatibilità: GitHub calcola i punteggi di compatibilità che indicano la probabilità che gli aggiornamenti interrompano le funzionalità esistenti:
- Compatibilità elevata: L'aggiornamento è probabilmente sicuro in base all'analisi di repository simili.
- Compatibilità media: L'aggiornamento potrebbe introdurre modifiche di rilievo che richiedono la revisione.
- Bassa compatibilità: L'aggiornamento include probabilmente modifiche di rilievo che richiedono modifiche al codice.
- Compatibilità sconosciuta: Dati insufficienti per valutare la compatibilità.
Gestione delle richieste pull:
- Ribasamento automatico: Dependabot effettua automaticamente il ribasamento delle pull request quando il ramo di base cambia.
- Risoluzione dei conflitti: le richieste pull vengono chiuse se i conflitti impediscono la riassegnazione automatica.
- Sostituzione degli aggiornamenti: Le nuove pull request sostituiscono le pull request precedenti quando vengono rilasciate versioni più recenti.
- Aggiornamenti pianificati: Le richieste pull vengono create in base alle pianificazioni configurate per evitare il sovraccarico dei gestori.
Configurazione degli aggiornamenti della versione dependabot
Gli aggiornamenti delle versioni richiedono un file di configurazione che definisce le pianificazioni e il comportamento degli aggiornamenti.
Creare il file di configurazione dependabot.yml
Gli aggiornamenti delle versioni vengono configurati usando un .github/dependabot.yml file nel repository:
Configurazione di base:
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
open-pull-requests-limit: 10
Opzioni di configurazione:
- Versione: Versione dello schema del file di configurazione (sempre 2).
- Aggiornamenti: Matrice di configurazioni di aggiornamento per diversi ecosistemi di pacchetti.
- ecosistema di pacchetti: Gestione pacchetti da monitorare (npm, pip, bundler, maven, nuget e così via).
- directory: percorso dei file manifesto del pacchetto (/ per il percorso radice o sottodirectory).
- schedule.interval: Frequenza di aggiornamento (giornaliera, settimanale, mensile).
- open-pull-requests-limit: Numero massimo di richieste pull aperte Create da Dependabot (impostazione predefinita 5).
Esempio di configurazione avanzata:
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
day: "monday"
time: "08:00"
timezone: "America/New_York"
open-pull-requests-limit: 10
reviewers:
- "team/frontend-developers"
assignees:
- "dependency-manager"
labels:
- "dependencies"
- "npm"
commit-message:
prefix: "npm"
include: "scope"
ignore:
- dependency-name: "lodash"
versions: ["4.x"]
allow:
- dependency-type: "production"
Opzioni avanzate:
- schedule.day: Giorno della settimana per gli aggiornamenti settimanali (da lunedì a domenica).
- schedule.time: Ora del giorno per gli aggiornamenti (formato 24 ore).
- schedule.timezone: Fuso orario per la pianificazione (identificatore fuso orario IANA).
- recensori: agli utenti o ai team di GitHub vengono richieste automaticamente revisioni delle richieste pull.
- Assegnatari: Gli utenti di GitHub vengono assegnati automaticamente alle richieste pull.
- Etichette: Etichette applicate automaticamente alle richieste pull.
- commit-message.prefix: Prefisso per i messaggi di commit (utile per i commit convenzionali).
- ignorare: Dipendenze da ignorare, facoltativamente con intervalli di versioni specifici.
- consentire: tipi di dipendenza da aggiornare (produzione, sviluppo, tutto).
Più ecosistemi di pacchetti
I repository che usano più ecosistemi di linguaggio richiedono configurazioni di aggiornamento separate:
Configurazione multi-ecosistema:
version: 2
updates:
- package-ecosystem: "npm"
directory: "/frontend"
schedule:
interval: "weekly"
- package-ecosystem: "pip"
directory: "/backend"
schedule:
interval: "weekly"
- package-ecosystem: "docker"
directory: "/"
schedule:
interval: "weekly"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "monthly"
Questa configurazione monitora le dipendenze npm in /frontend, le dipendenze Python in /backend, le immagini di base Docker in tutto il repository, e le versioni di GitHub Actions nei flussi di lavoro.
Gestione delle richieste pull di Dipendabot
Le pull request di Dependabot supportano comandi speciali per la gestione degli aggiornamenti.
Comandi richieste pull
Comandi di commento:
-
@dependabot rebase: riassegnare la richiesta pull sul ramo di base corrente. -
@dependabot recreate: Ricrea il pull request, sovrascrivendo eventuali modifiche manuali. -
@dependabot merge: Unisci il pull request dopo il superamento dei controlli CI. -
@dependabot squash and merge: comprimere i commit e unirli una volta superati i controlli. -
@dependabot cancel merge: annulla un'unione richiesta in precedenza. -
@dependabot reopen: Riaprire una Pull Request chiusa. -
@dependabot close: chiudere la richiesta pull e impedire a Dependabot di ricrearla. -
@dependabot ignore this major version: chiudere la richiesta pull e ignorare gli aggiornamenti futuri di questa versione principale. -
@dependabot ignore this minor version: Chiudi il pull request e ignora gli aggiornamenti futuri di questa versione minore. -
@dependabot ignore this dependency: Chiudi il pull request e ignora tutti gli aggiornamenti futuri per questa dipendenza.
Revisione e unione degli aggiornamenti
Processo di revisione:
- Esaminare la descrizione della richiesta pull: Informazioni sulla vulnerabilità risolta o sulla versione aggiornata.
- Esaminare il punteggio di compatibilità: Valutare la probabilità di modifiche che rompono la compatibilità.
- Controllare i risultati CI/CD: Verificare che i test automatizzati passino con successo.
- Esaminare le note sulla versione: comprendere le modifiche incluse nell'aggiornamento delle dipendenze.
- Testare localmente, se necessario: Per gli aggiornamenti principali, testare la funzionalità in locale prima dell'unione.
- Unire la richiesta pull: approvare e unire la richiesta pull per aggiornare la dipendenza.
Unione automatica: Per gli aggiornamenti a basso rischio con punteggi di compatibilità elevati e il superamento dei test, è consigliabile configurare l'unione automatica:
Unione automatica di GitHub Actions:
name: Auto-merge Dependabot PRs
on: pull_request
jobs:
auto-merge:
runs-on: ubuntu-latest
if: github.actor == 'dependabot[bot]'
steps:
- name: Enable auto-merge
run: gh pr merge --auto --squash "$PR_URL"
env:
PR_URL: ${{ github.event.pull_request.html_url }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Questo flusso di lavoro abilita automaticamente l'unione automatica per le richieste pull Dependabot che superano tutti i controlli necessari.
Avvisi e notifiche dependabot
Dependabot fornisce più meccanismi di notifica per gli avvisi di vulnerabilità.
Canali di notifica
Notifiche Web:
- Notifiche di GitHub: Gli avvisi vengono visualizzati nella posta in arrivo delle notifiche di GitHub.
- Scheda Sicurezza: Gli avvisi sono visibili nella scheda Sicurezza del repository in Avvisi Dependabot.
- Informazioni dettagliate sul repository: Il grafico delle dipendenze nella scheda Insights mostra le dipendenze vulnerabili.
Notifiche tramite posta elettronica:
- Messaggi di posta elettronica digest: Messaggi di posta elettronica di riepilogo settimanali che elencano nuovi avvisi.
- Messaggi di posta elettronica in tempo reale: Messaggi di posta elettronica immediati per vulnerabilità critiche.
- Notifiche dell'organizzazione: Gli amministratori dell'organizzazione ricevono notifiche per tutti i repository.
Notifiche personalizzate:
- Webhook: Configurare i webhook per ricevere notifiche di avviso nei sistemi esterni.
- API GitHub: Eseguire una query sull'API degli avvisi Dependabot per recuperare informazioni sugli avvisi a livello di codice.
- Integrazioni di sicurezza: Le piattaforme di sicurezza di terze parti possono integrarsi con gli avvisi Dependabot tramite l'API.
Configurazione delle preferenze di notifica
Impostazioni di notifica utente:
- Passare a Impostazioni di GitHub → Notifiche.
- Individuare la sezione Avvisi di sicurezza .
- Configurare le preferenze di notifica:
- Partecipando: Ricevi notifiche per i repository che stai osservando o a cui stai partecipando.
- Osservazione: Ricevi notifiche per tutti i repository osservati.
- E-mail: Abilitare le notifiche tramite posta elettronica per gli avvisi di sicurezza.
- Web: Abilitare le notifiche web nell'interfaccia utente di GitHub.
Impostazioni di notifica dell'organizzazione:
- Passare a Impostazioni organizzazione → Sicurezza e analisi.
- Configurare gli utenti che ricevono notifiche di avviso di sicurezza:
- Proprietari dell'organizzazione: Ricevere automaticamente tutti gli avvisi di sicurezza.
- Responsabili della sicurezza: Il team di sicurezza designato riceve avvisi.
- Amministratori del repository: Ogni amministratore del repository riceve avvisi per i repository.
Revisione degli avvisi Dependabot
La scheda Sicurezza offre una gestione completa degli avvisi.
Dettagli dell'avviso
Passare agli avvisi:
- Aprire il repository in GitHub.
- Fare clic sulla scheda Sicurezza.
- Fare clic su Avvisi Dependabot nella barra laterale sinistra.
- Esaminare l'elenco degli avvisi attivi.
Informazioni sugli avvisi:
- Severità: Classificazione di gravità critica, alta, moderata o bassa.
- Pacchetto: Nome e versione delle dipendenze interessate.
- Vulnerabilità: CVE identificatore e descrizione.
- Versioni con patch: Versioni che risolvono la vulnerabilità.
- Percorsi di codice vulnerabili: Indica se il codice vulnerabile viene effettivamente usato (se è disponibile l'analisi della raggiungibilità).
- Correzione automatica disponibile: Indica se Dependabot può creare automaticamente una richiesta pull per correggere la vulnerabilità.
Gestione degli avvisi
Azioni di avviso:
- Esaminare la richiesta pull: Se esiste un aggiornamento automatico della sicurezza, esaminare e unire la richiesta pull.
- Ignorare l'avviso: ignorare falsi positivi o rischi accettati con una giustificazione.
- Avviso di snooze: Ignorare temporaneamente gli avvisi che non possono essere risolti immediatamente.
- Riaprire l'avviso: Riaprire gli avvisi ignorati in precedenza se le circostanze cambiano.
Motivi di chiusura:
- Correzione avviata: Il team sta lavorando attivamente alla correzione.
- Nessuna larghezza di banda: Il problema è riconosciuto, ma non può essere risolto attualmente.
- Rischio tollerabile: La vulnerabilità non rappresenta un rischio significativo in questo contesto.
- Inesatto: L'avviso è un falso positivo.
Integrazione di GitHub Advanced Security
GitHub Dependabot è un componente fondamentale di GitHub Advanced Security, la piattaforma di sicurezza completa di GitHub che fornisce funzionalità di sicurezza di livello aziendale per la protezione della supply chain del software.
Funzionalità avanzate di sicurezza
Funzionalità di sicurezza integrate:
- Analisi delle dipendenze: Dependabot analizza automaticamente le dipendenze per individuare vulnerabilità note usando i database di vulnerabilità di GitHub advisory e del settore.
- Scansione dei segreti: Rileva segreti, token e credenziali accidentalmente inseriti nel codice e nella cronologia del repository.
- Analisi del codice: Usa CodeQL e altri motori di analisi per trovare vulnerabilità di sicurezza ed errori di codifica nel codice sorgente.
- Panoramica della sicurezza: Offre visibilità a livello di organizzazione su avvisi di sicurezza, vulnerabilità e stato di correzione.
- Sicurezza della catena di approvvigionamento: Grafico delle dipendenze, revisione delle dipendenze e generazione SBOM per una visibilità completa della supply chain.
Licenze e disponibilità
Accesso alla sicurezza avanzata:
- Repository pubblici: tutte le funzionalità di GitHub Advanced Security sono disponibili gratuitamente nei repository pubblici.
- Repository privati: richiede una licenza di GitHub Advanced Security (inclusa in GitHub Enterprise Cloud e GitHub Enterprise Server).
- GitHub Free/Team: Sono disponibili avvisi Dependabot e aggiornamenti della sicurezza, ma l'analisi del codice e l'analisi dei segreti richiedono una licenza di Advanced Security.
Dashboard panoramica della sicurezza
La panoramica sulla sicurezza offre visibilità a livello di organizzazione:
Metriche di sicurezza dell'organizzazione:
- Tendenze degli avvisi: Visualizzare le tendenze degli avvisi di sicurezza in tutti i repository nel tempo.
- Valutazione del rischio: Identificare i repository con il rischio di sicurezza più elevato in base agli avvisi critici e con gravità elevata.
- Copertura del team: Monitorare quali team hanno funzionalità di sicurezza abilitate e tenere traccia dello stato di avanzamento della correzione.
- Report di conformità: Generare report per i requisiti di conformità e controllo della sicurezza.
Panoramica della sicurezza di Accesso:
- Vai alla tua organizzazione su GitHub.
- Fare clic sulla scheda Sicurezza.
- Esaminare le metriche di sicurezza a livello di organizzazione, i conteggi degli avvisi e le tendenze.
- Eseguire il drill-down in repository o tipi di avviso specifici per un'indagine dettagliata.
Abilitazione della sicurezza avanzata
Per i proprietari dell'organizzazione:
- Vai a Impostazioni dell'organizzazione.
- Fare clic su Sicurezza e analisi del codice.
- Abilitare GitHub Advanced Security per i repository privati.
- Configurare le impostazioni predefinite per:
- Grafico delle dipendenze (abilitato automaticamente).
- Avvisi Dependabot.
- Aggiornamenti della sicurezza Dependabot.
- Scansione di informazioni riservate.
- Analisi del codice (richiede la configurazione del flusso di lavoro).
Abilitazione a livello di repository:
I singoli repository possono abilitare o disabilitare le funzionalità di sicurezza avanzata:
- Passare alle Impostazioni del repository.
- Fare clic su Sicurezza e analisi del codice.
- Abilitare le funzionalità di sicurezza desiderate:
- Grafico delle dipendenze: Obbligatorio per la funzionalità Dependabot.
- Avvisi Dependabot: Notifiche di vulnerabilità.
- Aggiornamenti della sicurezza Dependabot: Correzione automatica delle vulnerabilità delle pull requests.
- Analisi dei segreti: Rilevamento delle perdite di credenziali.
- Analisi del codice: Test di sicurezza delle applicazioni statici (SAST).
Integrazione con i flussi di lavoro di sviluppo
GitHub Advanced Security si integra perfettamente con i processi di sviluppo:
Integrazione delle pull request:
- Revisione delle dipendenze: Verifica automaticamente le modifiche alle dipendenze nelle richieste pull, evidenziando le nuove vulnerabilità introdotte dagli aggiornamenti delle dipendenze.
- Controlli di sicurezza: L'analisi del codice e l'analisi dei segreti vengono eseguite automaticamente nelle richieste pull, bloccando le merge se vengono rilevati problemi critici.
- Revisioni obbligatorie: Configurare le regole di protezione dei rami per richiedere l'approvazione del team di sicurezza per le richieste pull con avvisi di sicurezza.
Criteri di sicurezza:
- SECURITY.md: Definire i criteri di divulgazione delle vulnerabilità e le informazioni sui contatti di sicurezza.
- Proprietari del codice: Assegnare i membri del team di sicurezza come proprietari del codice per i file di dipendenza (package.json, requirements.txt, pom.xml).
- Protezione dei rami: Richiedi controlli di stato per le analisi di sicurezza prima di consentire le operazioni di merge.
Controllo e conformità:
- Log di controllo: Tenere traccia di tutte le azioni correlate alla sicurezza, incluse le eliminazioni degli avvisi, l'abilitazione delle funzionalità e le modifiche di accesso.
- Criteri di sicurezza: Applicare standard di sicurezza a livello di organizzazione in tutti i repository.
- Integrazione della conformità: Esportare i dati di sicurezza per SOC 2, ISO 27001 e altri framework di conformità.
GitHub Advanced Security offre protezione di livello aziendale per la supply chain del software, con Dependabot che funge da base per la gestione della sicurezza delle dipendenze. L'approccio integrato della piattaforma garantisce il rilevamento completo delle vulnerabilità, la correzione automatizzata e la visibilità della sicurezza a livello di organizzazione.
GitHub Dependabot offre una gestione completa e automatizzata della sicurezza delle dipendenze integrata direttamente nei flussi di lavoro di GitHub. Abilitando avvisi, aggiornamenti della sicurezza e aggiornamenti delle versioni, i team di sviluppo possono risolvere in modo proattivo le vulnerabilità e gestire le dipendenze up-to-date con un lavoro manuale minimo. L'unità successiva illustra come integrare i controlli di analisi della composizione software nelle pipeline CI/CD oltre alle funzionalità predefinite di GitHub.