package-glvd is a command-line tool for querying the Garden Linux Vulnerability Database (GLVD) API. It helps you identify CVEs affecting installed packages on Garden Linux nodes or container images.
You can install package-glvd in Garden Linux images by enabling the glvd feature at build time, or at runtime via apt (the package name is glvd).
While primarily designed for use on Garden Linux nodes, package-glvd also supports a developer mode for local development and testing.
- Check for CVEs affecting installed packages.
- Query CVEs for a custom list of packages ("what-if" analysis).
- Print an executive summary of potential security issues.
- Supports both human-readable and JSON output.
glvd [command] [args]-
check
Query CVEs for all installed source packages. -
what-if <pkg1> <pkg2> ...
Query CVEs for a custom list of source packages. -
executive-summary
Print a summary of the number of potential security issues.
- Set
GLVD_CLIENT_JSON_OUTPUT=trueto get JSON output. - Set
GLVD_CLIENT_DEV_MODE=trueto run using test data fromtest-data/.
Check for CVEs affecting installed packages:
glvd checkCheck for CVEs affecting specific packages:
glvd what-if vim bash coreutilsPrint an executive summary:
glvd executive-summaryGet JSON output:
GLVD_CLIENT_JSON_OUTPUT=true glvd checkTo run locally with test data:
GLVD_CLIENT_DEV_MODE=true go run .By default, package-glvd uses https://security.gardenlinux.org as the API endpoint.
You can override this by setting the GLVD_API_BASE_URL environment variable:
export GLVD_API_BASE_URL="http://localhost:8080"
glvd checkThis project provides a Makefile for common development tasks.
make fmtmake buildThe output will be a binary named glvd.
make build-linuxThis will produce:
glvd-linux-amd64glvd-linux-arm64
make cleanTo release a new version of the client:
- Edit the
debian/changelogfile and add a new version entry, following the format of previous entries. - Commit your changes and push them to the
mainbranch.
This will trigger the pipeline to build and publish the new version automatically.
For reference, see this example commit.
MIT License. See LICENSE for details.