Abilita scansione delle vulnerabilità

Questa guida descrive come migliorare la tua security posture attivando la funzionalità di analisi delle vulnerabilità in Secure Source Manager.

L'analisi delle vulnerabilità rileva automaticamente le vulnerabilità note nelle dipendenze del codice sorgente, analizzando ogni nuovo commit in una richiesta di pull. Le vulnerabilità vengono presentate sia nelle visualizzazioni delle richieste di pull sia in una scheda Sicurezza a livello di repository.

Abilita scansione delle vulnerabilità

Assicurati che i seguenti ruoli e impostazioni siano abilitati per il tuo repository.

Ruoli obbligatori

Per ottenere l'autorizzazione necessaria per attivare l'analisi delle vulnerabilità, chiedi all'amministratore di concederti il ruolo IAM Secure Source Manager Repository Admin (roles/securesourcemanager.repoAdmin) nel repository Secure Source Manager. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questo ruolo predefinito contiene l'autorizzazione securesourcemanager.repositories.update, necessaria per attivare l'analisi delle vulnerabilità.

Potresti anche ottenere questa autorizzazione con ruoli personalizzati o altri ruoli predefiniti.

Per informazioni sulla concessione dei ruoli di Secure Source Manager, consulta Controllo dell'accesso con IAM e Concedi agli utenti l'accesso alle istanze.

Aggiorna le impostazioni del repository

Puoi attivare l'analisi delle vulnerabilità per i tuoi repository tramite l'interfaccia di Secure Source Manager:

  1. Vai al repository in cui vuoi attivare l'analisi delle vulnerabilità.
  2. Fai clic sull'icona delle Impostazioni.
  3. Individua il pulsante di attivazione/disattivazione Analisi delle vulnerabilità.
  4. Fai clic sul pulsante di attivazione/disattivazione per impostarlo su On.
  5. Fai clic sul pulsante Update Settings (Aggiorna impostazioni).

Utilizzo dell'analisi delle vulnerabilità

Dopo aver attivato l'analisi delle vulnerabilità, vengono eseguite automaticamente le seguenti scansioni:

  • Analisi pianificate: i commit head di tutti i rami, una volta al giorno.
  • Scansioni delle richieste di pull:
    • I commit head delle nuove richieste di pull, al momento della creazione della richiesta di pull.
    • Nuovi commit inviati alle richieste di pull, al momento del push.

Vengono rilevate solo le vulnerabilità delle dipendenze del tuo codice. Le scansioni delle vulnerabilità rilevano le vulnerabilità elencate nei database pubblici, inclusi, a titolo esemplificativo, il National Vulnerability Database e il GitHub Advisory Database. Le vulnerabilità rilevate includono un link esterno ai dati del database pubblico sulla vulnerabilità e, se disponibile, l'ID CVE.

Scheda Sicurezza

Dopo aver attivato l'analisi delle vulnerabilità, nella barra di navigazione del repository viene visualizzata una scheda Sicurezza, che puoi utilizzare per cercare le vulnerabilità analizzate fino a un periodo di conservazione di 3 anni.

La scheda Sicurezza include i risultati delle scansioni pianificate e delle richieste di pull.

Per impostazione predefinita, il filtro Trovato in della scheda Sicurezza verrà impostato sul branch visualizzato più di recente (o sul branch predefinito del repository). Per visualizzare altre vulnerabilità, modifica o cancella il filtro Trovato in.

La scheda Sicurezza include i seguenti dati su ogni vulnerabilità:

  • Gravità: la gravità della vulnerabilità in termini di sicurezza, in base alla valutazione della fonte del database delle vulnerabilità pubbliche.
  • ID: l'ID CVE pubblico, se disponibile, altrimenti un altro identificatore come l'ID GHSA. Inoltre, se disponibile, un link esterno alla voce del database pubblico per la vulnerabilità.
  • Trovato in: la SHA del commit Git analizzato, nonché un elenco di tutti i rami Git, i tag Git o le richieste di pull per cui questo è l'ultimo commit.
  • File: il file di origine del repository che includeva la dipendenza vulnerabile e, se disponibile, il numero di riga.
  • Pacchetto: il nome del pacchetto dipendente e la relativa versione contenente la vulnerabilità. Se nota, viene elencata anche la versione del pacchetto che risolve la vulnerabilità.
  • Descrizione: se disponibile, una descrizione della vulnerabilità.
  • Rilevamento: la data della scansione che ha rilevato la vulnerabilità.

Nella scheda Sicurezza sono disponibili i seguenti filtri:

  • Gravità: visualizza solo le vulnerabilità con la gravità specificata (CRITICAL, HIGH, MEDIUM o LOW).
  • Trovata in: visualizza solo le vulnerabilità rilevate nel branch, nel tag o nello SHA del commit Git specificato.
  • File: visualizza solo le vulnerabilità rilevate nel percorso di origine specificato. Accetta sottostringhe; ad esempio, project/ può essere utilizzato per filtrare le dipendenze vulnerabili nella directory project/.
  • Vulnerabilità: cerca una vulnerabilità in base ai suoi dati pubblici, ad esempio l'ID, la descrizione o il nome del pacchetto interessato. Accetta sottostringhe.
  • Data da e A: visualizza solo le vulnerabilità rilevate rispettivamente dopo o prima delle date indicate. Formato: YYYY-MM-DD.

Richieste di pull

Al termine della scansione di una richiesta di pull, le vulnerabilità rilevate vengono visualizzate nella scheda Conversazione della richiesta di pull. Le scansioni controllano tutti i file del repository. Potrebbero essere incluse vulnerabilità provenienti da file non modificati nella richiesta di pull.

Le richieste di pull mostrano una visualizzazione abbreviata delle principali vulnerabilità rilevate. Per visualizzare l'elenco completo e i dettagli delle vulnerabilità per la richiesta di pull, fai clic sul link Risultati completi per visualizzarli nella scheda Sicurezza del repository.

Le vulnerabilità non impediscono l'unione delle richieste di pull.

Tipi di file supportati

Verrà eseguita la scansione dei file dei pacchetti per le seguenti lingue per rilevare vulnerabilità delle dipendenze:

Supportato
Vai
Java
JavaScript
Node.js
PHP
Python
Ruby
Rust
TypeScript
.NET

Passaggi successivi