
trivy-db é uma ferramenta CLI e uma biblioteca para manipular o Trivy DB.
O Trivy utiliza trivy-db internamente para manipular o banco de dados de vulnerabilidades. Esse banco de dados contém informações de vulnerabilidades da NVD, Red Hat, Debian, etc.
A ferramenta CLI trivy-db constrói bancos de dados de vulnerabilidades. Um workflow do GitHub Actions
constrói periodicamente uma versão atualizada do banco de dados de vulnerabilidades usando trivy-db e a envia para o GitHub
Container Registry (veja Baixar o banco de dados de vulnerabilidades abaixo).
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
Para compilar o trivy-db localmente, você pode usar a seguinte ordem de comandos do 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
Para compilar a imagem trivy-db e enviá-la para um registry, você precisa usar a CLI Oras.
Por exemplo, para 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
O Trivy DB é construído a cada 6 horas. Por padrão, o intervalo de atualização especificado no arquivo de metadados é de 24 horas. Se você precisar atualizar o Trivy DB com mais frequência, pode enviar manualmente um novo Trivy DB.
O Trivy DB v1 chegou ao fim do suporte em fevereiro de 2023. Atualize o Trivy para v0.23.0 ou posterior.
Leia mais sobre a descontinuação do Trivy DB v1 em a discussão.
O Trivy DB v2 está hospedado no GHCR.
Embora o GitHub exiba o comando docker pull por padrão, observe que ele não pode ser baixado usando docker pull, pois não é uma imagem de contêiner.
Você pode baixar o banco de dados compilado real via Trivy ou CLI Oras.
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
O banco de dados pode ser usado para Ambiente Isolado (Air-Gapped).