docs/community/contribute/vulnerability-database/overview.md
This section explains how Trivy's vulnerability database works and how to contribute new advisory data sources.
Trivy's vulnerability database is built through a multi-repository workflow involving three main repositories:
graph LR
A[Advisory Sources] -->|vuln-list-update| B[vuln-list]
B --> C["trivy-db
(Trivy DB)"]
C --> D["trivy
(Trivy CLI)"]
E[GitHub-managed
Advisories] --> C
Advisory Collection (vuln-list-update)
Database Build (trivy-db)
Database Consumption (trivy)
For data sources that are not already Git-managed, storing advisories in the vuln-list repository provides several benefits:
This repository contains scripts that fetch advisories from various upstream sources. Each data source has its own package that handles:
This repository serves as a data storage for raw advisories fetched by vuln-list-update. Key characteristics:
This repository contains parsers that transform raw advisories into Trivy's database format. Each data source has its own vulnerability source handler that:
The main Trivy repository contains:
Ready to add a new vulnerability advisory source? See the Add Vulnerability Advisory Source guide for detailed steps.