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
Mensagem pronta para colar
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-cicdOu 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.mdConteú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
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #6194
- Licença
- Apache-2.0
- Atualizada em
- 31/08/2026
Comentários
- …
Mais skills deste repositório
abusing-dpapi-for-credential-access
Dá ao seu agente de IA instruções prontas para uma tarefa específica, para ele fazer melhor e mais rápido.
mukul975/Anthropic-Cybersecurity-Skills
abusing-shadow-credentials-for-privesc
Ensina seu agente de IA a escrever textos claros e bem estruturados.
mukul975/Anthropic-Cybersecurity-Skills
achieving-cmmc-level-2-compliance
Ajuda seu agente a preparar um ambiente para conformidade com CMMC Nível 2. Ele implementa requisitos de segurança e gerencia a documentação necessária.
mukul975/Anthropic-Cybersecurity-Skills
acquiring-disk-image-with-dd-and-dcfldd
Ajuda seu agente a criar cópias exatas de discos rígidos. Isso é útil para garantir que nenhuma informação seja perdida ou alterada durante investigações.
mukul975/Anthropic-Cybersecurity-Skills
Skills parecidas
agent-architecture-audit
Faz seu agente verificar se tudo está funcionando corretamente. Ele encontra e conserta problemas em sistemas de IA, garantindo que funcionem como esperado.
affaan-m/ECC
agent-eval
Ajuda seu agente a comparar diferentes ferramentas de programação de IA. Ele mede qual é mais rápido, barato e confiável para realizar tarefas específicas.
affaan-m/ECC
agent-harness-construction
Faz seu agente entender melhor como realizar tarefas. Ele otimiza as ferramentas e instruções que o agente usa para aumentar suas chances de sucesso.
affaan-m/ECC