Tool-Verzeichnis
Kategorien
Tools / GitLab / niclas-zone / ci / trivy
niclas-zone/ci/trivy trivy GitLab CI-Komponente für Trivy-Scans
4 vor 1 MonatEntdecken Sie die meistgenutzten Tools unserer Community.
Letzte 7 Tage Letzte 30 Tage
Trivy GitLab CI-Komponente
Eine GitLab-CI-Komponente für Trivy – den All-in-One-Sicherheitsscanner, der Container-Images, Dateisysteme, Repositories, Kubernetes-Cluster, SBOMs und Lizenz-Compliance abdeckt. Fügen Sie diese Vorlagen direkt in Ihre Pipelines ein, um wiederholbare Scans, GitLab-native Berichte und portable Artefakte mit nahezu keinem Shell-Scripting zu erhalten.
Funktionen
Vollständige Abdeckung der Oberfläche : Container, Dateisysteme, Root-Dateisysteme, Git-Repositories, VMs, SBOMs, Kubernetes-Cluster und mehr.
Mehrere Scanner : Schwachstellen-, Fehlkonfiguration/IaC-, Geheimnis- und Lizenz-Scanning mit pro-Job-Steuerung.
GitLab-Berichte : Erzeugt Container Scanning-, JUnit-, SARIF- und JSON-Artefakte, bereit für Merge-Request-Einblicke.
Anpassbare Eingaben : Jede Vorlage bietet Einstellungsmöglichkeiten für Schweregrade, Scanner, Timeouts, Pakettypen und Artefakte.
Zusammensetzbare Vorlagen : Mischen Sie Remote- oder lokale Scans, SBOM-Workflows, Rekor-Bestätigungen und IaC-Prüfungen aus einem Komponenten-Namespace.
Verwendung
Grundlegende Verwendung
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/trivy/main@latest
stages:
- test
Remote-Image mit benutzerdefiniertem Schweregrad
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
Lokaler Tar / OCI Layout Scan 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
Komponenten-Eingaben & Vorlagen Jede unten aufgeführte Vorlage listet ihre verfügbaren Eingaben und Standardwerte auf, wie in der Komponentenspezifikation definiert, gefolgt von einem minimalen funktionierenden Beispiel.
Komponente: templates/main.yml Eingabe Beschreibung Standard job_nameName des CI-Jobs "trivy scanning"stagePipeline-Phase "test"imageContainer-Image, das Trivy ausführt "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_NEEDED_STAGEPhase, die abgeschlossen sein muss, bevor Trivy läuft "build"TRIVY_SCAN_REMOTE_IMAGERemote-Image zum Scannen ""TRIVY_SCAN_LOCAL_IMAGESPfad zu tar/OCI-Eingaben (sucht ., wenn leer) ""TRIVY_SCANNERSKommagetrennte Scanner "vuln,secret,misconfig"severityZu berücksichtigende Schweregrade "CRITICAL,HIGH"exit_on_vulnerabilityJob fehlschlagen lassen, wenn Probleme gefunden trueTRIVY_EXTRA_ARGSZusätzliche CLI-Flags ""allow_failureJob-Fehler erlauben, ohne dass die Pipeline fehlschlägt false
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/trivy/main@latest
inputs:
job_name: "trivy:basic"
TRIVY_SCAN_REMOTE_IMAGE: "nginx:latest"
Komponente: templates/target_container.yml Eingabe Beschreibung Standard job_nameCI-Job-Name "trivy:scan:containers"stagePipeline-Phase "test"imageTrivy-Container-Image "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_SCAN_REMOTE_IMAGERemote-Image-Referenz ""TRIVY_SCAN_LOCAL_IMAGESVerzeichnis/tar für lokale Scans ""TRIVY_SCANNERSAktivierte Scanner "vuln,secret,misconfig"TRIVY_IMAGE_SRCImage-Quell-Backend (remote/docker/...) ""severitySchweregrade "CRITICAL,HIGH"exit_on_vulnerabilityBei Schweregrad-Übereinstimmung fehlschlagen trueTRIVY_IGNORE_UNFIXEDProbleme ohne Fixes ignorieren trueTRIVY_PKG_TYPESPakettypen "os,library"TRIVY_VULN_TYPEVeralteter Alias für Pakettypen ""TRIVY_TIMEOUTBefehls-Timeout "10m"TRIVY_EXTRA_ARGSZusätzliche CLI-Args ""TRIVY_DB_REPOSITORYBenutzerdefinierter DB-Spiegel ""TRIVY_JAVA_DB_REPOSITORYBenutzerdefinierter Java-DB-Spiegel ""
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
Komponente: templates/target_filesystem.yml Eingabe Beschreibung Standard job_nameCI-Job-Name "trivy:scan:filesystem"stagePipeline-Phase "test"imageTrivy-Image "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_FS_PATHDatei oder Verzeichnis zum Scannen "."TRIVY_SCANNERSAktivierte Scanner "vuln,secret"severitySchweregrade "CRITICAL,HIGH"exit_on_vulnerabilityBei Schweregrad-Übereinstimmung fehlschlagen trueTRIVY_IGNORE_UNFIXEDUnbehobene Probleme ignorieren trueTRIVY_PKG_TYPESPakettypen "os,library"TRIVY_TIMEOUTTimeout "10m"TRIVY_SKIP_FILESDateiglobs zum Überspringen ""TRIVY_SKIP_DIRSVerzeichnisse zum Überspringen ""TRIVY_EXTRA_ARGSZusätzliche CLI-Args ""TRIVY_REPORT_BASENAMEBasisname des Artefakts "filesystem-scan"allow_failureJob-Fehler erlauben false
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/trivy/target_filesystem@latest
inputs:
TRIVY_FS_PATH: "services/api"
TRIVY_SCANNERS: "vuln,misconfig,secret"
Komponente: templates/target_rootfs.yml Eingabe Beschreibung Standard job_nameJob-Name "trivy:scan:rootfs"stagePhase "test"imageTrivy-Image "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_ROOTFS_PATHRoot-Dateisystem-Pfad "/"TRIVY_SCANNERSScanner "vuln,secret"severitySchweregrade "CRITICAL,HIGH"exit_on_vulnerabilityJob bei Befunden fehlschlagen lassen trueTRIVY_IGNORE_UNFIXEDUnbehobene ignorieren trueTRIVY_PKG_TYPESPakettypen "os,library"TRIVY_TIMEOUTTimeout "10m"TRIVY_SKIP_FILESZu überspringende Dateien ""TRIVY_SKIP_DIRSZu überspringende Verzeichnisse ""TRIVY_EXTRA_ARGSZusätzliche Args ""TRIVY_REPORT_BASENAMEBasisname des Artefakts "rootfs-scan"allow_failureFehlschlag erlauben false
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/trivy/target_rootfs@latest
inputs:
TRIVY_ROOTFS_PATH: "/mnt/root"
TRIVY_SCANNERS: "vuln"
Komponente: templates/target_repository.yml Eingabe Beschreibung Standard job_nameJob-Name "trivy:scan:repo"stagePhase "test"imageTrivy-Image "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_REPO_TARGETLokaler Pfad oder Git-URL "."TRIVY_REPO_BRANCHRemote-Branch ""TRIVY_REPO_COMMITCommit-Hash ""TRIVY_REPO_TAGTag-Name ""TRIVY_SCANNERSScanner "vuln,secret"severitySchweregrade "CRITICAL,HIGH"exit_on_vulnerabilityJob bei Befunden fehlschlagen lassen trueTRIVY_IGNORE_UNFIXEDUnbehobene ignorieren trueTRIVY_TIMEOUTTimeout "10m"TRIVY_SKIP_FILESZu überspringende Dateien ""TRIVY_SKIP_DIRSZu überspringende Verzeichnisse ""TRIVY_EXTRA_ARGSZusätzliche Args ""TRIVY_REPORT_BASENAMEBasisname des Artefakts "repo-scan"allow_failureFehlschlag erlauben 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"
Komponente: templates/target_vm.yml Eingabe Beschreibung Standard job_nameJob-Name "trivy:scan:vm"stagePhase "test"imageTrivy-Image "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_VM_TARGETLokaler Pfad oder ami:/ebs:-Bezeichner ""TRIVY_AWS_REGIONAWS-Region für AMI/EBS-Scans ""TRIVY_SCANNERSScanner "vuln"severitySchweregrade "CRITICAL,HIGH"exit_on_vulnerabilityJob bei Befunden fehlschlagen lassen trueTRIVY_IGNORE_UNFIXEDUnbehobene ignorieren trueTRIVY_TIMEOUTTimeout "20m"TRIVY_EXTRA_ARGSZusätzliche Args ""TRIVY_REPORT_BASENAMEBasisname des Artefakts "vm-scan"allow_failureFehlschlag erlauben 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"
Komponente: templates/target_kubernetes.yml Eingabe Beschreibung Standard job_nameJob-Name "trivy:scan:k8s"stagePhase "test"imageTrivy-Image "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_K8S_OBJECTBereich (cluster, namespace/foo, etc.) ""TRIVY_K8S_REPORTBerichtsdetail (summary/all) "summary"TRIVY_K8S_KUBECONFIGBenutzerdefinierter Kubeconfig-Pfad ""TRIVY_K8S_INCLUDE_NAMESPACESEinzuschließende Namespaces ""TRIVY_K8S_EXCLUDE_NAMESPACESAuszuschließende Namespaces ""TRIVY_K8S_INCLUDE_KINDSEinzuschließende Arten ""TRIVY_K8S_EXCLUDE_KINDSAuszuschließende Arten ""TRIVY_K8S_SKIP_IMAGESWorkload-Image-Scans überspringen falseTRIVY_K8S_DISABLE_NODE_COLLECTORNode-Collector deaktivieren falseTRIVY_SCANNERSScanner "vuln,misconfig,secret"severitySchweregrade "CRITICAL,HIGH"exit_on_vulnerabilityJob bei Befunden fehlschlagen lassen 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"
Komponente: templates/scanner_iac_config.yml Eingabe Beschreibung Standard job_nameJob-Name "trivy:scan:iac"stagePhase "test"imageTrivy-Image "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_CONFIG_PATHIaC-Verzeichnis "."severitySchweregrade "CRITICAL,HIGH"exit_on_vulnerabilityBei Befunden fehlschlagen trueTRIVY_CONFIG_REPORTBerichtsdetail "all"TRIVY_CONFIG_INCLUDE_NON_FAILURESErfolge einschließen falseTRIVY_MISCONFIG_SCANNERSListe der Misconfig-Scanner "azure-arm,cloudformation,dockerfile,helm,kubernetes,terraform"TRIVY_TIMEOUTTimeout "10m"TRIVY_SKIP_FILESZu überspringende Dateien ""TRIVY_SKIP_DIRSZu überspringende Verzeichnisse ""TRIVY_CONFIG_EXTRA_ARGSZusätzliche Args ""TRIVY_REPORT_BASENAMEBasisname des Artefakts "iac-scan"allow_failureFehlschlag erlauben 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"
Komponente: templates/scanner_license.yml Eingabe Beschreibung Standard job_nameJob-Name "trivy:scan:license"stagePhase "test"imageTrivy-Image "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_SCAN_REMOTE_IMAGERemote-Image-Referenz ""TRIVY_SCAN_LOCAL_IMAGESLokaler tar/OCI- oder Dateisystem-Pfad ""TRIVY_SCANNERSScanner-Liste "license"severitySchweregrade "CRITICAL"exit_on_vulnerabilityBei Schweregrad-Übereinstimmung fehlschlagen trueTRIVY_LICENSE_FULL--license-full aktivierenfalseTRIVY_LICENSE_CONFIDENCEKonfidenzschwelle "0.9"TRIVY_LICENSE_IGNOREDLizenz-Liste zum Ignorieren ""TRIVY_PKG_TYPESPakettypen "os,library"TRIVY_TIMEOUTTimeout "10m"TRIVY_EXTRA_ARGSZusätzliche Args ""allow_failureFehlschlag erlauben false
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/trivy/scanner_license@latest
inputs:
TRIVY_SCAN_LOCAL_IMAGES: "test.tar"
TRIVY_LICENSE_FULL: true
Komponente: templates/sbom_generate_image.yml Eingabe Beschreibung Standard job_nameJob-Name "trivy:sbom:image"stagePhase "test"imageTrivy-Image "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_SBOM_IMAGERemote-Image-Referenz ""TRIVY_SBOM_INPUTLokaler OCI/tar-Eingang ""TRIVY_SBOM_FORMATSBOM-Format "cyclonedx"TRIVY_SBOM_FILENAMEAusgabedateiname "image-sbom.cdx.json"TRIVY_SBOM_EXTRA_ARGSZusätzliche Args ""TRIVY_TIMEOUTTimeout "10m"allow_failureFehlschlag erlauben 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"
Komponente: templates/sbom_generate_repo.yml Eingabe Beschreibung Standard job_nameJob-Name "trivy:sbom:repo"stagePhase "test"imageTrivy-Image "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_REPO_TARGETPfad oder Remote-Git-URL "."TRIVY_REPO_BRANCHBranch ""TRIVY_REPO_COMMITCommit-Hash ""TRIVY_REPO_TAGTag ""TRIVY_SBOM_FORMATFormat "cyclonedx"TRIVY_SBOM_FILENAMEAusgabedateiname "repo-sbom.cdx.json"TRIVY_REPO_SCANNERSScanner während der SBOM-Erstellung "vuln,secret"TRIVY_REPO_EXTRA_ARGSZusätzliche Args ""TRIVY_TIMEOUTTimeout "10m"allow_failureFehlschlag erlauben false
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/trivy/sbom_generate_repo@latest
inputs:
TRIVY_REPO_TARGET: "."
TRIVY_SBOM_FORMAT: "spdx-json"
Komponente: templates/sbom_generate_kbom.yml Eingabe Beschreibung Standard job_nameJob-Name "trivy:sbom:kbom"stagePhase "test"imageTrivy-Image "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_K8S_TARGETtrivy k8s-Ziel (cluster, namespace/...)"cluster"TRIVY_K8S_CONTEXTKubeconfig-Kontext ""TRIVY_K8S_EXTRA_ARGSZusätzliche Args ""TRIVY_SBOM_FILENAMEKBOM-Dateiname "kbom.cdx.json"TRIVY_TIMEOUTTimeout "15m"scan_kbomSchwachstellenscan auf generiertem KBOM ausführen trueTRIVY_SBOM_SCANNERSScanner für KBOM-Scan "vuln"severitySchweregrade für KBOM-Scan "CRITICAL,HIGH"exit_on_vulnerabilityBei Befunden fehlschlagen trueTRIVY_SBOM_SCAN_EXTRA_ARGSZusätzliche Args für KBOM-Scan ""allow_failureFehlschlag erlauben false
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/trivy/sbom_generate_kbom@latest
inputs:
TRIVY_K8S_TARGET: "namespace/default"
scan_kbom: true
Komponente: templates/sbom_scan_file.yml Eingabe Beschreibung Standard job_nameJob-Name "trivy:scan:sbom"stagePhase "test"imageTrivy-Image "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_SBOM_PATHPfad zur SBOM-Datei "artifacts/trivy/image-sbom.cdx.json"TRIVY_SBOM_REPORT_BASENAMEAusgabebasisname "sbom-scan"TRIVY_SCANNERSAuszuführende Scanner "vuln,license"severitySchweregrade "CRITICAL,HIGH"exit_on_vulnerabilityBei Befunden fehlschlagen trueTRIVY_SBOM_SCAN_EXTRA_ARGSZusätzliche Args ""TRIVY_TIMEOUTTimeout "10m"allow_failureFehlschlag erlauben 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"
Komponente: templates/sbom_scan_rekor.yml Eingabe Beschreibung Standard job_nameJob-Name "trivy:scan:rekor"stagePhase "test"imageTrivy-Image "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_SCAN_REMOTE_IMAGEBestätigtes Remote-Image ""TRIVY_REKOR_URLRekor-API-Endpunkt ""TRIVY_SCANNERSScanner "vuln"severitySchweregrade "CRITICAL,HIGH"exit_on_vulnerabilityBei Befunden fehlschlagen trueTRIVY_IGNORE_UNFIXEDUnbehobene ignorieren trueTRIVY_TIMEOUTTimeout "10m"TRIVY_EXTRA_ARGSZusätzliche Args ""allow_failureFehlschlag erlauben 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_FILES
Ausschlüsse für Dateiglobs
TRIVY_SKIP_DIRSAusschlüsse für Verzeichnisse ""
allow_failureFehlschlag erlauben, ohne dass die Pipeline fehlschlägt false
TRIVY_TIMEOUTTimeout "15m"
TRIVY_K8S_EXTRA_ARGSZusätzliche Args ""
TRIVY_REPORT_BASENAMEBasisname des Artefakts "k8s-scan"
allow_failureFehlschlag erlauben false