Répertoire d'outils
Catégories
trivy — Composant GitLab CI pour le scan Trivy | Kitploit
Outils / GitLab / niclas-zone / ci / trivy
niclas-zone/ci/trivy trivy Composant GitLab CI pour le scan Trivy
4 il y a 1 moisDécouvrez les outils les plus utilisés par notre communauté.
7 derniers jours 30 derniers jours
Composant GitLab CI Trivy
Un composant GitLab CI pour Trivy — le scanner de sécurité tout-en-un couvrant les images de conteneurs, les systèmes de fichiers, les dépôts, les clusters Kubernetes, les SBOM et la conformité des licences. Insérez ces modèles directement dans vos pipelines pour obtenir des analyses reproductibles, des rapports natifs GitLab et des artefacts portables avec pratiquement aucun script shell.
Fonctionnalités
Couverture complète de la surface : Conteneurs, systèmes de fichiers, systèmes de fichiers racine, dépôts Git, machines virtuelles, SBOM, clusters Kubernetes, et plus encore.
Plusieurs analyseurs : Analyse des vulnérabilités, des mauvaises configurations/IaC, des secrets et des licences avec des contrôles par tâche.
Rapports GitLab : Émet des artefacts de scan de conteneur, JUnit, SARIF et JSON prêts pour les informations des demandes de fusion.
Entrées personnalisables : Chaque modèle expose des réglages pour les gravités, les analyseurs, les délais d'attente, les types de paquets et les artefacts.
Modèles composables : Mélangez des analyses distantes ou locales, des workflows SBOM, des attestations Rekor et des vérifications IaC à partir d'un seul espace de noms de composant.
Utilisation
Utilisation de base
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/trivy/main@latest
stages:
- test
Image distante avec gravité personnalisée
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/trivy/main@latest
inputs:
job_name: "security:remote"
TRIVY_SCAN_REMOTE_IMAGE: "registry.gitlab.com/group/app:latest"
severity: "CRITICAL,HIGH,MEDIUM"
exit_on_vulnerability: true
stages:
- test
Analyse locale d'une archive tar / OCI include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/trivy/main@latest
inputs:
job_name: "security:local"
TRIVY_SCAN_LOCAL_IMAGES: "dist/"
TRIVY_SCANNERS: "vuln,secret"
exit_on_vulnerability: false
stages:
- test
Entrées et modèles du composant Chaque modèle ci-dessous liste ses entrées disponibles et leurs valeurs par défaut telles que définies dans la spécification du composant, suivies d'un exemple minimal fonctionnel.
Composant : templates/main.yml Entrée Description Par défaut job_nameNom de la tâche CI "trivy scanning"stageÉtape du pipeline "test"imageImage conteneur exécutant Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_NEEDED_STAGEÉtape qui doit se terminer avant l'exécution de Trivy "build"TRIVY_SCAN_REMOTE_IMAGEImage distante à analyser ""TRIVY_SCAN_LOCAL_IMAGESChemin vers les entrées tar/OCI (cherche dans . si vide) ""TRIVY_SCANNERSAnalyseurs séparés par des virgules "vuln,secret,misconfig"severityGravités à inclure "CRITICAL,HIGH"exit_on_vulnerabilityÉchouer la tâche si des problèmes sont trouvés trueTRIVY_EXTRA_ARGSDrapeaux CLI supplémentaires ""allow_failureAutoriser l'échec de la tâche sans faire échouer le pipeline false
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/trivy/main@latest
inputs:
job_name: "trivy:basic"
TRIVY_SCAN_REMOTE_IMAGE: "nginx:latest"
Composant : templates/target_container.yml Entrée Description Par défaut job_nameNom de la tâche CI "trivy:scan:containers"stageÉtape du pipeline "test"imageImage conteneur Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_SCAN_REMOTE_IMAGERéférence d'image distante ""TRIVY_SCAN_LOCAL_IMAGESRépertoire/tar pour les analyses locales ""TRIVY_SCANNERSAnalyseurs activés "vuln,secret,misconfig"TRIVY_IMAGE_SRCBackend source de l'image (remote/docker/...) ""severityGravités "CRITICAL,HIGH"exit_on_vulnerabilityÉchouer sur correspondance de gravité trueTRIVY_IGNORE_UNFIXEDIgnorer les problèmes sans correctif trueTRIVY_PKG_TYPESTypes de paquets "os,library"TRIVY_VULN_TYPEAlias déprécié pour les types de paquets ""TRIVY_TIMEOUTDélai d'attente de la commande "10m"TRIVY_EXTRA_ARGSArguments CLI supplémentaires ""TRIVY_DB_REPOSITORYMiroir de base de données personnalisé ""TRIVY_JAVA_DB_REPOSITORYMiroir de base de données Java personnalisé
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/trivy/target_container@latest
inputs:
job_name: "trivy:containers"
TRIVY_SCAN_REMOTE_IMAGE: "registry.gitlab.com/group/service:latest"
TRIVY_SCANNERS: "vuln,secret"
exit_on_vulnerability: true
Composant : templates/target_filesystem.yml Entrée Description Par défaut job_nameNom de la tâche CI "trivy:scan:filesystem"stageÉtape du pipeline "test"imageImage Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_FS_PATHFichier ou répertoire à analyser "."TRIVY_SCANNERSAnalyseurs activés "vuln,secret"severityGravités "CRITICAL,HIGH"exit_on_vulnerabilityÉchouer sur correspondance de gravité trueTRIVY_IGNORE_UNFIXEDIgnorer les problèmes sans correctif trueTRIVY_PKG_TYPESTypes de paquets "os,library"TRIVY_TIMEOUTDélai d'attente "10m"TRIVY_SKIP_FILESGlob de fichiers à ignorer ""TRIVY_SKIP_DIRSRépertoires à ignorer ""TRIVY_EXTRA_ARGSArguments CLI supplémentaires ""TRIVY_REPORT_BASENAMENom de base de l'artefact "filesystem-scan"allow_failureAutoriser l'échec de la tâche false
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/trivy/target_filesystem@latest
inputs:
TRIVY_FS_PATH: "services/api"
TRIVY_SCANNERS: "vuln,misconfig,secret"
Composant : templates/target_rootfs.yml Entrée Description Par défaut job_nameNom de la tâche "trivy:scan:rootfs"stageÉtape "test"imageImage Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_ROOTFS_PATHChemin du système de fichiers racine "/"TRIVY_SCANNERSAnalyseurs "vuln,secret"severityGravités "CRITICAL,HIGH"exit_on_vulnerabilityÉchouer la tâche sur constatations trueTRIVY_IGNORE_UNFIXEDIgnorer sans correctif trueTRIVY_PKG_TYPESTypes de paquets "os,library"TRIVY_TIMEOUTDélai d'attente "10m"TRIVY_SKIP_FILESFichiers à ignorer ""TRIVY_SKIP_DIRSRépertoires à ignorer ""TRIVY_EXTRA_ARGSArguments supplémentaires ""TRIVY_REPORT_BASENAMENom de base de l'artefact "rootfs-scan"allow_failureAutoriser l'échec false
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/trivy/target_rootfs@latest
inputs:
TRIVY_ROOTFS_PATH: "/mnt/root"
TRIVY_SCANNERS: "vuln"
Composant : templates/target_repository.yml Entrée Description Par défaut job_nameNom de la tâche "trivy:scan:repo"stageÉtape "test"imageImage Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_REPO_TARGETChemin local ou URL Git "."TRIVY_REPO_BRANCHBranche distante ""TRIVY_REPO_COMMITHash de commit ""TRIVY_REPO_TAGNom du tag ""TRIVY_SCANNERSAnalyseurs "vuln,secret"severityGravités "CRITICAL,HIGH"exit_on_vulnerabilityÉchouer la tâche sur constatations trueTRIVY_IGNORE_UNFIXEDIgnorer sans correctif trueTRIVY_TIMEOUTDélai d'attente "10m"TRIVY_SKIP_FILESFichiers à ignorer ""TRIVY_SKIP_DIRSRépertoires à ignorer ""TRIVY_EXTRA_ARGSArguments supplémentaires ""TRIVY_REPORT_BASENAMENom de base de l'artefact "repo-scan"allow_failureAutoriser l'échec false
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/trivy/target_repository@latest
inputs:
TRIVY_REPO_TARGET: "https://github.com/aquasecurity/trivy"
TRIVY_REPO_BRANCH: "main"
Composant : templates/target_vm.yml Entrée Description Par défaut job_nameNom de la tâche "trivy:scan:vm"stageÉtape "test"imageImage Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_VM_TARGETChemin local ou identifiant ami:/ebs: ""TRIVY_AWS_REGIONRégion AWS pour les analyses AMI/EBS ""TRIVY_SCANNERSAnalyseurs "vuln"severityGravités "CRITICAL,HIGH"exit_on_vulnerabilityÉchouer la tâche sur constatations trueTRIVY_IGNORE_UNFIXEDIgnorer sans correctif trueTRIVY_TIMEOUTDélai d'attente "20m"TRIVY_EXTRA_ARGSArguments supplémentaires ""TRIVY_REPORT_BASENAMENom de base de l'artefact "vm-scan"allow_failureAutoriser l'échec false
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/trivy/target_vm@latest
inputs:
TRIVY_VM_TARGET: "ami-0123456789abcdef0"
TRIVY_AWS_REGION: "us-east-1"
Composant : templates/target_kubernetes.yml Entrée Description Par défaut job_nameNom de la tâche "trivy:scan:k8s"stageÉtape "test"imageImage Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_K8S_OBJECTPortée (cluster, namespace/foo, etc.) ""TRIVY_K8S_REPORTDétail du rapport (summary/all) "summary"TRIVY_K8S_KUBECONFIGChemin kubeconfig personnalisé ""TRIVY_K8S_INCLUDE_NAMESPACESEspaces de noms à inclure ""TRIVY_K8S_EXCLUDE_NAMESPACESEspaces de noms à exclure ""TRIVY_K8S_INCLUDE_KINDSTypes à inclure ""TRIVY_K8S_EXCLUDE_KINDSTypes à exclure ""TRIVY_K8S_SKIP_IMAGESIgnorer les analyses d'images des charges de travail falseTRIVY_K8S_DISABLE_NODE_COLLECTORDésactiver le collecteur de nœuds falseTRIVY_SCANNERSAnalyseurs "vuln,misconfig,secret"severityGravités "CRITICAL,HIGH"exit_on_vulnerabilityÉchouer la tâche sur constatations trueTRIVY_IGNORE_UNFIXED
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/trivy/target_kubernetes@latest
inputs:
TRIVY_K8S_OBJECT: "namespace/prod"
TRIVY_K8S_REPORT: "summary"
Composant : templates/scanner_iac_config.yml Entrée Description Par défaut job_nameNom de la tâche "trivy:scan:iac"stageÉtape "test"imageImage Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_CONFIG_PATHRépertoire IaC "."severityGravités "CRITICAL,HIGH"exit_on_vulnerabilityÉchouer sur constatations trueTRIVY_CONFIG_REPORTDétail du rapport "all"TRIVY_CONFIG_INCLUDE_NON_FAILURESInclure les passes falseTRIVY_MISCONFIG_SCANNERSListe des analyseurs de mauvaise configuration "azure-arm,cloudformation,dockerfile,helm,kubernetes,terraform"TRIVY_TIMEOUTDélai d'attente "10m"TRIVY_SKIP_FILESFichiers à ignorer ""TRIVY_SKIP_DIRSRépertoires à ignorer ""TRIVY_CONFIG_EXTRA_ARGSArguments supplémentaires ""TRIVY_REPORT_BASENAMENom de base de l'artefact "iac-scan"allow_failureAutoriser l'échec false
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/trivy/scanner_iac_config@latest
inputs:
TRIVY_CONFIG_PATH: "examples/iac/terraform"
severity: "CRITICAL,HIGH,MEDIUM"
Composant : templates/scanner_license.yml Entrée Description Par défaut job_nameNom de la tâche "trivy:scan:license"stageÉtape "test"imageImage Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_SCAN_REMOTE_IMAGERéférence d'image distante ""TRIVY_SCAN_LOCAL_IMAGESChemin local tar/OCI ou système de fichiers ""TRIVY_SCANNERSListe d'analyseurs "license"severityGravités "CRITICAL"exit_on_vulnerabilityÉchouer sur correspondance de gravité trueTRIVY_LICENSE_FULLActiver --license-full falseTRIVY_LICENSE_CONFIDENCESeuil de confiance "0.9"TRIVY_LICENSE_IGNOREDLicences à ignorer ""TRIVY_PKG_TYPESTypes de paquets "os,library"TRIVY_TIMEOUTDélai d'attente "10m"TRIVY_EXTRA_ARGSArguments supplémentaires ""allow_failureAutoriser l'échec false
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/trivy/scanner_license@latest
inputs:
TRIVY_SCAN_LOCAL_IMAGES: "test.tar"
TRIVY_LICENSE_FULL: true
Composant : templates/sbom_generate_image.yml Entrée Description Par défaut job_nameNom de la tâche "trivy:sbom:image"stageÉtape "test"imageImage Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_SBOM_IMAGERéférence d'image distante ""TRIVY_SBOM_INPUTEntrée OCI/tar locale ""TRIVY_SBOM_FORMATFormat SBOM "cyclonedx"TRIVY_SBOM_FILENAMENom du fichier de sortie "image-sbom.cdx.json"TRIVY_SBOM_EXTRA_ARGSArguments supplémentaires ""TRIVY_TIMEOUTDélai d'attente "10m"allow_failureAutoriser l'échec false
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/trivy/sbom_generate_image@latest
inputs:
TRIVY_SBOM_INPUT: "test.tar"
TRIVY_SBOM_FILENAME: "ci-image-sbom.cdx.json"
Composant : templates/sbom_generate_repo.yml Entrée Description Par défaut job_nameNom de la tâche "trivy:sbom:repo"stageÉtape "test"imageImage Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_REPO_TARGETChemin ou URL Git distante "."TRIVY_REPO_BRANCHBranche ""TRIVY_REPO_COMMITHash de commit ""TRIVY_REPO_TAGTag ""TRIVY_SBOM_FORMATFormat "cyclonedx"TRIVY_SBOM_FILENAMENom du fichier de sortie "repo-sbom.cdx.json"TRIVY_REPO_SCANNERSAnalyseurs lors de la création du SBOM "vuln,secret"TRIVY_REPO_EXTRA_ARGSArguments supplémentaires ""TRIVY_TIMEOUTDélai d'attente "10m"allow_failureAutoriser l'échec false
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/trivy/sbom_generate_repo@latest
inputs:
TRIVY_REPO_TARGET: "."
TRIVY_SBOM_FORMAT: "spdx-json"
Composant : templates/sbom_generate_kbom.yml Entrée Description Par défaut job_nameNom de la tâche "trivy:sbom:kbom"stageÉtape "test"imageImage Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_K8S_TARGETCible trivy k8s (cluster, namespace/...) "cluster"TRIVY_K8S_CONTEXTContexte kubeconfig ""TRIVY_K8S_EXTRA_ARGSArguments supplémentaires ""TRIVY_SBOM_FILENAMENom du fichier KBOM "kbom.cdx.json"TRIVY_TIMEOUTDélai d'attente "15m"scan_kbomExécuter l'analyse des vulnérabilités sur le KBOM généré trueTRIVY_SBOM_SCANNERSAnalyseurs pour l'analyse KBOM "vuln"severityGravités pour l'analyse KBOM "CRITICAL,HIGH"exit_on_vulnerabilityÉchouer sur constatations trueTRIVY_SBOM_SCAN_EXTRA_ARGSArguments supplémentaires pour l'analyse KBOM ""allow_failureAutoriser l'échec false
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/trivy/sbom_generate_kbom@latest
inputs:
TRIVY_K8S_TARGET: "namespace/default"
scan_kbom: true
Composant : templates/sbom_scan_file.yml Entrée Description Par défaut job_nameNom de la tâche "trivy:scan:sbom"stageÉtape "test"imageImage Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_SBOM_PATHChemin vers le fichier SBOM "artifacts/trivy/image-sbom.cdx.json"TRIVY_SBOM_REPORT_BASENAMENom de base de sortie "sbom-scan"TRIVY_SCANNERSAnalyseurs à exécuter "vuln,license"severityGravités "CRITICAL,HIGH"exit_on_vulnerabilityÉchouer sur constatations trueTRIVY_SBOM_SCAN_EXTRA_ARGSArguments supplémentaires ""TRIVY_TIMEOUTDélai d'attente "10m"allow_failureAutoriser l'échec false
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/trivy/sbom_scan_file@latest
inputs:
TRIVY_SBOM_PATH: "artifacts/trivy/ci-image-sbom.cdx.json"
TRIVY_SCANNERS: "vuln,license"
Composant : templates/sbom_scan_rekor.yml Entrée Description Par défaut job_nameNom de la tâche "trivy:scan:rekor"stageÉtape "test"imageImage Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_SCAN_REMOTE_IMAGEImage distante attestée ""TRIVY_REKOR_URLPoint de terminaison de l'API Rekor ""TRIVY_SCANNERSAnalyseurs "vuln"severityGravités "CRITICAL,HIGH"exit_on_vulnerabilityÉchouer sur constatations trueTRIVY_IGNORE_UNFIXEDIgnorer sans correctif trueTRIVY_TIMEOUTDélai d'attente "10m"TRIVY_EXTRA_ARGSArguments supplémentaires ""allow_failureAutoriser l'échec false
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/trivy/sbom_scan_rekor@latest
inputs:
TRIVY_SCAN_REMOTE_IMAGE: "registry.gitlab.com/group/app@sha256:..."
TRIVY_REKOR_URL: "https://rekor.sigstore.dev"
TRIVY_SKIP_FILESExclusions par glob de fichiers ""
TRIVY_SKIP_DIRSExclusions de répertoires ""
allow_failureAutoriser l'échec sans faire échouer le pipeline false
TRIVY_TIMEOUTDélai d'attente "15m"
TRIVY_K8S_EXTRA_ARGSArguments supplémentaires ""
TRIVY_REPORT_BASENAMENom de base de l'artefact "k8s-scan"
allow_failureAutoriser l'échec false