Skip to main content

Trivy

The trivy scraper uses Trivy to scan for security vulnerabilities & misconfigurations in your configuration. At the moment, there's only support for scanning Kubernetes objects.

trivy-scraper.yaml
apiVersion: configs.flanksource.com/v1
kind: ScrapeConfig
metadata:
name: trivy-scraper
spec:
trivy:
- version: '0.40.0'
kubernetes:
namespace: production

Unlike other scrapers, this one does not scape new configs but rather look for security vulnerabilities in the existing configs. This scrapper, if configured to scan a kubernetes cluster, will map all the found vulnerabilities to the corresponding config item.

Config Insights generated by Trivy Scraper Fig: Config Insights generated by Trivy Scraper

Config Insights generated by Trivy Scraper Fig: A detailed view of the analysis on the postgres container

Scraper

FieldDescriptionSchemeRequired
logLevelSpecify the level of logging.string
scheduleSpecify the interval to scrape in cron format. Defaults to every 60 minutes.string
trivySpecifies the list of Trivy configurations to scrape.[]Trivy

Trivy

FieldDescriptionSchemeRequired
compliancecompliance report to generates(k8s-nsa, k8s-cis, k8s-pss-baseline, k8s-pss-restricted).string
ignoredLicensesspecify a list of license to ignore.[]string
ignoreUnfixeddisplay only fixed vulnerabilities.bool
kubernetesSpecify the trivy option to scan kubernetes objects.K8sOptionstrue
licenseFulleagerly look for licenses in source code headers and license files.bool
scannersScanners to use.[]string
severityseverities of security issues to be displayed s(comma separated)(default "UNKNOWN,LOW,MEDIUM,HIGH,CRITICAL").string
timeoutTrivy timeoutstring
versionSpecify the Trivy version to use. s(default 0.40.0)string
vulnTypecomma-separated list of vulnerability types s(comma separated)(default "os,library").string

K8sOptions

Trivy Options consist of selected few flags that are passed on to trivy.

FieldDescriptionSchemeRequired
componentsSpecify which components to scan(default workload, infra).[]strings
kubeconfigSpecify the kubeconfig file path to use as a static value or as a JSONPath expression.strings
namespaceSpecify a namespace to scan.stringtrue
contextSpecify a context to scan.strings