Directory degli strumenti
Categorie
trivy — Componente GitLab CI per la scansione Trivy | Kitploit
Strumenti / GitLab / niclas-zone / ci / trivy
niclas-zone/ci/trivy trivy Componente GitLab CI per la scansione Trivy
4 1 mese faScopri gli strumenti più utilizzati dalla nostra community.
Ultimi 7 Giorni Ultimi 30 Giorni
Componente CI GitLab per Trivy
Un componente CI GitLab per Trivy — lo scanner di sicurezza all-in-one che copre immagini container, filesystem, repository, cluster Kubernetes, SBOM e conformità delle licenze. Collega questi template direttamente alle tue pipeline per ottenere scansioni ripetibili, report nativi GitLab e artefatti portatili con quasi nessuno scripting di shell.
Caratteristiche
Copertura Completa della Superficie : Container, filesystem, filesystem root, repository Git, VM, SBOM, cluster Kubernetes e altro.
Scanner Multipli : Scansione di vulnerabilità, misconfigurazione/IaC, segreti e licenze con controlli per job.
Report GitLab : Emette artefatti di Container Scanning, JUnit, SARIF e JSON pronti per gli insight delle merge request.
Input Personalizzabili : Ogni template espone opzioni per severità, scanner, timeout, tipi di pacchetto e artefatti.
Template Componibili : Combina scansioni remote o locali, flussi di lavoro SBOM, attestazioni Rekor e controlli IaC da un unico namespace di componenti.
Utilizzo
Utilizzo Base
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/trivy/main@latest
stages:
- test
Immagine Remota con Severità Personalizzata
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
Scansione di Layout Tar / OCI Locale 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
Ogni template di seguito elenca i suoi input disponibili e valori predefiniti come definiti nella specifica del componente, seguiti da un esempio funzionante minimale.
Componente: templates/main.yml Input Descrizione Predefinito job_nameNome del job CI "trivy scanning"stageStadio della pipeline "test"imageImmagine container che esegue Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_NEEDED_STAGEStadio che deve terminare prima che Trivy venga eseguito "build"TRIVY_SCAN_REMOTE_IMAGEImmagine remota da scansionare ""TRIVY_SCAN_LOCAL_IMAGESPercorso agli input tar/OCI (cerca . se vuoto) ""TRIVY_SCANNERSScanner separati da virgola "vuln,secret,misconfig"severitySeverità da includere "CRITICAL,HIGH"exit_on_vulnerabilityFallisce il job quando vengono trovati problemi trueTRIVY_EXTRA_ARGSFlag CLI aggiuntivi ""allow_failureConsenti fallimento job senza far fallire la pipeline false
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/trivy/main@latest
inputs:
job_name: "trivy:basic"
TRIVY_SCAN_REMOTE_IMAGE: "nginx:latest"
Componente: templates/target_container.yml Input Descrizione Predefinito job_nameNome del job CI "trivy:scan:containers"stageStadio della pipeline "test"imageImmagine container Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_SCAN_REMOTE_IMAGERiferimento immagine remota ""TRIVY_SCAN_LOCAL_IMAGESDirectory/tar per scansioni locali ""TRIVY_SCANNERSScanner abilitati "vuln,secret,misconfig"TRIVY_IMAGE_SRCBackend sorgente immagine (remote/docker/...) ""severitySeverità "CRITICAL,HIGH"exit_on_vulnerabilityFallisce in caso di corrispondenza di severità trueTRIVY_IGNORE_UNFIXEDIgnora problemi senza fix trueTRIVY_PKG_TYPESTipi di pacchetto "os,library"TRIVY_VULN_TYPEAlias deprecato per tipi di pacchetto ""TRIVY_TIMEOUTTimeout del comando "10m"TRIVY_EXTRA_ARGSArgomenti CLI extra ""TRIVY_DB_REPOSITORYMirror DB personalizzato ""TRIVY_JAVA_DB_REPOSITORYMirror DB Java personalizzato ""
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
Componente: templates/target_filesystem.yml Input Descrizione Predefinito job_nameNome del job CI "trivy:scan:filesystem"stageStadio della pipeline "test"imageImmagine Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_FS_PATHFile o directory da scansionare "."TRIVY_SCANNERSScanner abilitati "vuln,secret"severitySeverità "CRITICAL,HIGH"exit_on_vulnerabilityFallisce in caso di corrispondenza di severità trueTRIVY_IGNORE_UNFIXEDIgnora problemi senza fix trueTRIVY_PKG_TYPESTipi di pacchetto "os,library"TRIVY_TIMEOUTTimeout "10m"TRIVY_SKIP_FILESFile glob da saltare ""TRIVY_SKIP_DIRSDirectory da saltare ""TRIVY_EXTRA_ARGSArgomenti CLI extra ""TRIVY_REPORT_BASENAMENome base artefatto "filesystem-scan"allow_failureConsenti fallimento job false
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/trivy/target_filesystem@latest
inputs:
TRIVY_FS_PATH: "services/api"
TRIVY_SCANNERS: "vuln,misconfig,secret"
Componente: templates/target_rootfs.yml Input Descrizione Predefinito job_nameNome job "trivy:scan:rootfs"stageStadio "test"imageImmagine Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_ROOTFS_PATHPercorso filesystem root "/"TRIVY_SCANNERSScanner "vuln,secret"severitySeverità "CRITICAL,HIGH"exit_on_vulnerabilityFallisce job su risultati trueTRIVY_IGNORE_UNFIXEDIgnora senza fix trueTRIVY_PKG_TYPESTipi di pacchetto "os,library"TRIVY_TIMEOUTTimeout "10m"TRIVY_SKIP_FILESFile da saltare ""TRIVY_SKIP_DIRSDirectory da saltare ""TRIVY_EXTRA_ARGSArgomenti extra ""TRIVY_REPORT_BASENAMENome base artefatto "rootfs-scan"allow_failureConsenti fallimento false
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/trivy/target_rootfs@latest
inputs:
TRIVY_ROOTFS_PATH: "/mnt/root"
TRIVY_SCANNERS: "vuln"
Componente: templates/target_repository.yml Input Descrizione Predefinito job_nameNome job "trivy:scan:repo"stageStadio "test"imageImmagine Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_REPO_TARGETPercorso locale o URL Git "."TRIVY_REPO_BRANCHBranch remoto ""TRIVY_REPO_COMMITHash commit ""TRIVY_REPO_TAGNome tag ""TRIVY_SCANNERSScanner "vuln,secret"severitySeverità "CRITICAL,HIGH"exit_on_vulnerabilityFallisce job su risultati trueTRIVY_IGNORE_UNFIXEDIgnora senza fix trueTRIVY_TIMEOUTTimeout "10m"TRIVY_SKIP_FILESFile da saltare ""TRIVY_SKIP_DIRSDirectory da saltare ""TRIVY_EXTRA_ARGSArgomenti extra ""TRIVY_REPORT_BASENAMENome base artefatto "repo-scan"allow_failureConsenti fallimento 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"
Componente: templates/target_vm.yml Input Descrizione Predefinito job_nameNome job "trivy:scan:vm"stageStadio "test"imageImmagine Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_VM_TARGETPercorso locale o identificatore ami:/ebs: ""TRIVY_AWS_REGIONRegione AWS per scansioni AMI/EBS ""TRIVY_SCANNERSScanner "vuln"severitySeverità "CRITICAL,HIGH"exit_on_vulnerabilityFallisce job su risultati trueTRIVY_IGNORE_UNFIXEDIgnora senza fix trueTRIVY_TIMEOUTTimeout "20m"TRIVY_EXTRA_ARGSArgomenti extra ""TRIVY_REPORT_BASENAMENome base artefatto "vm-scan"allow_failureConsenti fallimento 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"
Componente: templates/target_kubernetes.yml Input Descrizione Predefinito job_nameNome job "trivy:scan:k8s"stageStadio "test"imageImmagine Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_K8S_OBJECTAmbito (cluster, namespace/foo, ecc.) ""TRIVY_K8S_REPORTDettaglio report (summary/all) "summary"TRIVY_K8S_KUBECONFIGPercorso kubeconfig personalizzato ""TRIVY_K8S_INCLUDE_NAMESPACESNamespace da includere ""TRIVY_K8S_EXCLUDE_NAMESPACESNamespace da escludere ""TRIVY_K8S_INCLUDE_KINDSKind da includere ""TRIVY_K8S_EXCLUDE_KINDSKind da escludere ""TRIVY_K8S_SKIP_IMAGESSalta scansione immagini dei workload falseTRIVY_K8S_DISABLE_NODE_COLLECTORDisabilita collector dei nodi falseTRIVY_SCANNERSScanner "vuln,misconfig,secret"severitySeverità "CRITICAL,HIGH"exit_on_vulnerabilityFallisce job su risultati trueTRIVY_IGNORE_UNFIXEDIgnora senza fix
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/trivy/target_kubernetes@latest
inputs:
TRIVY_K8S_OBJECT: "namespace/prod"
TRIVY_K8S_REPORT: "summary"
Componente: templates/scanner_iac_config.yml Input Descrizione Predefinito job_nameNome job "trivy:scan:iac"stageStadio "test"imageImmagine Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_CONFIG_PATHDirectory IaC "."severitySeverità "CRITICAL,HIGH"exit_on_vulnerabilityFallisce su risultati trueTRIVY_CONFIG_REPORTDettaglio report "all"TRIVY_CONFIG_INCLUDE_NON_FAILURESIncludi superati falseTRIVY_MISCONFIG_SCANNERSLista scanner misconfig "azure-arm,cloudformation,dockerfile,helm,kubernetes,terraform"TRIVY_TIMEOUTTimeout "10m"TRIVY_SKIP_FILESFile da saltare ""TRIVY_SKIP_DIRSDirectory da saltare ""TRIVY_CONFIG_EXTRA_ARGSArgomenti extra ""TRIVY_REPORT_BASENAMENome base artefatto "iac-scan"allow_failureConsenti fallimento 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"
Componente: templates/scanner_license.yml Input Descrizione Predefinito job_nameNome job "trivy:scan:license"stageStadio "test"imageImmagine Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_SCAN_REMOTE_IMAGERiferimento immagine remota ""TRIVY_SCAN_LOCAL_IMAGESPercorso tar/OCI locale o filesystem ""TRIVY_SCANNERSElenco scanner "license"severitySeverità "CRITICAL"exit_on_vulnerabilityFallisce in caso di corrispondenza di severità trueTRIVY_LICENSE_FULLAbilita --license-full falseTRIVY_LICENSE_CONFIDENCESoglia di confidenza "0.9"TRIVY_LICENSE_IGNOREDLicenze da ignorare ""TRIVY_PKG_TYPESTipi di pacchetto "os,library"TRIVY_TIMEOUTTimeout "10m"TRIVY_EXTRA_ARGSArgomenti extra ""allow_failureConsenti fallimento false
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/trivy/scanner_license@latest
inputs:
TRIVY_SCAN_LOCAL_IMAGES: "test.tar"
TRIVY_LICENSE_FULL: true
Componente: templates/sbom_generate_image.yml Input Descrizione Predefinito job_nameNome job "trivy:sbom:image"stageStadio "test"imageImmagine Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_SBOM_IMAGERiferimento immagine remota ""TRIVY_SBOM_INPUTInput OCI/tar locale ""TRIVY_SBOM_FORMATFormato SBOM "cyclonedx"TRIVY_SBOM_FILENAMENome file output "image-sbom.cdx.json"TRIVY_SBOM_EXTRA_ARGSArgomenti extra ""TRIVY_TIMEOUTTimeout "10m"allow_failureConsenti fallimento 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"
Componente: templates/sbom_generate_repo.yml Input Descrizione Predefinito job_nameNome job "trivy:sbom:repo"stageStadio "test"imageImmagine Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_REPO_TARGETPercorso o URL Git remoto "."TRIVY_REPO_BRANCHBranch ""TRIVY_REPO_COMMITHash commit ""TRIVY_REPO_TAGTag ""TRIVY_SBOM_FORMATFormato "cyclonedx"TRIVY_SBOM_FILENAMENome file output "repo-sbom.cdx.json"TRIVY_REPO_SCANNERSScanner durante creazione SBOM "vuln,secret"TRIVY_REPO_EXTRA_ARGSArgomenti extra ""TRIVY_TIMEOUTTimeout "10m"allow_failureConsenti fallimento false
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/trivy/sbom_generate_repo@latest
inputs:
TRIVY_REPO_TARGET: "."
TRIVY_SBOM_FORMAT: "spdx-json"
Componente: templates/sbom_generate_kbom.yml Input Descrizione Predefinito job_nameNome job "trivy:sbom:kbom"stageStadio "test"imageImmagine Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_K8S_TARGETTarget trivy k8s (cluster, namespace/...) "cluster"TRIVY_K8S_CONTEXTContesto kubeconfig ""TRIVY_K8S_EXTRA_ARGSArgomenti extra ""TRIVY_SBOM_FILENAMENome file KBOM "kbom.cdx.json"TRIVY_TIMEOUTTimeout "15m"scan_kbomEsegui scansione vulnerabilità sul KBOM generato trueTRIVY_SBOM_SCANNERSScanner per scansione KBOM "vuln"severitySeverità per scansione KBOM "CRITICAL,HIGH"exit_on_vulnerabilityFallisce su risultati trueTRIVY_SBOM_SCAN_EXTRA_ARGSArgomenti extra per scansione KBOM ""allow_failureConsenti fallimento false
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/trivy/sbom_generate_kbom@latest
inputs:
TRIVY_K8S_TARGET: "namespace/default"
scan_kbom: true
Componente: templates/sbom_scan_file.yml Input Descrizione Predefinito job_nameNome job "trivy:scan:sbom"stageStadio "test"imageImmagine Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_SBOM_PATHPercorso file SBOM "artifacts/trivy/image-sbom.cdx.json"TRIVY_SBOM_REPORT_BASENAMENome base output "sbom-scan"TRIVY_SCANNERSScanner da eseguire "vuln,license"severitySeverità "CRITICAL,HIGH"exit_on_vulnerabilityFallisce su risultati trueTRIVY_SBOM_SCAN_EXTRA_ARGSArgomenti extra ""TRIVY_TIMEOUTTimeout "10m"allow_failureConsenti fallimento 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"
Componente: templates/sbom_scan_rekor.yml Input Descrizione Predefinito job_nameNome job "trivy:scan:rekor"stageStadio "test"imageImmagine Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_SCAN_REMOTE_IMAGEImmagine remota attestata ""TRIVY_REKOR_URLEndpoint API Rekor ""TRIVY_SCANNERSScanner "vuln"severitySeverità "CRITICAL,HIGH"exit_on_vulnerabilityFallisce su risultati trueTRIVY_IGNORE_UNFIXEDIgnora senza fix trueTRIVY_TIMEOUTTimeout "10m"TRIVY_EXTRA_ARGSArgomenti extra ""allow_failureConsenti fallimento 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_FILESEsclusioni di file glob ""
TRIVY_SKIP_DIRSEsclusioni di directory ""
allow_failureConsenti fallimento senza far fallire la pipeline false
TRIVY_TIMEOUTTimeout "15m"
TRIVY_K8S_EXTRA_ARGSArgomenti extra ""
TRIVY_REPORT_BASENAMENome base artefatto "k8s-scan"
allow_failureConsenti fallimento false