Diretório de Ferramentas
Categorias
trivy — Componente GitLab CI para varredura Trivy | Kitploit
Ferramentas / GitLab / niclas-zone / ci / trivy
niclas-zone/ci/trivy trivy Componente GitLab CI para varredura Trivy
5 há 1 mêsDescubra as ferramentas mais usadas pela nossa comunidade.
Últimos 7 Dias Últimos 30 Dias
Componente de CI do GitLab Trivy
Um componente de CI do GitLab para o Trivy — o scanner de segurança completo que abrange imagens de contêiner, sistemas de arquivos, repositórios, clusters Kubernetes, SBOMs e conformidade de licenças. Insira esses modelos diretamente em seus pipelines para obter varreduras repetíveis, relatórios nativos do GitLab e artefatos portáteis com quase nenhum script de shell.
Funcionalidades
Cobertura Completa de Superfície : Contêineres, sistemas de arquivos, sistemas de arquivos raiz, repositórios Git, VMs, SBOMs, clusters Kubernetes e mais.
Múltiplos Scanners : Varredura de vulnerabilidades, configuração incorreta/IaC, segredos e licenças com controles por job.
Relatórios GitLab : Emite artefatos de Varredura de Contêiner, JUnit, SARIF e JSON prontos para insights de merge request.
Entradas Personalizáveis : Cada modelo expõe opções para severidades, scanners, timeouts, tipos de pacotes e artefatos.
Modelos Combináveis : Misture varreduras remotas ou locais, fluxos de trabalho SBOM, atestações Rekor e verificações IaC a partir de um namespace de componente.
Uso
Uso Básico
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/trivy/main@latest
stages:
- test
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
Varredura de Tar Local / Layout 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
Entradas e Modelos do Componente Cada modelo abaixo lista suas entradas disponíveis e padrões conforme definido na especificação do componente, seguido por um exemplo mínimo funcional.
Componente: templates/main.yml Entrada Descrição Padrão job_nameNome do job CI "trivy scanning"stageEstágio do pipeline "test"imageImagem do contêiner executando o Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_NEEDED_STAGEEstágio que deve terminar antes da execução do Trivy "build"TRIVY_SCAN_REMOTE_IMAGEImagem remota para varredura ""TRIVY_SCAN_LOCAL_IMAGESCaminho para entradas tar/OCI (procura . quando vazio) ""TRIVY_SCANNERSScanners separados por vírgula "vuln,secret,misconfig"severitySeveridades a incluir "CRITICAL,HIGH"exit_on_vulnerabilityFalhar job quando problemas forem encontrados trueTRIVY_EXTRA_ARGSSinalizadores adicionais de CLI ""allow_failurePermitir falha do job sem falhar o 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 Descrição Padrão job_nameNome do job CI "trivy:scan:containers"stageEstágio do pipeline "test"imageImagem do Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_SCAN_REMOTE_IMAGEReferência de imagem remota ""TRIVY_SCAN_LOCAL_IMAGESDiretório/tar para varreduras locais ""TRIVY_SCANNERSScanners habilitados "vuln,secret,misconfig"TRIVY_IMAGE_SRCBackend da fonte da imagem (remote/docker/...) ""severitySeveridades "CRITICAL,HIGH"exit_on_vulnerabilityFalhar ao corresponder severidade trueTRIVY_IGNORE_UNFIXEDIgnorar problemas sem correções trueTRIVY_PKG_TYPESTipos de pacotes "os,library"TRIVY_VULN_TYPEAlias obsoleto para tipos de pkg ""TRIVY_TIMEOUTTimeout do comando "10m"TRIVY_EXTRA_ARGSArgumentos extras de CLI ""TRIVY_DB_REPOSITORYEspelho de banco de dados personalizado ""TRIVY_JAVA_DB_REPOSITORYEspelho de banco de dados 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 Descrição Padrão job_nameNome do job CI "trivy:scan:filesystem"stageEstágio do pipeline "test"imageImagem do Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_FS_PATHArquivo ou diretório para varredura "."TRIVY_SCANNERSScanners habilitados "vuln,secret"severitySeveridades "CRITICAL,HIGH"exit_on_vulnerabilityFalhar ao corresponder severidade trueTRIVY_IGNORE_UNFIXEDIgnorar problemas não corrigidos trueTRIVY_PKG_TYPESTipos de pacotes "os,library"TRIVY_TIMEOUTTimeout "10m"TRIVY_SKIP_FILESGlobs de arquivos para ignorar ""TRIVY_SKIP_DIRSDiretórios para ignorar ""TRIVY_EXTRA_ARGSArgumentos extras de CLI ""TRIVY_REPORT_BASENAMENome base do artefato "filesystem-scan"allow_failurePermitir falha do 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 Entrada Descrição Padrão job_nameNome do job "trivy:scan:rootfs"stageEstágio "test"imageImagem do Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_ROOTFS_PATHCaminho do sistema de arquivos raiz "/"TRIVY_SCANNERSScanners "vuln,secret"severitySeveridades "CRITICAL,HIGH"exit_on_vulnerabilityFalhar job em achados trueTRIVY_IGNORE_UNFIXEDIgnorar não corrigidos trueTRIVY_PKG_TYPESTipos de pacotes "os,library"TRIVY_TIMEOUTTimeout "10m"TRIVY_SKIP_FILESArquivos para ignorar ""TRIVY_SKIP_DIRSDiretórios para ignorar ""TRIVY_EXTRA_ARGSArgumentos extras ""TRIVY_REPORT_BASENAMENome base do artefato "rootfs-scan"allow_failurePermitir falha 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 Descrição Padrão job_nameNome do job "trivy:scan:repo"stageEstágio "test"imageImagem do Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_REPO_TARGETCaminho local ou URL Git "."TRIVY_REPO_BRANCHBranch remoto ""TRIVY_REPO_COMMITHash do commit ""TRIVY_REPO_TAGNome da tag ""TRIVY_SCANNERSScanners "vuln,secret"severitySeveridades "CRITICAL,HIGH"exit_on_vulnerabilityFalhar job em achados trueTRIVY_IGNORE_UNFIXEDIgnorar não corrigidos trueTRIVY_TIMEOUTTimeout "10m"TRIVY_SKIP_FILESArquivos para ignorar ""TRIVY_SKIP_DIRSDiretórios para ignorar ""TRIVY_EXTRA_ARGSArgumentos extras ""TRIVY_REPORT_BASENAMENome base do artefato "repo-scan"allow_failurePermitir falha 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 Descrição Padrão job_nameNome do job "trivy:scan:vm"stageEstágio "test"imageImagem do Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_VM_TARGETCaminho local ou identificador ami:/ebs: ""TRIVY_AWS_REGIONRegião AWS para varreduras AMI/EBS ""TRIVY_SCANNERSScanners "vuln"severitySeveridades "CRITICAL,HIGH"exit_on_vulnerabilityFalhar job em achados trueTRIVY_IGNORE_UNFIXEDIgnorar não corrigidos trueTRIVY_TIMEOUTTimeout "20m"TRIVY_EXTRA_ARGSArgumentos extras ""TRIVY_REPORT_BASENAMENome base do artefato "vm-scan"allow_failurePermitir falha 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 Descrição Padrão job_nameNome do job "trivy:scan:k8s"stageEstágio "test"imageImagem do Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_K8S_OBJECTEscopo (cluster, namespace/foo, etc.) ""TRIVY_K8S_REPORTDetalhamento do relatório (summary/all) "summary"TRIVY_K8S_KUBECONFIGCaminho personalizado do kubeconfig ""TRIVY_K8S_INCLUDE_NAMESPACESNamespaces a incluir ""TRIVY_K8S_EXCLUDE_NAMESPACESNamespaces a excluir ""TRIVY_K8S_INCLUDE_KINDSTipos (kinds) a incluir ""TRIVY_K8S_EXCLUDE_KINDSTipos a excluir ""TRIVY_K8S_SKIP_IMAGESIgnorar varreduras de imagens de workloads falseTRIVY_K8S_DISABLE_NODE_COLLECTORDesabilitar coletor de nós falseTRIVY_SCANNERSScanners "vuln,misconfig,secret"severitySeveridades "CRITICAL,HIGH"exit_on_vulnerabilityFalhar job em achados trueTRIVY_IGNORE_UNFIXEDIgnorar não corrigidos
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 Descrição Padrão job_nameNome do job "trivy:scan:iac"stageEstágio "test"imageImagem do Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_CONFIG_PATHDiretório IaC "."severitySeveridades "CRITICAL,HIGH"exit_on_vulnerabilityFalhar em achados trueTRIVY_CONFIG_REPORTDetalhamento do relatório "all"TRIVY_CONFIG_INCLUDE_NON_FAILURESIncluir passagens falseTRIVY_MISCONFIG_SCANNERSLista de scanners de misconfig "azure-arm,cloudformation,dockerfile,helm,kubernetes,terraform"TRIVY_TIMEOUTTimeout "10m"TRIVY_SKIP_FILESArquivos para ignorar ""TRIVY_SKIP_DIRSDiretórios para ignorar ""TRIVY_CONFIG_EXTRA_ARGSArgumentos extras ""TRIVY_REPORT_BASENAMENome base do artefato "iac-scan"allow_failurePermitir falha 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 Descrição Padrão job_nameNome do job "trivy:scan:license"stageEstágio "test"imageImagem do Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_SCAN_REMOTE_IMAGEReferência de imagem remota ""TRIVY_SCAN_LOCAL_IMAGESTar/OCI local ou caminho de sistema de arquivos ""TRIVY_SCANNERSLista de scanners "license"severitySeveridades "CRITICAL"exit_on_vulnerabilityFalhar ao corresponder severidade trueTRIVY_LICENSE_FULLHabilitar --license-full falseTRIVY_LICENSE_CONFIDENCELimite de confiança "0.9"TRIVY_LICENSE_IGNOREDLicenças a ignorar ""TRIVY_PKG_TYPESTipos de pacotes "os,library"TRIVY_TIMEOUTTimeout "10m"TRIVY_EXTRA_ARGSArgumentos extras ""allow_failurePermitir falha 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 Descrição Padrão job_nameNome do job "trivy:sbom:image"stageEstágio "test"imageImagem do Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_SBOM_IMAGEReferência de imagem remota ""TRIVY_SBOM_INPUTEntrada OCI/tar local ""TRIVY_SBOM_FORMATFormato do SBOM "cyclonedx"TRIVY_SBOM_FILENAMENome do arquivo de saída "image-sbom.cdx.json"TRIVY_SBOM_EXTRA_ARGSArgumentos extras ""TRIVY_TIMEOUTTimeout "10m"allow_failurePermitir falha 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 Descrição Padrão job_nameNome do job "trivy:sbom:repo"stageEstágio "test"imageImagem do Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_REPO_TARGETCaminho ou URL Git remoto "."TRIVY_REPO_BRANCHBranch ""TRIVY_REPO_COMMITHash do commit ""TRIVY_REPO_TAGTag ""TRIVY_SBOM_FORMATFormato "cyclonedx"TRIVY_SBOM_FILENAMENome do arquivo de saída "repo-sbom.cdx.json"TRIVY_REPO_SCANNERSScanners durante a criação do SBOM "vuln,secret"TRIVY_REPO_EXTRA_ARGSArgumentos extras ""TRIVY_TIMEOUTTimeout "10m"allow_failurePermitir falha 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 Descrição Padrão job_nameNome do job "trivy:sbom:kbom"stageEstágio "test"imageImagem do Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_K8S_TARGETAlvo do trivy k8s (cluster, namespace/...) "cluster"TRIVY_K8S_CONTEXTContexto do kubeconfig ""TRIVY_K8S_EXTRA_ARGSArgumentos extras ""TRIVY_SBOM_FILENAMENome do arquivo KBOM "kbom.cdx.json"TRIVY_TIMEOUTTimeout "15m"scan_kbomExecutar varredura de vulnerabilidade no KBOM gerado trueTRIVY_SBOM_SCANNERSScanners para varredura do KBOM "vuln"severitySeveridades para varredura do KBOM "CRITICAL,HIGH"exit_on_vulnerabilityFalhar em achados trueTRIVY_SBOM_SCAN_EXTRA_ARGSArgumentos extras para varredura do KBOM ""allow_failurePermitir falha 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 Descrição Padrão job_nameNome do job "trivy:scan:sbom"stageEstágio "test"imageImagem do Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_SBOM_PATHCaminho para o arquivo SBOM "artifacts/trivy/image-sbom.cdx.json"TRIVY_SBOM_REPORT_BASENAMENome base de saída "sbom-scan"TRIVY_SCANNERSScanners a executar "vuln,license"severitySeveridades "CRITICAL,HIGH"exit_on_vulnerabilityFalhar em achados trueTRIVY_SBOM_SCAN_EXTRA_ARGSArgumentos extras ""TRIVY_TIMEOUTTimeout "10m"allow_failurePermitir falha 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 Descrição Padrão job_nameNome do job "trivy:scan:rekor"stageEstágio "test"imageImagem do Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_SCAN_REMOTE_IMAGEImagem remota atestada ""TRIVY_REKOR_URLEndpoint da API Rekor ""TRIVY_SCANNERSScanners "vuln"severitySeveridades "CRITICAL,HIGH"exit_on_vulnerabilityFalhar em achados trueTRIVY_IGNORE_UNFIXEDIgnorar não corrigidos trueTRIVY_TIMEOUTTimeout "10m"TRIVY_EXTRA_ARGSArgumentos extras ""allow_failurePermitir falha 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_FILESExclusões de glob de arquivos ""
TRIVY_SKIP_DIRSExclusões de diretórios ""
allow_failurePermitir falha sem falhar o pipeline false
TRIVY_TIMEOUTTimeout "15m"
TRIVY_K8S_EXTRA_ARGSArgumentos extras ""
TRIVY_REPORT_BASENAMENome base do artefato "k8s-scan"
allow_failurePermitir falha false