Pular para o conteúdo
Skillpedia
Agentes35 mil · #6194

scanning-containers-with-trivy-in-cicd

Ajuda seu agente a encontrar falhas em imagens de containers dentro de processos de desenvolvimento. Ele pode impedir o uso de imagens com problemas.

O que ela faz

Este sistema automatiza a verificação de segurança de imagens de contêineres. Ele procura por vulnerabilidades conhecidas em programas e sistemas, além de erros de configuração no seu código, antes que ele vá para produção.

Quando usar

  • ✓Ao construir imagens de contêineres em processos automáticos de desenvolvimento.
  • ✓Quando você precisa garantir que imagens com falhas graves não cheguem ao ambiente final.
  • ✓Para verificar se arquivos de configuração como Dockerfiles e manifestos do Kubernetes estão seguros.

Exemplo do que pedir para a IA

“Verifique minha imagem de contêiner por vulnerabilidades críticas e erros de configuração antes de enviá-la para o registro.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/scanning-containers-with-trivy-in-cicd/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/scanning-containers-with-trivy-in-cicd/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

O sistema usa uma ferramenta chamada Trivy para analisar sua imagem de contêiner. Ele procura por problemas conhecidos e verifica se as configurações seguem as melhores práticas de segurança.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill scanning-containers-with-trivy-in-cicd

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/scanning-containers-with-trivy-in-cicd/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Escaneando Contêineres com Trivy em CI/CD

Quando Usar

  • Ao construir imagens de contêiner Docker em CI/CD e precisar de escaneamento automatizado de vulnerabilidades antes do push para o registro.
  • Ao estabelecer portões de qualidade que impedem que imagens com CVEs críticos ou altos cheguem à produção.
  • Quando requisitos de conformidade exigem escaneamento de vulnerabilidades de todas as imagens de contêiner antes da implantação.
  • Ao escanear arquivos IaC (Dockerfiles, manifestos Kubernetes) juntamente com o escaneamento de imagens de contêiner.
  • Ao precisar de uma única ferramenta para escanear pacotes do sistema operacional, dependências específicas de linguagens e configurações incorretas.

Não use para monitoramento de segurança de contêineres em tempo de execução (use Falco), para escanear contêineres em execução em produção (use agentes de tempo de execução) ou quando apenas escanear código-fonte de aplicativos sem conteinerização (use ferramentas SAST).

Pré-requisitos

  • Trivy CLI instalado (v0.50+) ou acesso ao GitHub Action aquasecurity/trivy-action.
  • Daemon Docker disponível em CI/CD para construir e escanear imagens.
  • Credenciais do registro de contêineres para puxar imagens base e enviar imagens escaneadas.
  • Banco de dados de vulnerabilidades do Trivy acessível (baixado automaticamente ou em cache).

Fluxo de Trabalho

Passo 1: Configurar o Escaneamento Trivy no GitHub Actions

Configure um fluxo de trabalho do GitHub Actions que construa uma imagem Docker e a escaneie com Trivy antes de enviá-la para um registro de contêineres.

# .github/workflows/container-security.yml
name: Container Security Scan

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]
    paths:
      - 'Dockerfile'
      - 'docker-compose*.yml'
      - 'src/**'
      - 'requirements*.txt'
      - 'package*.json'

jobs:
  build-and-scan:
    runs-on: ubuntu-latest
    permissions:
      security-events: write
      contents: read

    steps:
      - uses: actions/checkout@v4

      - name: Build Docker image
        run: docker build -t app:${{ github.sha }} .

      - name: Run Trivy vulnerability scanner
        uses: aquasecurity/trivy-action@0.28.0
        with:
          image-ref: 'app:${{ github.sha }}'
          format: 'sarif'
          output: 'trivy-results.sarif'
          severity: 'CRITICAL,HIGH'
          exit-code: '1'
          ignore-unfixed: true

      - name: Upload Trivy scan results
        uses: github/codeql-action/upload-sarif@v3
        if: always()
        with:
          sarif_file: 'trivy-results.sarif'
          category: 'trivy-container'

      - name: Run Trivy misconfiguration scanner
        uses: aquasecurity/trivy-action@0.28.0
        with:
          scan-type: 'config'
          scan-ref: '.'
          format: 'table'
          exit-code: '1'
          severity: 'CRITICAL,HIGH'

Passo 2: Escanear Dockerfiles em Busca de Configurações Incorretas

O Trivy detecta problemas comuns de segurança em Dockerfiles, como execução como root, uso de tags "latest" e exposição de portas desnecessárias.

# Scan Dockerfile for misconfigurations
trivy config --severity HIGH,CRITICAL ./Dockerfile

# Scan with custom policy directory
trivy config --policy ./security-policies --severity MEDIUM,HIGH,CRITICAL .

# Example secure Dockerfile practices Trivy checks for:
# - USER instruction present (not running as root)
# - HEALTHCHECK instruction defined
# - Base image uses specific tag, not :latest
# - No secrets in ENV or ARG instructions
# - COPY preferred over ADD

Passo 3: Integrar com GitLab CI/CD

# .gitlab-ci.yml
stages:
  - build
  - scan
  - push

variables:
  TRIVY_CACHE_DIR: .trivycache/

build:
  stage: build
  script:
    - docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA .
    - docker save $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA -o image.tar
  artifacts:
    paths:
      - image.tar

trivy-scan:
  stage: scan
  image:
    name: aquasec/trivy:latest
    entrypoint: [""]
  cache:
    paths:
      - .trivycache/
  script:
    - trivy image
        --input image.tar
        --exit-code 1
        --severity CRITICAL,HIGH
        --ignore-unfixed
        --format json
        --output trivy-report.json
    - trivy image
        --input image.tar
        --severity CRITICAL,HIGH,MEDIUM
        --format table
  artifacts:
    reports:
      container_scanning: trivy-report.json
    paths:
      - trivy-report.json
  allow_failure: false

push:
  stage: push
  needs: [trivy-scan]
  script:
    - docker load -i image.tar
    - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA

Passo 4: Configurar o Tratamento de Ignorar e Exceções do Trivy

Gerencie falsos positivos e riscos aceitos por meio do arquivo de ignorar do Trivy e declarações VEX.

…

Perguntas frequentes

O que são CVEs?

CVEs são identificadores únicos para vulnerabilidades de segurança conhecidas em softwares.

O que são 'quality gates'?

São barreiras de segurança que impedem que algo (como uma imagem de contêiner) avance para a próxima etapa se não atender a certos critérios de qualidade ou segurança.

Posso ignorar algumas vulnerabilidades?

Sim, você pode configurar o sistema para ignorar vulnerabilidades específicas se tiver uma boa razão e documentá-la.

Detalhes

Descrição original do autor

Integrates Aqua Security''s Trivy scanner into CI/CD pipelines to detect OS package and application dependency CVEs, Dockerfile misconfigurations, and issues in filesystems or git repositories, and to enforce severity-based quality gates that block vulnerable images from being deployed. Use when building Docker images in CI/CD and needing automated vulnerability scanning and pass/fail gates before

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#6194
Licença
Apache-2.0
Atualizada em
31/08/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas