Synopsis
Read-only views over the vulnerabilities found in the images your
workloads run. Findings come from Trivy Operator reports and, when the opt-in
supplychain matcher is enabled, from kguardian’s own Grype matcher, which
matches SBOMs. kguardian never blocks or applies anything.
For one image’s findings, or a CI gate, use
images vulns.
Unknown is not safe. Images no source has scanned are unknown and do not
appear here, so an empty list is not “no vulnerabilities”. kguardian cannot
yet tell which packages a workload loads: “in use” is unknown, so treat every
finding as potentially reachable.
vulns list
Calls GET /vulnerabilities: every vulnerability affecting an inventory
image, grouped by id, most severe first. It reads a summary the broker
rebuilds every few minutes; when it was computed is printed on stderr.
Counts are distinct images and workloads, so two sources reporting the same
CVE never count twice. KEV unknown means no source said either way.
JOIN is the weakest match behind the counts: workload_tag means some are
by tag only, and the tag may have moved since the scan.
vulns exposure
Calls GET /vulnerabilities/{id}/exposure: the inventory images a
vulnerability affects, the workloads running (or having run) them, and each
workload’s observed ingress over the window.
EXPOSED is observed traffic, not reachability analysis:
FIXED lists every fixed version the sources give, in source order. A
vulnerability no inventory image with data lists exits non-zero with a
message saying that is not proof the cluster is unaffected.
-o json and -o yaml print the broker’s response unchanged. Global flags
(--kubeconfig, --context, --broker-namespace, --broker-service,
--broker-token-file, --debug) are listed in the
CLI overview. A 401 or 403 prints a hint: these commands
need a token with the read scope.
Examples