trivy — مكون GitLab CI لفحص Trivy | Kitploit
أدوات / GitLab / niclas-zone / ci / trivy
niclas-zone/ci/trivy trivy مكون GitLab CI لفحص Trivy
4 منذ شهر واحداكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.
آخر 7 أيام آخر 30 يومًا
مكون Trivy GitLab CI
مكون GitLab CI لأداة Trivy — الماسح الأمني الشامل الذي يغطي صور الحاويات، أنظمة الملفات، المستودعات، مجموعات Kubernetes، قوائم المواد البرمجية (SBOM)، والامتثال للتراخيص. قم بتوصيل هذه القوالب مباشرة في خطوط الأنابيب الخاصة بك للحصول على عمليات فحص قابلة للتكرار، تقارير أصلية في GitLab، وقطع أثرية محمولة دون الحاجة إلى نصوص برمجية تقريبًا.
الميزات
تغطية كاملة للأسطح : الحاويات، أنظمة الملفات، أنظمة ملفات الجذر، مستودعات Git، الأجهزة الافتراضية، قوائم المواد البرمجية (SBOM)، مجموعات Kubernetes، والمزيد.
أجهزة مسح متعددة : كشف الثغرات الأمنية، التكوين الخاطئ/البنية التحتية كرمز (IaC)، الأسرار، والتراخيص مع عناصر تحكم لكل وظيفة.
تقارير GitLab : يصدر قطع أثرية لمسح الحاويات، JUnit، SARIF، و JSON جاهزة لرؤى طلبات الدمج.
مدخلات قابلة للتخصيص : كل قالب يعرض مقابض للدرجات، الماسحات، المهلات، أنواع الحزم، والقطع الأثرية.
قوالب قابلة للتجميع : امزج عمليات الفحص عن بعد أو المحلية، سير عمل قوائم المواد البرمجية (SBOM)، إثباتات Rekor، وفحوصات البنية التحتية كرمز (IaC) من مساحة اسم مكون واحد.
الاستخدام
الاستخدام الأساسي
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
فحص ملف 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
مدخلات المكونات والقوالب يسرد كل قالب أدناه مدخلاتها المتاحة والقيم الافتراضية كما هو محدد في مواصفات المكون، متبوعًا بمثال عملي أدنى.
المكون: templates/main.yml المدخل الوصف القيمة الافتراضية job_nameاسم وظيفة CI "trivy scanning"stageمرحلة خط الأنابيب "test"imageصورة الحاوية التي تشغل Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_NEEDED_STAGEالمرحلة التي يجب أن تكتمل قبل تشغيل Trivy "build"TRIVY_SCAN_REMOTE_IMAGEالصورة عن بعد المراد فحصها ""TRIVY_SCAN_LOCAL_IMAGESمسار إلى مدخلات tar/OCI (يبحث في . عند الفراغ) ""TRIVY_SCANNERSالماسحات مفصولة بفواصل "vuln,secret,misconfig"severityدرجات الخطورة المطلوب تضمينها "CRITICAL,HIGH"exit_on_vulnerabilityفشل الوظيفة عند العثور على مشكلات trueTRIVY_EXTRA_ARGSعلامات CLI إضافية ""allow_failureالسماح بفشل الوظيفة دون فشل خط الأنابيب false
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/trivy/main@latest
inputs:
job_name: "trivy:basic"
TRIVY_SCAN_REMOTE_IMAGE: "nginx:latest"
المكون: templates/target_container.yml المدخل الوصف القيمة الافتراضية job_nameاسم وظيفة CI "trivy:scan:containers"stageمرحلة خط الأنابيب "test"imageصورة حاوية Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_SCAN_REMOTE_IMAGEمرجع الصورة عن بعد ""TRIVY_SCAN_LOCAL_IMAGESدليل/tar للفحص المحلي ""TRIVY_SCANNERSالماسحات المفعلة "vuln,secret,misconfig"TRIVY_IMAGE_SRCمصدر خلفية الصورة (remote/docker/...) ""severityدرجات الخطورة "CRITICAL,HIGH"exit_on_vulnerabilityالفشل عند تطابق درجة الخطورة trueTRIVY_IGNORE_UNFIXEDتجاهل المشكلات بدون إصلاحات trueTRIVY_PKG_TYPESأنواع الحزم "os,library"TRIVY_VULN_TYPEاسم مستعار مهمل لأنواع الحزم ""TRIVY_TIMEOUTمهلة الأمر "10m"TRIVY_EXTRA_ARGSوسيطات CLI إضافية ""TRIVY_DB_REPOSITORYمرآة قاعدة بيانات مخصصة ""TRIVY_JAVA_DB_REPOSITORYمرآة قاعدة بيانات Java مخصصة ""TRIVY_SKIP_FILES
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
المكون: templates/target_filesystem.yml المدخل الوصف القيمة الافتراضية job_nameاسم وظيفة CI "trivy:scan:filesystem"stageمرحلة خط الأنابيب "test"imageصورة Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_FS_PATHالملف أو الدليل المراد فحصه "."TRIVY_SCANNERSالماسحات المفعلة "vuln,secret"severityدرجات الخطورة "CRITICAL,HIGH"exit_on_vulnerabilityالفشل عند تطابق درجة الخطورة trueTRIVY_IGNORE_UNFIXEDتجاهل المشكلات غير المُصلحة trueTRIVY_PKG_TYPESأنواع الحزم "os,library"TRIVY_TIMEOUTالمهلة "10m"TRIVY_SKIP_FILESأنماط glob للملفات المراد تخطيها ""TRIVY_SKIP_DIRSالدلائل المراد تخطيها ""TRIVY_EXTRA_ARGSوسيطات CLI إضافية ""TRIVY_REPORT_BASENAMEالاسم الأساسي للقطعة الأثرية "filesystem-scan"allow_failureالسماح بفشل الوظيفة false
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/trivy/target_filesystem@latest
inputs:
TRIVY_FS_PATH: "services/api"
TRIVY_SCANNERS: "vuln,misconfig,secret"
المكون: templates/target_rootfs.yml المدخل الوصف القيمة الافتراضية job_nameاسم الوظيفة "trivy:scan:rootfs"stageالمرحلة "test"imageصورة Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_ROOTFS_PATHمسار نظام ملفات الجذر "/"TRIVY_SCANNERSالماسحات "vuln,secret"severityدرجات الخطورة "CRITICAL,HIGH"exit_on_vulnerabilityفشل الوظيفة عند الاكتشافات trueTRIVY_IGNORE_UNFIXEDتجاهل غير المُصلح trueTRIVY_PKG_TYPESأنواع الحزم "os,library"TRIVY_TIMEOUTالمهلة "10m"TRIVY_SKIP_FILESالملفات المراد تخطيها ""TRIVY_SKIP_DIRSالدلائل المراد تخطيها ""TRIVY_EXTRA_ARGSوسيطات إضافية ""TRIVY_REPORT_BASENAMEالاسم الأساسي للقطعة الأثرية "rootfs-scan"allow_failureالسماح بالفشل false
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/trivy/target_rootfs@latest
inputs:
TRIVY_ROOTFS_PATH: "/mnt/root"
TRIVY_SCANNERS: "vuln"
المكون: templates/target_repository.yml المدخل الوصف القيمة الافتراضية job_nameاسم الوظيفة "trivy:scan:repo"stageالمرحلة "test"imageصورة Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_REPO_TARGETمسار محلي أو رابط Git "."TRIVY_REPO_BRANCHالفرع عن بعد ""TRIVY_REPO_COMMITهاش الالتزام ""TRIVY_REPO_TAGاسم العلامة ""TRIVY_SCANNERSالماسحات "vuln,secret"severityدرجات الخطورة "CRITICAL,HIGH"exit_on_vulnerabilityفشل الوظيفة عند الاكتشافات trueTRIVY_IGNORE_UNFIXEDتجاهل غير المُصلح trueTRIVY_TIMEOUTالمهلة "10m"TRIVY_SKIP_FILESالملفات المراد تخطيها ""TRIVY_SKIP_DIRSالدلائل المراد تخطيها ""TRIVY_EXTRA_ARGSوسيطات إضافية ""TRIVY_REPORT_BASENAMEالاسم الأساسي للقطعة الأثرية "repo-scan"allow_failureالسماح بالفشل 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"
المكون: templates/target_vm.yml المدخل الوصف القيمة الافتراضية job_nameاسم الوظيفة "trivy:scan:vm"stageالمرحلة "test"imageصورة Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_VM_TARGETمسار محلي أو معرف ami:/ebs: ""TRIVY_AWS_REGIONمنطقة AWS لفحص AMI/EBS ""TRIVY_SCANNERSالماسحات "vuln"severityدرجات الخطورة "CRITICAL,HIGH"exit_on_vulnerabilityفشل الوظيفة عند الاكتشافات trueTRIVY_IGNORE_UNFIXEDتجاهل غير المُصلح trueTRIVY_TIMEOUTالمهلة "20m"TRIVY_EXTRA_ARGSوسيطات إضافية ""TRIVY_REPORT_BASENAMEالاسم الأساسي للقطعة الأثرية "vm-scan"allow_failureالسماح بالفشل 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"
المكون: templates/target_kubernetes.yml المدخل الوصف القيمة الافتراضية job_nameاسم الوظيفة "trivy:scan:k8s"stageالمرحلة "test"imageصورة Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_K8S_OBJECTالنطاق (cluster, namespace/foo, إلخ) ""TRIVY_K8S_REPORTتفاصيل التقرير (summary/all) "summary"TRIVY_K8S_KUBECONFIGمسار kubeconfig مخصص ""TRIVY_K8S_INCLUDE_NAMESPACESمساحات الأسماء المراد تضمينها ""TRIVY_K8S_EXCLUDE_NAMESPACESمساحات الأسماء المراد استبعادها ""TRIVY_K8S_INCLUDE_KINDSالأنواع المراد تضمينها ""TRIVY_K8S_EXCLUDE_KINDSالأنواع المراد استبعادها ""TRIVY_K8S_SKIP_IMAGESتخطي فحص صور عبء العمل falseTRIVY_K8S_DISABLE_NODE_COLLECTORتعطيل جامع العقدة falseTRIVY_SCANNERSالماسحات "vuln,misconfig,secret"severityدرجات الخطورة "CRITICAL,HIGH"exit_on_vulnerabilityفشل الوظيفة عند الاكتشافات 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"
المكون: templates/scanner_iac_config.yml المدخل الوصف القيمة الافتراضية job_nameاسم الوظيفة "trivy:scan:iac"stageالمرحلة "test"imageصورة Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_CONFIG_PATHدليل IaC "."severityدرجات الخطورة "CRITICAL,HIGH"exit_on_vulnerabilityالفشل عند الاكتشافات trueTRIVY_CONFIG_REPORTتفاصيل التقرير "all"TRIVY_CONFIG_INCLUDE_NON_FAILURESتضمين النجاحات falseTRIVY_MISCONFIG_SCANNERSقائمة ماسحات التكوين الخاطئ "azure-arm,cloudformation,dockerfile,helm,kubernetes,terraform"TRIVY_TIMEOUTالمهلة "10m"TRIVY_SKIP_FILESالملفات المراد تخطيها ""TRIVY_SKIP_DIRSالدلائل المراد تخطيها ""TRIVY_CONFIG_EXTRA_ARGSوسيطات إضافية ""TRIVY_REPORT_BASENAMEالاسم الأساسي للقطعة الأثرية "iac-scan"allow_failureالسماح بالفشل 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"
المكون: templates/scanner_license.yml المدخل الوصف القيمة الافتراضية job_nameاسم الوظيفة "trivy:scan:license"stageالمرحلة "test"imageصورة Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_SCAN_REMOTE_IMAGEمرجع الصورة عن بعد ""TRIVY_SCAN_LOCAL_IMAGESمسار tar/OCI محلي أو نظام ملفات ""TRIVY_SCANNERSقائمة الماسحات "license"severityدرجات الخطورة "CRITICAL"exit_on_vulnerabilityالفشل عند تطابق درجة الخطورة trueTRIVY_LICENSE_FULLتفعيل --license-full falseTRIVY_LICENSE_CONFIDENCEحد الثقة "0.9"TRIVY_LICENSE_IGNOREDالتراخيص المراد تجاهلها ""TRIVY_PKG_TYPESأنواع الحزم "os,library"TRIVY_TIMEOUTالمهلة "10m"TRIVY_EXTRA_ARGSوسيطات إضافية ""allow_failureالسماح بالفشل false
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/trivy/scanner_license@latest
inputs:
TRIVY_SCAN_LOCAL_IMAGES: "test.tar"
TRIVY_LICENSE_FULL: true
المكون: templates/sbom_generate_image.yml المدخل الوصف القيمة الافتراضية job_nameاسم الوظيفة "trivy:sbom:image"stageالمرحلة "test"imageصورة Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_SBOM_IMAGEمرجع الصورة عن بعد ""TRIVY_SBOM_INPUTمدخل OCI/tar محلي ""TRIVY_SBOM_FORMATتنسيق SBOM "cyclonedx"TRIVY_SBOM_FILENAMEاسم ملف الإخراج "image-sbom.cdx.json"TRIVY_SBOM_EXTRA_ARGSوسيطات إضافية ""TRIVY_TIMEOUTالمهلة "10m"allow_failureالسماح بالفشل 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"
المكون: templates/sbom_generate_repo.yml المدخل الوصف القيمة الافتراضية job_nameاسم الوظيفة "trivy:sbom:repo"stageالمرحلة "test"imageصورة Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_REPO_TARGETمسار أو رابط Git عن بعد "."TRIVY_REPO_BRANCHالفرع ""TRIVY_REPO_COMMITهاش الالتزام ""TRIVY_REPO_TAGالعلامة ""TRIVY_SBOM_FORMATالتنسيق "cyclonedx"TRIVY_SBOM_FILENAMEاسم ملف الإخراج "repo-sbom.cdx.json"TRIVY_REPO_SCANNERSالماسحات أثناء إنشاء SBOM "vuln,secret"TRIVY_REPO_EXTRA_ARGSوسيطات إضافية ""TRIVY_TIMEOUTالمهلة "10m"allow_failureالسماح بالفشل false
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/trivy/sbom_generate_repo@latest
inputs:
TRIVY_REPO_TARGET: "."
TRIVY_SBOM_FORMAT: "spdx-json"
المكون: templates/sbom_generate_kbom.yml المدخل الوصف القيمة الافتراضية job_nameاسم الوظيفة "trivy:sbom:kbom"stageالمرحلة "test"imageصورة Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_K8S_TARGETهدف trivy k8s (cluster, namespace/...) "cluster"TRIVY_K8S_CONTEXTسياق Kubeconfig ""TRIVY_K8S_EXTRA_ARGSوسيطات إضافية ""TRIVY_SBOM_FILENAMEاسم ملف KBOM "kbom.cdx.json"TRIVY_TIMEOUTالمهلة "15m"scan_kbomتشغيل فحص الثغرات على KBOM المُنشأ trueTRIVY_SBOM_SCANNERSماسحات فحص KBOM "vuln"severityدرجات الخطورة لفحص KBOM "CRITICAL,HIGH"exit_on_vulnerabilityالفشل عند الاكتشافات trueTRIVY_SBOM_SCAN_EXTRA_ARGSوسيطات إضافية لفحص KBOM ""allow_failureالسماح بالفشل false
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/trivy/sbom_generate_kbom@latest
inputs:
TRIVY_K8S_TARGET: "namespace/default"
scan_kbom: true
المكون: templates/sbom_scan_file.yml المدخل الوصف القيمة الافتراضية job_nameاسم الوظيفة "trivy:scan:sbom"stageالمرحلة "test"imageصورة Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_SBOM_PATHمسار ملف SBOM "artifacts/trivy/image-sbom.cdx.json"TRIVY_SBOM_REPORT_BASENAMEالاسم الأساسي للإخراج "sbom-scan"TRIVY_SCANNERSالماسحات المراد تشغيلها "vuln,license"severityدرجات الخطورة "CRITICAL,HIGH"exit_on_vulnerabilityالفشل عند الاكتشافات trueTRIVY_SBOM_SCAN_EXTRA_ARGSوسيطات إضافية ""TRIVY_TIMEOUTالمهلة "10m"allow_failureالسماح بالفشل 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"
المكون: templates/sbom_scan_rekor.yml المدخل الوصف القيمة الافتراضية job_nameاسم الوظيفة "trivy:scan:rekor"stageالمرحلة "test"imageصورة Trivy "ghcr.io/aquasecurity/trivy:0.68.1"TRIVY_SCAN_REMOTE_IMAGEالصورة عن بعد الموثقة ""TRIVY_REKOR_URLنقطة نهاية API Rekor ""TRIVY_SCANNERSالماسحات "vuln"severityدرجات الخطورة "CRITICAL,HIGH"exit_on_vulnerabilityالفشل عند الاكتشافات trueTRIVY_IGNORE_UNFIXEDتجاهل غير المُصلح trueTRIVY_TIMEOUTالمهلة "10m"TRIVY_EXTRA_ARGSوسيطات إضافية ""allow_failureالسماح بالفشل 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"
استثناءات نمط glob للملفات
TRIVY_SKIP_DIRSاستثناءات الدلائل ""
allow_failureالسماح بالفشل دون فشل خط الأنابيب false
TRIVY_K8S_EXTRA_ARGSوسيطات إضافية ""
TRIVY_REPORT_BASENAMEالاسم الأساسي للقطعة الأثرية "k8s-scan"
allow_failureالسماح بالفشل false