Directorio de Herramientas
Categorías
trivy — Componente de CI de GitLab para escaneo con Trivy | Kitploit
Herramientas / GitLab / niclas-zone / ci / trivy
niclas-zone/ci/trivy trivy Componente de CI de GitLab para escaneo con Trivy
5 hace 1 mesDescubre las herramientas más usadas por nuestra comunidad.
Últimos 7 Días Últimos 30 Días
Componente de CI de Trivy para GitLab
Un componente de CI de GitLab para Trivy — el escáner de seguridad integral que cubre imágenes de contenedores, sistemas de archivos, repositorios, clústeres de Kubernetes, SBOMs y cumplimiento de licencias. Conecta estas plantillas directamente en tus pipelines para obtener escaneos repetibles, informes nativos de GitLab y artefactos portátiles sin casi necesidad de scripting de shell.
Características
Cobertura total de superficie : Contenedores, sistemas de archivos, sistemas de archivos raíz, repositorios Git, máquinas virtuales, SBOMs, clústeres Kubernetes y más.
Múltiples escáneres : Escaneo de vulnerabilidades, configuraciones incorrectas/IaC, secretos y licencias con controles por trabajo.
Informes GitLab : Emite artefactos de Escaneo de Contenedores, JUnit, SARIF y JSON listos para obtener información en solicitudes de fusión.
Entradas personalizables : Cada plantilla expone controles para severidades, escáneres, tiempos de espera, tipos de paquetes y artefactos.
Plantillas componibles : Combina escaneos remotos o locales, flujos de trabajo SBOM, atestaciones Rekor y verificaciones IaC desde un espacio de nombres de componente.
Uso
Uso Básico
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/trivy/main@latest
stages:
- test
Imagen Remota con Severidad Personalizada
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
Escaneo Local Tar / OCI Layout 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
Entradas del Componente & Plantillas Cada plantilla a continuación enumera sus entradas disponibles y valores predeterminados según la especificación del componente, seguida de un ejemplo mínimo funcional.
Componente: templates/main.yml Entrada Descripción Predeterminado job_nameNombre del trabajo de CI "trivy scanning"stageEtapa del pipeline "test"imageImagen de contenedor que ejecuta Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_NEEDED_STAGEEtapa que debe finalizar antes de que Trivy se ejecute "build"TRIVY_SCAN_REMOTE_IMAGEImagen remota a escanear ""TRIVY_SCAN_LOCAL_IMAGESRuta a entradas tar/OCI (busca en . cuando está vacío) ""TRIVY_SCANNERSEscáneres separados por comas "vuln,secret,misconfig"severitySeveridades a incluir "CRITICAL,HIGH"exit_on_vulnerabilityFallar el trabajo cuando se encuentran problemas trueTRIVY_EXTRA_ARGSBanderas adicionales de CLI ""allow_failurePermitir fallo del trabajo sin fallar el 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 Entrada Descripción Predeterminado job_nameNombre del trabajo de CI "trivy:scan:containers"stageEtapa del pipeline "test"imageImagen de contenedor Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_SCAN_REMOTE_IMAGEReferencia de imagen remota ""TRIVY_SCAN_LOCAL_IMAGESDirectorio/tar para escaneos locales ""TRIVY_SCANNERSEscáneres habilitados "vuln,secret,misconfig"TRIVY_IMAGE_SRCBackend de origen de imagen (remote/docker/...) ""severitySeveridades "CRITICAL,HIGH"exit_on_vulnerabilityFallar al coincidir severidad trueTRIVY_IGNORE_UNFIXEDIgnorar problemas sin corrección trueTRIVY_PKG_TYPESTipos de paquetes "os,library"TRIVY_VULN_TYPEAlias obsoleto para tipos de paquete ""TRIVY_TIMEOUTTiempo de espera del comando "10m"TRIVY_EXTRA_ARGSArgumentos CLI adicionales ""TRIVY_DB_REPOSITORYEspejo de base de datos personalizado ""TRIVY_JAVA_DB_REPOSITORYEspejo de base de datos Java personalizado
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 Entrada Descripción Predeterminado job_nameNombre del trabajo de CI "trivy:scan:filesystem"stageEtapa del pipeline "test"imageImagen de Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_FS_PATHArchivo o directorio a escanear "."TRIVY_SCANNERSEscáneres habilitados "vuln,secret"severitySeveridades "CRITICAL,HIGH"exit_on_vulnerabilityFallar al coincidir severidad trueTRIVY_IGNORE_UNFIXEDIgnorar problemas sin corrección trueTRIVY_PKG_TYPESTipos de paquetes "os,library"TRIVY_TIMEOUTTiempo de espera "10m"TRIVY_SKIP_FILESPatrones glob de archivos a omitir ""TRIVY_SKIP_DIRSDirectorios a omitir ""TRIVY_EXTRA_ARGSArgumentos CLI adicionales ""TRIVY_REPORT_BASENAMENombre base del artefacto "filesystem-scan"allow_failurePermitir fallo del trabajo 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 Entrada Descripción Predeterminado job_nameNombre del trabajo "trivy:scan:rootfs"stageEtapa "test"imageImagen de Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_ROOTFS_PATHRuta del sistema de archivos raíz "/"TRIVY_SCANNERSEscáneres "vuln,secret"severitySeveridades "CRITICAL,HIGH"exit_on_vulnerabilityFallar trabajo al encontrar hallazgos trueTRIVY_IGNORE_UNFIXEDIgnorar sin corregir trueTRIVY_PKG_TYPESTipos de paquetes "os,library"TRIVY_TIMEOUTTiempo de espera "10m"TRIVY_SKIP_FILESArchivos a omitir ""TRIVY_SKIP_DIRSDirectorios a omitir ""TRIVY_EXTRA_ARGSArgumentos adicionales ""TRIVY_REPORT_BASENAMENombre base del artefacto "rootfs-scan"allow_failurePermitir fallo 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 Entrada Descripción Predeterminado job_nameNombre del trabajo "trivy:scan:repo"stageEtapa "test"imageImagen de Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_REPO_TARGETRuta local o URL Git "."TRIVY_REPO_BRANCHRama remota ""TRIVY_REPO_COMMITHash de commit ""TRIVY_REPO_TAGNombre de etiqueta ""TRIVY_SCANNERSEscáneres "vuln,secret"severitySeveridades "CRITICAL,HIGH"exit_on_vulnerabilityFallar trabajo al encontrar hallazgos trueTRIVY_IGNORE_UNFIXEDIgnorar sin corregir trueTRIVY_TIMEOUTTiempo de espera "10m"TRIVY_SKIP_FILESArchivos a omitir ""TRIVY_SKIP_DIRSDirectorios a omitir ""TRIVY_EXTRA_ARGSArgumentos adicionales ""TRIVY_REPORT_BASENAMENombre base del artefacto "repo-scan"allow_failurePermitir fallo 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 Entrada Descripción Predeterminado job_nameNombre del trabajo "trivy:scan:vm"stageEtapa "test"imageImagen de Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_VM_TARGETRuta local o identificador ami:/ebs: ""TRIVY_AWS_REGIONRegión AWS para escaneos AMI/EBS ""TRIVY_SCANNERSEscáneres "vuln"severitySeveridades "CRITICAL,HIGH"exit_on_vulnerabilityFallar trabajo al encontrar hallazgos trueTRIVY_IGNORE_UNFIXEDIgnorar sin corregir trueTRIVY_TIMEOUTTiempo de espera "20m"TRIVY_EXTRA_ARGSArgumentos adicionales ""TRIVY_REPORT_BASENAMENombre base del artefacto "vm-scan"allow_failurePermitir fallo 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 Entrada Descripción Predeterminado job_nameNombre del trabajo "trivy:scan:k8s"stageEtapa "test"imageImagen de Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_K8S_OBJECTAlcance (cluster, namespace/foo, etc.) ""TRIVY_K8S_REPORTDetalle del informe (summary/all) "summary"TRIVY_K8S_KUBECONFIGRuta personalizada a kubeconfig ""TRIVY_K8S_INCLUDE_NAMESPACESEspacios de nombres a incluir ""TRIVY_K8S_EXCLUDE_NAMESPACESEspacios de nombres a excluir ""TRIVY_K8S_INCLUDE_KINDSTipos (kinds) a incluir ""TRIVY_K8S_EXCLUDE_KINDSTipos (kinds) a excluir ""TRIVY_K8S_SKIP_IMAGESOmitir escaneo de imágenes de cargas de trabajo falseTRIVY_K8S_DISABLE_NODE_COLLECTORDeshabilitar recolector de nodos falseTRIVY_SCANNERSEscáneres "vuln,misconfig,secret"severitySeveridades "CRITICAL,HIGH"exit_on_vulnerabilityFallar trabajo al encontrar hallazgos 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"
Componente: templates/scanner_iac_config.yml Entrada Descripción Predeterminado job_nameNombre del trabajo "trivy:scan:iac"stageEtapa "test"imageImagen de Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_CONFIG_PATHDirectorio IaC "."severitySeveridades "CRITICAL,HIGH"exit_on_vulnerabilityFallar al encontrar hallazgos trueTRIVY_CONFIG_REPORTDetalle del informe "all"TRIVY_CONFIG_INCLUDE_NON_FAILURESIncluir pases falseTRIVY_MISCONFIG_SCANNERSLista de escáneres de misconfig "azure-arm,cloudformation,dockerfile,helm,kubernetes,terraform"TRIVY_TIMEOUTTiempo de espera "10m"TRIVY_SKIP_FILESArchivos a omitir ""TRIVY_SKIP_DIRSDirectorios a omitir ""TRIVY_CONFIG_EXTRA_ARGSArgumentos adicionales ""TRIVY_REPORT_BASENAMENombre base del artefacto "iac-scan"allow_failurePermitir fallo 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 Entrada Descripción Predeterminado job_nameNombre del trabajo "trivy:scan:license"stageEtapa "test"imageImagen de Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_SCAN_REMOTE_IMAGEReferencia de imagen remota ""TRIVY_SCAN_LOCAL_IMAGESRuta local tar/OCI o sistema de archivos ""TRIVY_SCANNERSLista de escáneres "license"severitySeveridades "CRITICAL"exit_on_vulnerabilityFallar al coincidir severidad trueTRIVY_LICENSE_FULLHabilitar --license-full falseTRIVY_LICENSE_CONFIDENCEUmbral de confianza "0.9"TRIVY_LICENSE_IGNOREDLicencias a ignorar ""TRIVY_PKG_TYPESTipos de paquetes "os,library"TRIVY_TIMEOUTTiempo de espera "10m"TRIVY_EXTRA_ARGSArgumentos adicionales ""allow_failurePermitir fallo 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 Entrada Descripción Predeterminado job_nameNombre del trabajo "trivy:sbom:image"stageEtapa "test"imageImagen de Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_SBOM_IMAGEReferencia de imagen remota ""TRIVY_SBOM_INPUTEntrada local OCI/tar ""TRIVY_SBOM_FORMATFormato SBOM "cyclonedx"TRIVY_SBOM_FILENAMENombre de archivo de salida "image-sbom.cdx.json"TRIVY_SBOM_EXTRA_ARGSArgumentos adicionales ""TRIVY_TIMEOUTTiempo de espera "10m"allow_failurePermitir fallo 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 Entrada Descripción Predeterminado job_nameNombre del trabajo "trivy:sbom:repo"stageEtapa "test"imageImagen de Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_REPO_TARGETRuta o URL Git remota "."TRIVY_REPO_BRANCHRama ""TRIVY_REPO_COMMITHash de commit ""TRIVY_REPO_TAGEtiqueta ""TRIVY_SBOM_FORMATFormato "cyclonedx"TRIVY_SBOM_FILENAMENombre de archivo de salida "repo-sbom.cdx.json"TRIVY_REPO_SCANNERSEscáneres durante la creación del SBOM "vuln,secret"TRIVY_REPO_EXTRA_ARGSArgumentos adicionales ""TRIVY_TIMEOUTTiempo de espera "10m"allow_failurePermitir fallo 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 Entrada Descripción Predeterminado job_nameNombre del trabajo "trivy:sbom:kbom"stageEtapa "test"imageImagen de Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_K8S_TARGETObjetivo trivy k8s (cluster, namespace/...) "cluster"TRIVY_K8S_CONTEXTContexto de kubeconfig ""TRIVY_K8S_EXTRA_ARGSArgumentos adicionales ""TRIVY_SBOM_FILENAMENombre de archivo KBOM "kbom.cdx.json"TRIVY_TIMEOUTTiempo de espera "15m"scan_kbomEjecutar escaneo de vulnerabilidades en el KBOM generado trueTRIVY_SBOM_SCANNERSEscáneres para el escaneo KBOM "vuln"severitySeveridades para el escaneo KBOM "CRITICAL,HIGH"exit_on_vulnerabilityFallar al encontrar hallazgos trueTRIVY_SBOM_SCAN_EXTRA_ARGSArgumentos adicionales para el escaneo KBOM ""allow_failurePermitir fallo 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 Entrada Descripción Predeterminado job_nameNombre del trabajo "trivy:scan:sbom"stageEtapa "test"imageImagen de Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_SBOM_PATHRuta al archivo SBOM "artifacts/trivy/image-sbom.cdx.json"TRIVY_SBOM_REPORT_BASENAMENombre base de salida "sbom-scan"TRIVY_SCANNERSEscáneres a ejecutar "vuln,license"severitySeveridades "CRITICAL,HIGH"exit_on_vulnerabilityFallar al encontrar hallazgos trueTRIVY_SBOM_SCAN_EXTRA_ARGSArgumentos adicionales ""TRIVY_TIMEOUTTiempo de espera "10m"allow_failurePermitir fallo 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 Entrada Descripción Predeterminado job_nameNombre del trabajo "trivy:scan:rekor"stageEtapa "test"imageImagen de Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_SCAN_REMOTE_IMAGEImagen remota atestiguada ""TRIVY_REKOR_URLEndpoint de la API de Rekor ""TRIVY_SCANNERSEscáneres "vuln"severitySeveridades "CRITICAL,HIGH"exit_on_vulnerabilityFallar al encontrar hallazgos trueTRIVY_IGNORE_UNFIXEDIgnorar sin corregir trueTRIVY_TIMEOUTTiempo de espera "10m"TRIVY_EXTRA_ARGSArgumentos adicionales ""allow_failurePermitir fallo 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_FILESExclusiones de patrones glob de archivos ""
TRIVY_SKIP_DIRSExclusiones de directorios ""
allow_failurePermitir fallo sin fallar el pipeline false
TRIVY_TIMEOUTTiempo de espera "15m"
TRIVY_K8S_EXTRA_ARGSArgumentos adicionales ""
TRIVY_REPORT_BASENAMENombre base del artefacto "k8s-scan"
allow_failurePermitir fallo false