Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
trivy-action — يشغّل Trivy كإجراء GitHub لفحص صورة حاوية Docker الخاصة بك بحثًا عن الثغرات الأمنية. | Kitploit
أدوات/GitHubGitHub/aquasecurity/trivy-action
ماسحات الثغرات الأمنيةأمن الحاوياتتحليل الكودأمن السحابةDevSecOpsكشف الأسرارأمن سلسلة التوريدسوء التكوين
GitHubaquasecurity/trivy-action

trivy-action

يشغّل Trivy كإجراء GitHub لفحص صورة حاوية Docker الخاصة بك بحثًا عن الثغرات الأمنية.

عرض المستودع
1.4k35727منذ شهر واحدتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

Trivy Action

GitHub Action لـ Trivy

[![GitHub Release][release-img]][release] [![GitHub Marketplace][marketplace-img]][marketplace] [![License][license-img]][license]

جدول المحتويات

  • الاستخدام
    • فحص خط أنابيب CI
    • فحص خط أنابيب CI (مع إعدادات ترايفي)
    • ذاكرة التخزين المؤقت
    • إعداد ترايفي
    • فحص ملف Tarball
    • استخدام ترايفي مع القوالب
    • استخدام ترايفي مع فحص كود GitHub
    • استخدام ترايفي لفحص مستودع Git الخاص بك
    • استخدام ترايفي لفحص أدلة rootfs الخاصة بك
    • استخدام ترايفي لفحص البنية التحتية ككود (IaC)
    • استخدام ترايفي لتوليد SBOM
    • استخدام ترايفي لفحص السجل الخاص بك
    • استخدام ترايفي إذا لم تكن ميزة فحص الكود مفعّلة لديك
  • التخصيص
    • المدخلات
    • متغيرات البيئة
    • ملف إعدادات ترايفي

الاستخدام

فحص خط أنابيب CI```yaml

name: build on: push: branches: - main pull_request: jobs: build: name: Build runs-on: ubuntu-24.04 steps: - name: Checkout code uses: actions/checkout@v4 - name: Build an image from Dockerfile run: docker build -t docker.io/my-organization/my-app:${{ github.sha }} . - name: Run Trivy vulnerability scanner uses: aquasecurity/[email protected] with: image-ref: 'docker.io/my-organization/my-app:${{ github.sha }}' format: 'table' exit-code: '1' ignore-unfixed: true vuln-type: 'os,library' severity: 'CRITICAL,HIGH'

### فحص خط أنابيب CI (مع إعداد Trivy)```yaml
name: build
on:
  push:
    branches:
    - main
  pull_request:
jobs:
  build:
    name: Build
    runs-on: ubuntu-24.04
    steps:
    - name: Checkout code
      uses: actions/checkout@v4

    - name: Run Trivy vulnerability scanner in fs mode
      uses: aquasecurity/[email protected]
      with:
        scan-type: 'fs'
        scan-ref: '.'
        trivy-config: trivy.yaml

في هذه الحالة، trivy.yaml هو إعداد YAML يتم تضمينه كجزء من المستودع. تتوفر معلومات مفصلة على موقع Trivy الإلكتروني، لكن مثال على ذلك كما يلي:```yaml format: json exit-code: 1 severity: CRITICAL secret: config: config/trivy/secret.yaml

من الممكن تعريف جميع الخيارات في ملف `trivy.yaml`. يُترك تحديد الخيارات الفردية عبر الإجراء لأغراض التوافق مع الإصدارات السابقة. يلزم تعريف ما يلي لأنه لا يمكن تعريفه عبر ملف الإعدادات:
- `scan-ref`: إذا كنت تستخدم عمليات الفحص `fs, repo`.
- `image-ref`: إذا كنت تستخدم فحص `image`.
- `scan-type`: لتحديد نوع الفحص، مثل `image`, `fs`, `repo`، إلخ.

#### ترتيب الأولوية للخيارات
يستخدم Trivy [Viper](https://github.com/spf13/viper) الذي يحدد ترتيب أولويات معرّف للخيارات. الترتيب كالتالي:
- علامة GitHub Action
- متغير البيئة
- ملف الإعدادات
- الافتراضي

### ذاكرة التخزين المؤقت
يحتوي الإجراء على وظيفة مدمجة للتخزين المؤقت والاستعادة لـ [قاعدة بيانات الثغرات](https://github.com/aquasecurity/trivy-db) و[قاعدة بيانات جافا](https://github.com/aquasecurity/trivy-java-db) و[حزمة الفحوصات](https://github.com/aquasecurity/trivy-checks) إذا تم تنزيلها أثناء الفحص.
يتم تخزين ذاكرة التخزين المؤقت في دليل `$GITHUB_WORKSPACE/.cache/trivy` افتراضيًا.
يتم استعادة ذاكرة التخزين المؤقت قبل بدء الفحص وحفظها بعد انتهاء الفحص.

يستخدم [actions/cache](https://github.com/actions/cache) داخليًا ولكنه يتطلب إعدادات تكوين أقل.
مدخل `cache` اختياري، والتخزين المؤقت مفعّل افتراضيًا.

#### تعطيل التخزين المؤقت
إذا كنت تريد تعطيل التخزين المؤقت، اضبط مدخل `cache` على `false`، لكننا نوصي بإبقائه مفعّلاً لتجنب مشكلات الحد من المعدل.```yaml
    - name: Run Trivy scanner without cache
      uses: aquasecurity/[email protected]
      with:
        scan-type: 'fs'
        scan-ref: '.'
        cache: 'false'

