Panoramica della scansione dei container

L'analisi dei container identifica le vulnerabilità e i pacchetti dannosi nuovi ed esistenti nelle dipendenze open source per le immagini container nei repository Artifact Registry. Artifact Analysis offre due modi per analizzare i pacchetti: analisi automatica e analisi on demand. Questo documento descrive entrambi i tipi di analisi.

Artifact Analysis fornisce anche la gestione dei metadati. Per scoprire di più su come utilizzare l'analisi e l'archiviazione dei metadati insieme per proteggere la pipeline CI/CD end-to-end, consulta la panoramica di Artifact Analysis.

Per scoprire di più sui costi associati all'analisi delle immagini container, consulta la sezione sui prezzi.

Questa panoramica presuppone che tu abbia già familiarità con l'utilizzo dei repository Docker in Artifact Registry.

Analizzare le immagini per rilevare le vulnerabilità

Artifact Analysis esegue analisi delle vulnerabilità e dei pacchetti dannosi sugli artefatti in Artifact Registry. Artifact Analysis identifica anche le dipendenze e le licenze per aiutarti a comprendere la composizione del software.

L'analisi automatica comprende due attività principali: analisi automatica e analisi continua.

Analisi automatica

Artifact Analysis analizza le nuove immagini quando vengono caricate in Artifact Registry. Questa analisi estrae informazioni sui pacchetti nel container. Le immagini vengono analizzate una sola volta, in base al digest dell'immagine. Ciò significa che l'aggiunta o la modifica dei tag non attiverà nuove analisi.

Artifact Analysis rileva solo le vulnerabilità e il software dannoso nei pacchetti monitorati pubblicamente. I dati sulle vulnerabilità provengono da vari provider upstream, mentre i dati sui pacchetti dannosi provengono dal repository di pacchetti dannosi OpenSSF. I pacchetti dannosi vengono segnalati come vulnerabilità con gravità CRITICAL.

Al termine dell'analisi di un'immagine, il risultato della vulnerabilità prodotto è la raccolta delle occorrenze di vulnerabilità per quell'immagine.

Le analisi automatiche delle vulnerabilità rilevano anche i secret, come le chiavi API e le chiavi dei account di servizio, in modo da impedire l'esposizione dei dati sensibili. Questa funzionalità è in anteprima pubblica. Per saperne di più, consulta la sezione Analizzare i secret.

Analisi continua

Artifact Analysis crea occorrenze per le vulnerabilità e i pacchetti dannosi rilevati quando carichi l'immagine. Dopo l'analisi iniziale, monitora continuamente i metadati delle immagini analizzate in Artifact Registry per rilevare nuove vulnerabilità e pacchetti dannosi.

Artifact Analysis riceve informazioni nuove e aggiornate sulle vulnerabilità e sui pacchetti dannosi da fonti di vulnerabilità più volte al giorno. Quando arrivano nuovi dati sulle vulnerabilità o sui pacchetti dannosi, Artifact Analysis aggiorna i metadati delle immagini analizzate per mantenerli aggiornati. Artifact Analysis aggiorna le occorrenze esistenti, crea nuove occorrenze per le nuove note ed elimina le occorrenze non più valide.

Artifact Analysis continua ad analizzare immagini e pacchetti purché sia stato eseguito il pull negli ultimi 30 giorni. Dopo 30 giorni, i metadati delle immagini e dei pacchetti analizzati non verranno più aggiornati e i risultati saranno obsoleti.

Artifact Analysis archivia i metadati che sono rimasti inattivi per più di 90 giorni. Questi metadati archiviati possono essere valutati solo utilizzando l'API. Puoi analizzare di nuovo un'immagine con metadati obsoleti o archiviati eseguendo il pull dell'immagine. L'aggiornamento dei metadati può richiedere fino a 24 ore. I pacchetti con metadati obsoleti o archiviati non possono essere analizzati di nuovo.

Architetture

Artifact Analysis può analizzare le immagini su qualsiasi architettura basata su Linux.

Puoi anche utilizzare l'analisi delle vulnerabilità con gli elenchi di manifest. Un elenco di manifest è un elenco di puntatori ai manifest per diverse piattaforme. Consentono a una singola immagine di funzionare con più architetture o varianti di un sistema operativo.

