Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
Log in
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
trivy-action — आपके Docker कंटेनर इमेज में भेद्यताओं की जाँच के लिए Trivy को GitHub action के रूप में चलाता है। | Kitploit
उपकरण/GitHubGitHub/aquasecurity/trivy-action
भेद्यता स्कैनरकंटेनर सुरक्षाकोड विश्लेषणक्लाउड सुरक्षाDevSecOpsसीक्रेट डिटेक्शनआपूर्ति श्रृंखला सुरक्षागलत कॉन्फ़िगरेशन
GitHubaquasecurity/trivy-action

trivy-action

आपके Docker कंटेनर इमेज में भेद्यताओं की जाँच के लिए Trivy को GitHub action के रूप में चलाता है।

रिपॉजिटरी देखें
1.4k357271 महीना पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

Trivy Action

GitHub Action Trivy के लिए

[![GitHub Release][release-img]][release] [![GitHub Marketplace][marketplace-img]][marketplace] [![लाइसेंस][license-img]][license]

विषय-सूची

  • उपयोग
    • CI पाइपलाइन स्कैन करें
    • CI पाइपलाइन स्कैन करें (Trivy Config के साथ)
    • कैश
    • Trivy सेटअप
    • टारबॉल स्कैन करना
    • टेम्पलेट्स के साथ Trivy का उपयोग करना
    • GitHub Code Scanning के साथ Trivy का उपयोग करना
    • अपने Git रिपॉज़िटरी को स्कैन करने के लिए Trivy का उपयोग करना
    • अपनी rootfs निर्देशिकाओं को स्कैन करने के लिए Trivy का उपयोग करना
    • Infrastructure as Code स्कैन करने के लिए Trivy का उपयोग करना
    • SBOM जनरेट करने के लिए Trivy का उपयोग करना
    • अपने निजी रजिस्ट्री को स्कैन करने के लिए Trivy का उपयोग करना
    • यदि आपके पास कोड स्कैनिंग सक्षम नहीं है तो Trivy का उपयोग करना
  • कस्टमाइज़ करना
    • इनपुट्स
    • पर्यावरण चर
    • Trivy कॉन्फ़िग फ़ाइल

उपयोग

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 Config के साथ)```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` फ़ाइल में सभी विकल्पों को परिभाषित करना संभव है। एक्शन के माध्यम से व्यक्तिगत विकल्प निर्दिष्ट करना केवल पिछड़ी संगतता (backward compatibility) उद्देश्यों के लिए छोड़ा गया है। निम्नलिखित को परिभाषित करना आवश्यक है क्योंकि इन्हें कॉन्फ़िग फ़ाइल के साथ परिभाषित नहीं किया जा सकता है:
- `scan-ref`: यदि `fs, repo` स्कैन का उपयोग कर रहे हैं।
- `image-ref`: यदि `image` स्कैन का उपयोग कर रहे हैं।
- `scan-type`: स्कैन प्रकार को परिभाषित करने के लिए, जैसे `image`, `fs`, `repo`, आदि।

#### विकल्पों के लिए प्राथमिकता क्रम
Trivy [Viper](https://github.com/spf13/viper) का उपयोग करता है जिसमें विकल्पों के लिए एक निर्धारित प्राथमिकता क्रम होता है। क्रम इस प्रकार है:
- GitHub Action फ़्लैग
- पर्यावरण चर (Environment variable)
- कॉन्फ़िग फ़ाइल
- डिफ़ॉल्ट

### कैश (Cache)
एक्शन में [वल्नरेबिलिटी DB](https://github.com/aquasecurity/trivy-db), [जावा 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` इनपुट को `false` पर सेट करें, लेकिन हम अनुशंसा करते हैं कि रेट लिमिटिंग समस्याओं से बचने के लिए इसे सक्षम रखें।```yaml
    - name: Run Trivy scanner without cache
      uses: aquasecurity/[email protected]
      with:
        scan-type: 'fs'
        scan-ref: '.'
        cache: 'false'

डिफ़ॉल्ट शाखा में कैश अपडेट करना

कृपया ध्यान दें कि GitHub Actions में शाखाओं के बीच कैश एक्सेस पर प्रतिबंध हैं। डिफ़ॉल्ट रूप से, एक वर्कफ़्लो वर्तमान शाखा या डिफ़ॉल्ट शाखा (आमतौर पर main या master) में बनाए गए कैश को एक्सेस और पुनर्स्थापित कर सकता है। यदि आपको शाखाओं के बीच कैश साझा करने की आवश्यकता है, तो आपको डिफ़ॉल्ट शाखा में एक कैश बनाने और उसे वर्तमान शाखा में पुनर्स्थापित करने की आवश्यकता हो सकती है।

अपने वर्कफ़्लो को अनुकूलित करने के लिए, आप डिफ़ॉल्ट शाखा में नियमित रूप से कैश अपडेट करने के लिए एक क्रॉन जॉब सेट कर सकते हैं। यह बाद के स्कैन को इसे फिर से डाउनलोड किए बिना कैश किए गए DB का उपयोग करने की अनुमति देता है।```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 को कॉल करता है जो version इनपुट द्वारा निर्दिष्ट trivy संस्करण को स्थापित करता है। यदि आपने पहले से ही trivy को अन्य तरीकों से स्थापित किया है, जैसे कि aquasecurity/setup-trivy को सीधे कॉल करके, या इस एक्शन को कई बार चला रहे हैं, तो आप skip-setup-trivy इनपुट का उपयोग करके इस चरण को अक्षम कर सकते हैं।

टूल डाउनलोड करें