
Costruisci e gestisci database di vulnerabilità Trivy aggregando advisory di sicurezza da NVD, Red Hat, Debian e altri. Uno strumento CLI e una libreria per la creazione, compattazione e distribuzione di database.
Trivy usa trivy-db internamente per gestire il database delle vulnerabilità. Questo database contiene informazioni sulle vulnerabilità provenienti da NVD, Red Hat, Debian, ecc.
Lo strumento CLI trivy-db crea database di vulnerabilità. Un workflow di GitHub Actions crea periodicamente una nuova versione del database delle vulnerabilità usando trivy-db e la carica su GitHub Container Registry (vedi Scaricare il database delle vulnerabilità più sotto).
NAME:
trivy-db - Trivy DB builder
USAGE:
main [global options] command [command options] image_name
VERSION:
0.0.1
COMMANDS:
build build a database file
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--help, -h show help
--version, -v print the version
Per creare trivy-db localmente, puoi usare il seguente ordine di comandi dal Makefile:
make db-fetch-langs db-fetch-vuln-list # To download all advisories and other required files (`./cache` dir by default)
make build # Build `trivy-db` binary
make db-build # Build database (`./out` dir by default)
make db-compact # Compact database (`./assets` dir by default)
make db-compress # Compress database into `db.tar.gz` file
Per creare l'immagine di trivy-db e pubblicarla nel registry, devi usare la CLI Oras.
Ad esempio per ghcr:
./oras push --artifact-type application/vnd.aquasec.trivy.config.v1+json \
"ghcr.io/aquasecurity/trivy-db:2" \
db.tar.gz:application/vnd.aquasec.trivy.db.layer.v1.tar+gzip
Trivy DB viene generato ogni 6 ore. Per impostazione predefinita, l'intervallo di aggiornamento specificato nel file dei metadati è di 24 ore. Se devi aggiornare Trivy DB più frequentemente, puoi caricare manualmente un nuovo Trivy DB.
Il supporto per Trivy DB v1 è terminato a febbraio 2023. Si prega di aggiornare Trivy alla versione v0.23.0 o successiva.
Leggi di più sulla deprecazione di Trivy DB v1 in questa discussione.
Trivy DB v2 è ospitato su GHCR.
Sebbene GitHub mostri il comando docker pull per impostazione predefinita, tieni presente che non può essere scaricato tramite docker pull in quanto non è un'immagine container.
Trivy:
TRIVY_TEMP_DIR=$(mktemp -d)
trivy --cache-dir $TRIVY_TEMP_DIR image --download-db-only
tar -cf ./db.tar.gz -C $TRIVY_TEMP_DIR/db metadata.json trivy.db
rm -rf $TRIVY_TEMP_DIR
oras >= v0.13.0:
$ oras pull ghcr.io/aquasecurity/trivy-db:2
oras < v0.13.0:
$ oras pull -a ghcr.io/aquasecurity/trivy-db:2
Il database può essere utilizzato per ambienti air-gapped.