Se l'elenco di manifest contiene un'immagine Linux amd64, Artifact Analysis la analizzerà. In caso contrario, Artifact Analysis seleziona un'immagine diversa dall'elenco.

Analisi on demand

L'analisi on demand consente di analizzare le immagini container localmente sul computer o nel registro utilizzando gcloud CLI. In questo modo, puoi personalizzare la pipeline CI/CD a seconda di quando devi accedere ai risultati delle vulnerabilità.

Tipi di pacchetti supportati

Quando esegui il push delle immagini container nei repository Docker in Artifact Registry, Artifact Analysis può analizzare le vulnerabilità in diversi tipi di pacchetti del sistema operativo e pacchetti di linguaggio dell'applicazione.

Le tabelle seguenti mettono a confronto i tipi di pacchetti che Artifact Analysis può analizzare con ogni servizio di analisi:

Pacchetti del sistema operativo supportati

Analisi automatica con Artifact Registry Analisi on demand
AlmaLinux OS
Alpina
CentOS
Chainguard
Debian
Google Distroless
MinimOS
Red Hat Enterprise Linux (RHEL)
Red Hat Universal Base Image (UBI)
Rocky Linux
SUSE Linux Enterprise Server (SLES)
Ubuntu
Wolfi

Pacchetti di linguaggio dell'applicazione supportati

Analisi automatica con Artifact Registry Analisi on demand
Pacchetti Go
Pacchetti Java
Pacchetti Node.js
Pacchetti PHP
Pacchetti Python
Pacchetti Ruby
Pacchetti Rust
Pacchetti .NET

Per saperne di più sulle funzionalità disponibili per ogni prodotto del registro, consulta la tabella comparativa.

Artifact Analysis non è supportato sui container Windows Server.

Interfacce di Artifact Analysis

Nella Google Cloud console, puoi visualizzare le vulnerabilità delle immagini e i metadati delle immagini per i container in Artifact Registry.

Puoi utilizzare gcloud CLI per visualizzare le vulnerabilità e i metadati delle immagini.

Puoi anche utilizzare l' API REST di Artifact Analysis per eseguire una di queste azioni. Come per le altre API di Google Cloud, devi autenticare l'accesso utilizzando OAuth2. Dopo l'autenticazione, puoi utilizzare l'API anche per creare note e occorrenze personalizzate e visualizzare le occorrenze di vulnerabilità.

L'API Artifact Analysis supporta sia gRPC sia REST/JSON. Puoi effettuare chiamate all'API utilizzando le librerie client o cURL per REST/JSON.

Trovare i percorsi dei file dei pacchetti

Quando Artifact Analysis rileva una vulnerabilità, potresti non riconoscere il pacchetto vulnerabile come dipendenza nel tuo artefatto. Questo può accadere se il gestore di pacchetti lo introduce o se il pacchetto è una dipendenza transitiva, ovvero una dipendenza di una delle tue dipendenze.

Per trovare il percorso del file che ha causato un risultato di vulnerabilità:

  1. Nella Google Cloud console, vai all'elenco delle vulnerabilità per un artefatto in Vai ad Artifact Registry.
  2. Per la vulnerabilità che vuoi esaminare, fai clic su VISUALIZZA CORREZIONE.
  3. Nel riquadro dei dettagli, fai clic su MOSTRA ALTRE INFO.

    Il campo Percorso file mostra il percorso del pacchetto vulnerabile.

Controllare il deployment di immagini vulnerabili

Puoi integrare Artifact Analysis con Autorizzazione binaria per creare attestazioni che possono impedire l'esecuzione di immagini container con problemi di sicurezza noti nell'ambiente di deployment.

Puoi anche utilizzare Autorizzazione binaria per creare una lista consentita di vulnerabilità basata sulle informazioni sulle vulnerabilità fornite da Artifact Analysis nell'ambito del deployment. Se le vulnerabilità violano la policy nella lista consentita, riceverai un avviso.

Infine, puoi utilizzare l'analisi on demand per bloccare e non riuscire le build in base alla gravità delle vulnerabilità rilevate.

Fonti di vulnerabilità

La sezione seguente elenca le fonti di vulnerabilità che Artifact Analysis utilizza per ottenere i dati CVE.