تحديث التخزين المؤقت في الفرع الافتراضي

يرجى ملاحظة أن هناك قيودًا على الوصول إلى التخزين المؤقت بين الفروع في GitHub Actions. افتراضيًا، يمكن لسير العمل الوصول إلى التخزين المؤقت الذي تم إنشاؤه في الفرع الحالي أو الفرع الافتراضي (عادةً main أو master) واستعادته. إذا كنت بحاجة إلى مشاركة التخزين المؤقت عبر الفروع، فقد تحتاج إلى إنشاء تخزين مؤقت في الفرع الافتراضي واستعادته في الفرع الحالي.

لتحسين سير العمل لديك، يمكنك إعداد مهمة مجدولة (cron job) لتحديث التخزين المؤقت في الفرع الافتراضي بانتظام. يتيح ذلك للفحوصات اللاحقة استخدام قاعدة البيانات المخزنة مؤقتًا دون تنزيلها مرة أخرى.```yaml

Note: This workflow only updates the cache. You should create a separate workflow for your actual Trivy scans.

In your scan workflow, set TRIVY_SKIP_DB_UPDATE=true and TRIVY_SKIP_JAVA_DB_UPDATE=true.

name: Update Trivy Cache

on: schedule: - cron: '0 0 * * *' # Run daily at midnight UTC workflow_dispatch: # Allow manual triggering

jobs: update-trivy-db: runs-on: ubuntu-latest steps: - name: Setup oras uses: oras-project/setup-oras@v1

  - name: Get current date
    id: date
    run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT

  - name: Download and extract the vulnerability DB
    run: |
      mkdir -p $GITHUB_WORKSPACE/.cache/trivy/db
      oras pull ghcr.io/aquasecurity/trivy-db:2
      tar -xzf db.tar.gz -C $GITHUB_WORKSPACE/.cache/trivy/db
      rm db.tar.gz

  - name: Download and extract the Java DB
    run: |
      mkdir -p $GITHUB_WORKSPACE/.cache/trivy/java-db
      oras pull ghcr.io/aquasecurity/trivy-java-db:1
      tar -xzf javadb.tar.gz -C $GITHUB_WORKSPACE/.cache/trivy/java-db
      rm javadb.tar.gz

  - name: Cache DBs
    uses: actions/cache/save@v4
    with:
      path: ${{ github.workspace }}/.cache/trivy
      key: cache-trivy-${{ steps.date.outputs.date }}
عند تشغيل فحص، قم بتعيين متغيرات البيئة `TRIVY_SKIP_DB_UPDATE` و`TRIVY_SKIP_JAVA_DB_UPDATE` لتخطي عملية التنزيل.```yaml
    - name: Run Trivy scanner without downloading DBs
      uses: aquasecurity/[email protected]
      with:
        scan-type: 'image'
        scan-ref: 'myimage'
      env:
        TRIVY_SKIP_DB_UPDATE: true
        TRIVY_SKIP_JAVA_DB_UPDATE: true

إعداد Trivy

افتراضيًا، يستدعي الإجراء aquasecurity/setup-trivy كخطوة أولى، والذي يقوم بتثبيت إصدار trivy المحدد عبر الإدخال version. إذا كنت قد ثبّتّ trivy بالفعل بوسائل أخرى، على سبيل المثال باستدعاء aquasecurity/setup-trivy مباشرة، أو كنت تستدعي هذا الإجراء عدة مرات، فيمكنك استخدام الإدخال skip-setup-trivy لتعطيل هذه الخطوة.

إعداد Trivy يدويًا```yaml

name: build on: push: branches: - main pull_request: jobs: build: name: Build runs-on: ubuntu-24.04 steps: - name: Checkout code uses: actions/checkout@v4

- name: Manual Trivy Setup
  uses: aquasecurity/[email protected]
  with:
    cache: true
    version: v0.72.0
تنزيل الأداة