Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
trivy-action — Executa o Trivy como uma ação do GitHub para escanear sua imagem de contêiner Docker em busca de vulnerabilidades. | Kitploit
Ferramentas/GitHubGitHub/aquasecurity/trivy-action
Scanners de VulnerabilidadesSegurança de ContêineresAnálise de CódigoSegurança na NuvemDevSecOpsDetecção de SegredosSegurança da Cadeia de SuprimentosConfiguração Incorreta
GitHubaquasecurity/trivy-action

trivy-action

Executa o Trivy como uma ação do GitHub para escanear sua imagem de contêiner Docker em busca de vulnerabilidades.

Ver Repositório
1.4k35727há 1 mêsRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Trivy Action

GitHub Action para Trivy

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

Índice

  • Uso
    • Varredura do Pipeline de CI
    • Varredura do Pipeline de CI (com Config do Trivy)
    • Cache
    • Configuração do Trivy
    • Escaneando um Tarball
    • Usando Trivy com templates
    • Usando Trivy com GitHub Code Scanning
    • Usando Trivy para escanear seu repositório Git
    • Usando Trivy para escanear seus diretórios rootfs
    • Usando Trivy para escanear Infrastructure as Code
    • Usando Trivy para gerar SBOM
    • Usando Trivy para escanear seu registro privado
    • Usando Trivy se você não tiver o code scanning habilitado
  • Personalização
    • inputs
    • Variáveis de ambiente
    • Arquivo de configuração do Trivy

Uso

Varredura do 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 Varredura (com Config do 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

Neste caso, trivy.yaml é uma configuração YAML que é versionada como parte do repositório. Informações detalhadas estão disponíveis no site do Trivy, mas um exemplo é o seguinte:```yaml format: json exit-code: 1 severity: CRITICAL secret: config: config/trivy/secret.yaml

É possível definir todas as opções no arquivo `trivy.yaml`. Especificar opções individuais por meio da ação é mantido para fins de compatibilidade retroativa. A definição dos seguintes itens é necessária, pois eles não podem ser definidos com o arquivo de configuração:
- `scan-ref`: Se usar varreduras `fs, repo`.
- `image-ref`: Se usar varredura `image`.
- `scan-type`: Para definir o tipo de varredura, ex.: `image`, `fs`, `repo`, etc.

#### Ordem de preferência para opções
O Trivy usa [Viper](https://github.com/spf13/viper), que tem uma ordem de precedência definida para opções. A ordem é a seguinte:
- Flag do GitHub Action
- Variável de ambiente
- Arquivo de configuração
- Padrão

### Cache
A ação tem uma funcionalidade integrada para armazenar em cache e restaurar [o banco de dados de vulnerabilidades](https://github.com/aquasecurity/trivy-db), [o banco de dados Java](https://github.com/aquasecurity/trivy-java-db) e [o pacote de verificações](https://github.com/aquasecurity/trivy-checks) se forem baixados durante a varredura.
O cache é armazenado no diretório `$GITHUB_WORKSPACE/.cache/trivy` por padrão.
O cache é restaurado antes do início da varredura e salvo após o término da varredura.

Ele usa [actions/cache](https://github.com/actions/cache) internamente, mas requer menos configurações.
A entrada de cache é opcional, e o armazenamento em cache é ativado por padrão.

#### Desativando o cache
Se quiser desativar o cache, defina a entrada `cache` como `false`, mas recomendamos mantê-lo ativado para evitar problemas de limitação de taxa.```yaml
    - name: Run Trivy scanner without cache
      uses: aquasecurity/[email protected]
      with:
        scan-type: 'fs'
        scan-ref: '.'
        cache: 'false'

Atualizando caches no branch padrão

Observe que existem restrições de acesso ao cache entre branches no GitHub Actions. Por padrão, um workflow pode acessar e restaurar um cache criado no branch atual ou no branch padrão (geralmente main ou master). Se você precisar compartilhar caches entre branches, talvez seja necessário criar um cache no branch padrão e restaurá-lo no branch atual.

Para otimizar seu workflow, você pode configurar um job cron para atualizar regularmente o cache no branch padrão. Isso permite que as verificações subsequentes usem o banco de dados em cache sem baixá-lo novamente.```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 }}
Ao executar uma varredura, defina as variáveis de ambiente `TRIVY_SKIP_DB_UPDATE` e `TRIVY_SKIP_JAVA_DB_UPDATE` para ignorar o processo de download.```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

Configuração do Trivy

Por padrão, a ação chama aquasecurity/setup-trivy como primeira etapa que instala a versão do trivy especificada pela entrada version. Se você já instalou o trivy por outros meios, por exemplo, chamando aquasecurity/setup-trivy diretamente, ou se está invocando esta ação várias vezes, você pode usar a entrada skip-setup-trivy para desabilitar esta etapa.

Configurando o Trivy Manualmente```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

Baixar ferramenta