Analisi dei pacchetti del sistema operativo

Artifact Analysis utilizza le seguenti fonti:

Analisi dei pacchetti di linguaggio

Artifact Analysis supporta l'analisi delle vulnerabilità e dei pacchetti dannosi per i pacchetti di linguaggio all'interno di un'immagine container.

  • I dati sulle vulnerabilità vengono ottenuti dal database di avvisi di GitHub.
  • I dati sui pacchetti dannosi vengono ottenuti dal repository di pacchetti dannosi OpenSSF. I pacchetti dannosi vengono segnalati come risultati con gravità CRITICAL. Artifact Analysis rileva i pacchetti dannosi che rientrano nelle seguenti categorie:

    • Typosquatting o confusione delle dipendenze: pacchetti pubblicati con nomi simili a pacchetti popolari per indurre gli utenti a installarli.
    • Takeover dell'account: pacchetti legittimi compromessi da utenti malintenzionati.
    • Binari dannosi: binari precompilati per un pacchetto che contiene codice dannoso.
    • Attività dei ricercatori di sicurezza: pacchetti creati dai ricercatori per dimostrare le vulnerabilità o monitorare l'utilizzo dei pacchetti.

Nella maggior parte dei casi, a ogni vulnerabilità viene assegnato un ID CVE e questo ID diventa l'identificatore principale per quella vulnerabilità. Nei casi in cui non viene assegnato un ID CVE a una vulnerabilità, viene assegnato un ID GHSA come identificatore. Se in un secondo momento alla vulnerabilità viene assegnato un ID CVE, l'ID della vulnerabilità viene aggiornato in modo che corrisponda al CVE. Gli avvisi sui pacchetti dannosi hanno ID con il prefisso MAL-. Per saperne di più, consulta la sezione Controllare una vulnerabilità specifica in un progetto.

Versioni del sistema operativo supportate

Artifact Analysis supporta l'analisi delle vulnerabilità per le seguenti versioni del software del sistema operativo:

  • AlmaLinux OS: versioni 8, 9, 10 e versioni secondarie
  • Alpine Linux: versioni 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, 3.11, 3.12, 3.13, 3.14, 3.15, 3.16, 3.17, 3.18, 3.19, 3.20, 3.21, 3.22, 3.23
  • CentOS: versioni 6, 7, 8 e versioni secondarie
  • Chainguard: aggiornamenti in sequenza su un singolo canale di rilascio.
  • Debian GNU/Linux: versioni 11, 12, 13, 14, 15
  • MinimOS: aggiornamenti in sequenza su un singolo canale di rilascio.
  • Red Hat Enterprise Linux (RHEL): le versioni 7, 8, 9 e le versioni secondarie sono supportate per le analisi automatiche del registro.
  • Red Hat Universal Base Image (UBI): versioni 8, 9 e versioni secondarie
  • Rocky Linux: versioni 8, 9, 10 e versioni secondarie
  • SUSE Linux Enterprise Server (SLES): versioni 12, 15 e versioni secondarie; SLES for SAP è supportato anche con le stesse versioni
  • Ubuntu: versioni 14.04, 16.04, 18.04, 20.04, 22.04, 24.04, 24.10, 25.04, 25.10
  • Wolfi: aggiornamenti in sequenza su un singolo canale di rilascio.

Limitazioni

  • La funzione principale di Artifact Analysis è analizzare e rilevare le vulnerabilità nei container e renderle visibili alla tua organizzazione. Artifact Analysis non dichiara di identificare le caratteristiche delle immagini che potrebbero aumentare o diminuire la capacità della tua organizzazione di verificare l'integrità o l'affidabilità di un'immagine. Per sviluppare ulteriormente questa fiducia, Google offre soluzioni che puoi utilizzare singolarmente o in combinazione. Scopri di più sul nostro approccio alla sicurezza della catena di fornitura del software.

  • Artifact Analysis fornisce i risultati dell'analisi delle vulnerabilità per RHEL in base all'ultima versione secondaria per ogni versione principale rilasciata. Se analizzi una versione secondaria precedente, potresti ottenere risultati imprecisi.

  • La versione 9 di RHEL non è supportata per l'analisi on demand.

Gestori di pacchetti e controllo delle versioni semantico

Passaggi successivi