Panoramica della scansione dei container

Artifact Analysis offre due modi per analizzare le immagini: scansione automatica e scansione on demand. Questo documento descrive in dettaglio le funzionalità per entrambi i tipi di scansione.

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

Consulta i prezzi per scoprire di più sui costi associati alla scansione delle immagini container.

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

Scansione automatica

Artifact Analysis esegue scansioni delle vulnerabilità sugli artefatti in Artifact Registry o Container Registry (deprecato). Artifact Analysis identifica anche dipendenze e licenze per aiutarti a comprendere la composizione del tuo software.

La scansione automatica comprende due attività principali: la scansione push e l'analisi continua.

Scansione on-push

Artifact Analysis esegue la scansione delle nuove immagini quando vengono caricate in Artifact Registry o Container Registry. Questa scansione estrae informazioni sui pacchetti nel contenitore. Le immagini vengono scansionate una sola volta, in base al digest dell'immagine. Ciò significa che l'aggiunta o la modifica dei tag non attiverà nuove scansioni.

Artifact Analysis rileva solo le vulnerabilità nei pacchetti monitorati pubblicamente per le vulnerabilità di sicurezza.

Al termine della scansione di un'immagine, il risultato della vulnerabilità prodotto è l'insieme delle occorrenze di vulnerabilità per quell'immagine.

Analisi continua

Artifact Analysis crea occorrenze per le vulnerabilità trovate quando carichi l'immagine. Dopo la scansione iniziale, monitora continuamente i metadati delle immagini analizzate in Artifact Registry e Container Registry per rilevare nuove vulnerabilità.

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

Artifact Analysis aggiorna solo i metadati delle immagini di cui è stato eseguito il push o il pull negli ultimi 30 giorni. Dopo 30 giorni, i metadati non verranno più aggiornati e i risultati saranno obsoleti. Inoltre, Artifact Analysis archivia i metadati che sono rimasti inattivi per più di 90 giorni e i metadati non saranno disponibili nella console Google Cloud , in gcloud o utilizzando l'API. Per eseguire di nuovo la scansione di un'immagine con metadati obsoleti o archiviati, esegui il pull dell'immagine. L'aggiornamento dei metadati può richiedere fino a 24 ore.

Elenchi di manifest

Puoi anche utilizzare analisi delle vulnerabilità con gli elenchi 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.

L'analisi delle vulnerabilità di Artifact Analysis supporta solo le immagini Linux amd64. Se l'elenco dei manifest punta a più di un'immagine Linux amd64, verrà analizzata solo la prima; se non sono presenti puntatori a immagini Linux amd64, non otterrai alcun risultato di analisi.

Scansione on demand

L'analisi on demand ti consente di analizzare le immagini container localmente sul computer o nel registro, utilizzando gcloud CLI. In questo modo hai la flessibilità di 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.

Container Registry è deprecato. Con Container Registry, la scansione automatica esegue la scansione solo dei pacchetti del sistema operativo. Se utilizzi Container Registry, scopri come eseguire la transizione ad Artifact Registry.

Le tabelle seguenti confrontano i tipi di pacchetti che Artifact Analysis può analizzare con ogni servizio di scansione:

Pacchetti del sistema operativo supportati

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

Pacchetti di lingue dell'applicazione supportati

Scansione automatica con Artifact Registry Scansione automatica con Container Registry (ritirato) Scansione on demand
Pacchetti Go
Pacchetti Java
Pacchetti Node.js
Pacchetti PHP
Pacchetti Python
Pacchetti Ruby
Pacchetti Rust
Pacchetti .NET

Artifact Analysis esegue la scansione solo dei pacchetti di linguaggio dell'applicazione in Artifact Registry quando i pacchetti vengono inseriti in un container e archiviati in un repository in formato Docker. Gli altri formati di repository di Artifact Registry non sono supportati.

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

L'Artifact Analysis non è supportata sui container Windows Server.

Interfacce di Artifact Analysis

Nella console Google Cloud , puoi visualizzare le vulnerabilità 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 Artifact Analysis per eseguire una qualsiasi di queste azioni. Come per le altre API Cloud Platform, 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 che REST/JSON. Puoi effettuare chiamate all'API utilizzando le librerie client o cURL per REST/JSON.

Controlla 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 nel tuo ambiente di deployment.

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

Infine, puoi utilizzare la scansione on demand per bloccare e non riuscire a creare build in base alla gravità delle vulnerabilità rilevate.

Fonti di vulnerabilità

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

Scansioni dei pacchetti del sistema operativo

Artifact Analysis utilizza le seguenti fonti:

Scansioni di pacchetti di linguaggio

Artifact Analysis supporta analisi delle vulnerabilità per i pacchetti di lingua all'interno di un'immagine container. I dati sulle vulnerabilità vengono ottenuti dal database GitHub Advisory.

Nella maggior parte dei casi, a ogni vulnerabilità viene assegnato un ID CVE e questo ID diventa l'identificatore principale della vulnerabilità. Nei casi in cui non è presente un ID CVE assegnato a una vulnerabilità, viene assegnato un ID GHSA come identificatore. Se in un secondo momento a questa vulnerabilità viene assegnato un ID CVE, l'ID vulnerabilità viene aggiornato in modo che corrisponda al CVE. Per saperne di più, consulta la sezione Verificare la presenza di una vulnerabilità specifica in un progetto.

Versioni del sistema operativo supportate

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

  • AlmaLinux OS - Versioni: 8, 9 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
  • CentOS - Versioni: 6, 7, 8 e versioni secondarie
  • Chainguard: aggiornamenti continui su una singola traccia di rilascio.
  • Debian GNU/Linux - Versioni: 11, 12, 13
  • Red Hat Enterprise Linux (RHEL) - Le versioni 7, 8, 9 e le versioni secondarie sono supportate per le scansioni automatiche del registro.
  • Red Hat Universal Base Image (UBI) - Versioni 8, 9 e versioni secondarie
  • Rocky Linux - Versioni: 8, 9 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
  • Wolfi: aggiornamenti continui su una singola traccia di rilascio.

Limitazioni

  • La funzione principale di Artifact Analysis è eseguire la scansione e rilevare le vulnerabilità nei container e renderle visibili alla tua organizzazione. L'Artifact Analysis non ha lo scopo 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 ha 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 analisi delle vulnerabilità per RHEL in base all'ultima versione secondaria per ogni versione principale rilasciata. Potrebbero verificarsi imprecisioni nei risultati della scansione per le versioni secondarie precedenti di RHEL.

  • RHEL versione 9 non è supportato per la scansione on demand.

Gestori di pacchetti e controllo delle versioni semantiche

Passaggi successivi