Trivy
Scanner complet pour les vulnérabilités et mauvaises configurations dans les images de conteneurs, systèmes de fichiers, dépôts git et Infrastructure-as-Code. Comprehensive scanner for vulnerabilities and misconfigurations in container images, filesystems, git repos, and Infrastructure-as-Code.
↗ https://trivy.devOverview
Trivy is an all-in-one scanner covering OS package and language-dependency vulnerabilities, container image misconfigurations, exposed secrets, and IaC issues (Terraform, Kubernetes manifests, Dockerfiles, CloudFormation). For cloud and DevSecOps-focused engagements it’s a fast way to check whether a target’s images or infrastructure code carry known CVEs or insecure defaults before they ever hit production.
Common Usage
Scan a container image for OS + library vulnerabilities
trivy image nginx:1.21
Scan a local filesystem/project directory (deps + secrets)
trivy fs ./project
Scan a git repository directly (clones and scans)
trivy repo https://github.com/example/app
Scan Kubernetes manifests / Terraform for misconfigurations
trivy config ./infra/
Scan a running Kubernetes cluster
trivy k8s --report summary cluster
Only show HIGH/CRITICAL findings
trivy image --severity HIGH,CRITICAL nginx:1.21
Secret & IaC Scanning
Scan for hardcoded secrets (API keys, private keys, tokens)
trivy fs --scanners secret ./project
Scan Dockerfile for security best-practice violations
trivy config Dockerfile
Output in SARIF for CI pipeline integration
trivy image --format sarif --output results.sarif nginx:1.21
Tips
trivy imagepulls a maintained vulnerability DB on first run — cache it (--cache-dir) in CI to avoid repeated downloads.- Combine
--scanners vuln,secret,configto run all checks in a single pass. - Use
--exit-code 1in CI to fail the build when findings above a severity threshold are present.
Help / Man page
Usage:
trivy [command]
Available Commands:
image Scan a container image
fs Scan a filesystem
repo Scan a remote git repository
config Scan IaC configuration files (Terraform, K8s, Dockerfile...)
k8s Scan a Kubernetes cluster
sbom Scan an SBOM for vulnerabilities
rootfs Scan a container's root filesystem
Flags:
--severity strings Filter by severity (UNKNOWN,LOW,MEDIUM,HIGH,CRITICAL)
--scanners strings Scanners to enable (vuln,secret,config,license)
--format string Output format (table, json, sarif, cyclonedx, spdx)
--output string Write results to file
--exit-code int Exit code when findings are detected
--ignore-unfixed Skip vulnerabilities without an available fix
--cache-dir string Directory for the vulnerability DB cache
Vue d’ensemble
Trivy est un scanner tout-en-un couvrant les vulnérabilités des paquets OS et des dépendances applicatives, les mauvaises configurations d’images de conteneurs, les secrets exposés, et les problèmes IaC (Terraform, manifests Kubernetes, Dockerfiles, CloudFormation). Pour les missions orientées cloud et DevSecOps, c’est un moyen rapide de vérifier si les images ou le code d’infrastructure d’une cible contiennent des CVE connues ou des configurations par défaut non sécurisées avant qu’elles n’atteignent la production.
Utilisation courante
# Scanner une image de conteneur pour les vulnérabilités OS + bibliothèques
trivy image nginx:1.21
# Scanner un système de fichiers/répertoire de projet local (dépendances + secrets)
trivy fs ./project
# Scanner directement un dépôt git (clone et scanne)
trivy repo https://github.com/example/app
# Scanner des manifests Kubernetes / Terraform pour des mauvaises configurations
trivy config ./infra/
# Scanner un cluster Kubernetes en cours d'exécution
trivy k8s --report summary cluster
# N'afficher que les findings HIGH/CRITICAL
trivy image --severity HIGH,CRITICAL nginx:1.21
Scan de secrets et IaC
# Scanner à la recherche de secrets codés en dur (clés API, clés privées, tokens)
trivy fs --scanners secret ./project
# Scanner un Dockerfile pour des violations des bonnes pratiques de sécurité
trivy config Dockerfile
# Sortie au format SARIF pour l'intégration dans un pipeline CI
trivy image --format sarif --output results.sarif nginx:1.21
Conseils
trivy imagetélécharge une base de vulnérabilités maintenue au premier lancement : la mettre en cache (--cache-dir) en CI pour éviter les téléchargements répétés.- Combiner
--scanners vuln,secret,configpour lancer toutes les vérifications en une seule passe. - Utiliser
--exit-code 1en CI pour faire échouer le build lorsque des findings au-dessus d’un seuil de sévérité sont présents.
Aide / Page de manuel
Usage:
trivy [command]
Available Commands:
image Scan a container image
fs Scan a filesystem
repo Scan a remote git repository
config Scan IaC configuration files (Terraform, K8s, Dockerfile...)
k8s Scan a Kubernetes cluster
sbom Scan an SBOM for vulnerabilities
rootfs Scan a container's root filesystem
Flags:
--severity strings Filter by severity (UNKNOWN,LOW,MEDIUM,HIGH,CRITICAL)
--scanners strings Scanners to enable (vuln,secret,config,license)
--format string Output format (table, json, sarif, cyclonedx, spdx)
--output string Write results to file
--exit-code int Exit code when findings are detected
--ignore-unfixed Skip vulnerabilities without an available fix
--cache-dir string Directory for the vulnerability DB cache