Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
trivy-action — Ejecuta Trivy como acción de GitHub para escanear tu imagen de contenedor Docker en busca de vulnerabilidades | Kitploit
Herramientas/GitHubGitHub/aquasecurity/trivy-action
Escáneres de VulnerabilidadesSeguridad de ContenedoresAnálisis de CódigoSeguridad en la NubeDevSecOpsDetección de SecretosSeguridad de Cadena de SuministroMala Configuración
GitHubaquasecurity/trivy-action

trivy-action

Ejecuta Trivy como acción de GitHub para escanear tu imagen de contenedor Docker en busca de vulnerabilidades

Ver Repositorio
1.4k35727hace 1 mesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Trivy Action

GitHub Action para Trivy

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

Tabla de contenido

  • Uso
    • Escanear Pipeline de CI
    • Escanear Pipeline de CI (con Configuración de Trivy)
    • Caché
    • Configuración de Trivy
    • Escanear un Tarball
    • Usar Trivy con plantillas
    • Usar Trivy con GitHub Code Scanning
    • Usar Trivy para escanear tu repositorio Git
    • Usar Trivy para escanear tus directorios rootfs
    • Usar Trivy para escanear Infrastructure as Code
    • Usar Trivy para generar SBOM
    • Usar Trivy para escanear tu registro privado
    • Usar Trivy si no tienes code scanning habilitado
  • Personalización
    • inputs
    • Variables de entorno
    • Archivo de configuración de Trivy

Uso

Escanear Pipeline de 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'

### Pipeline de CI de Escaneo (con Configuración de 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

En este caso, trivy.yaml es una configuración YAML que se incluye como parte del repositorio. Hay información detallada disponible en el sitio web de Trivy, pero un ejemplo es el siguiente:```yaml format: json exit-code: 1 severity: CRITICAL secret: config: config/trivy/secret.yaml

Es posible definir todas las opciones en el archivo `trivy.yaml`. Especificar opciones individuales a través de la acción se conserva por motivos de compatibilidad hacia atrás. Es necesario definir lo siguiente, ya que no se puede definir con el archivo de configuración:
- `scan-ref`: Si se utilizan escaneos `fs, repo`.
- `image-ref`: Si se utiliza el escaneo `image`.
- `scan-type`: Para definir el tipo de escaneo, p. ej. `image`, `fs`, `repo`, etc.

#### Orden de preferencia para las opciones
Trivy utiliza [Viper](https://github.com/spf13/viper), que tiene un orden de precedencia definido para las opciones. El orden es el siguiente:
- Flag de GitHub Action
- Variable de entorno
- Archivo de configuración
- Predeterminado

### Caché
La acción tiene una funcionalidad integrada para almacenar en caché y restaurar [la base de datos de vulnerabilidades](https://github.com/aquasecurity/trivy-db), [la base de datos de Java](https://github.com/aquasecurity/trivy-java-db) y [el paquete de comprobaciones](https://github.com/aquasecurity/trivy-checks) si se descargan durante el escaneo.
La caché se almacena en el directorio `$GITHUB_WORKSPACE/.cache/trivy` de forma predeterminada.
La caché se restaura antes de que comience el escaneo y se guarda después de que finalice.

Utiliza [actions/cache](https://github.com/actions/cache) internamente, pero requiere menos ajustes de configuración.
La entrada `cache` es opcional y el almacenamiento en caché está activado de forma predeterminada.

#### Desactivar el almacenamiento en caché
Si desea desactivar el almacenamiento en caché, establezca la entrada `cache` en `false`, pero recomendamos mantenerlo habilitado para evitar problemas de limitación de velocidad.```yaml
    - name: Run Trivy scanner without cache
      uses: aquasecurity/[email protected]
      with:
        scan-type: 'fs'
        scan-ref: '.'
        cache: 'false'

Actualizar las cachés en la rama predeterminada

Ten en cuenta que existen restricciones de acceso a la caché entre ramas en GitHub Actions. Por defecto, un flujo de trabajo puede acceder y restaurar una caché creada en la rama actual o en la rama predeterminada (normalmente main o master). Si necesitas compartir cachés entre ramas, es posible que tengas que crear una caché en la rama predeterminada y restaurarla en la rama actual.

Para optimizar tu flujo de trabajo, puedes configurar un trabajo cron para actualizar periódicamente la caché en la rama predeterminada. Esto permite que los escaneos posteriores utilicen la base de datos en caché sin tener que descargarla de nuevo.```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 }}
Al ejecutar un escaneo, establece las variables de entorno `TRIVY_SKIP_DB_UPDATE` y `TRIVY_SKIP_JAVA_DB_UPDATE` para omitir el proceso de descarga.```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

Configuración de Trivy

Por defecto, la acción llama a aquasecurity/setup-trivy como primer paso que instala la versión de trivy especificada por la entrada version. Si ya has instalado trivy por otros medios, por ejemplo llamando a aquasecurity/setup-trivy directamente, o si invocas esta acción varias veces, puedes usar la entrada skip-setup-trivy para desactivar este paso.

Descargar herramienta