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.4k357271 месяц назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Trivy Action

GitHub Action для Trivy

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

Содержание

  • Использование
    • Сканирование конвейера CI
    • Сканирование конвейера CI (с конфигурацией Trivy)
    • Кэш
    • Настройка Trivy
    • Сканирование Tarball
    • Использование Trivy с шаблонами
    • Использование Trivy со сканированием кода GitHub
    • Использование Trivy для сканирования Git-репозитория
    • Использование Trivy для сканирования корневых файловых систем
    • Использование Trivy для сканирования инфраструктуры как кода
    • Использование Trivy для создания SBOM
    • Использование Trivy для сканирования частного реестра
    • Использование Trivy, если сканирование кода не включено
  • Настройка
    • inputs
    • Переменные окружения
    • Файл конфигурации 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`. Указание отдельных параметров через action оставлено для обратной совместимости. Определение следующих параметров обязательно, так как их нельзя задать через файл конфигурации:
- `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), [базы данных Java](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 для регулярного обновления кэша в ветке по умолчанию. Это позволит последующим сканированиям использовать кэшированную базу данных без повторной загрузки.```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, чтобы отключить этот шаг.

Скачать инструмент