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

scanning-container-images-with-grype

Faz seu agente verificar imagens de containers por falhas de segurança conhecidas. Ele usa listas de vulnerabilidades para encontrar problemas.

O que ela faz

Grype é uma ferramenta que verifica imagens de programas (como as usadas em servidores) em busca de falhas de segurança conhecidas (chamadas CVEs). Ele usa bancos de dados de vulnerabilidades para encontrar problemas e pode te alertar se encontrar algo grave.

Quando usar

  • ✓Ao verificar a segurança de um programa antes de colocá-lo em produção.
  • ✓Quando você recebe um alerta sobre uma possível falha de segurança.
  • ✓Para fazer verificações de segurança regulares em seus programas.

Exemplo do que pedir para a IA

“Verifique a imagem 'meu-app:latest' por vulnerabilidades de segurança.”

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-container-images-with-grype/SKILL.md

Mensagem pronta para colar

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

Grype compara os componentes de um programa com listas de falhas de segurança conhecidas. Se encontrar uma correspondência, ele informa qual é a falha e o quão grave ela é.

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-container-images-with-grype

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/scanning-container-images-with-grype/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 Imagens de Container com Grype

Visão Geral

Grype é um scanner de vulnerabilidades de código aberto da Anchore que inspeciona imagens de container, sistemas de arquivos e SBOMs em busca de CVEs conhecidos. Ele utiliza SBOMs gerados pelo Syft para comparar pacotes com vários bancos de dados de vulnerabilidades, incluindo NVD, GitHub Advisories e feeds específicos de sistemas operacionais.

Quando Usar

  • Ao realizar avaliações de segurança que envolvam o escaneamento de imagens de container com grype
  • Ao seguir procedimentos de resposta a incidentes para eventos de segurança relacionados
  • Ao realizar testes de segurança ou atividades de auditoria agendadas
  • Ao validar controles de segurança por meio de testes práticos

Pré-requisitos

  • Docker ou Podman instalado
  • Grype CLI instalado (curl -sSfL https://raw.githubusercontent.com/anchore/grype/main/install.sh | sh -s -- -b /usr/local/bin)
  • Syft CLI (opcional, para geração de SBOM)
  • Acesso à rede para baixar bancos de dados de vulnerabilidades

Comandos Principais

Instalar Grype

# Install via script
curl -sSfL https://raw.githubusercontent.com/anchore/grype/main/install.sh | sh -s -- -b /usr/local/bin

# Verify installation
grype version

# Install via Homebrew (macOS/Linux)
brew install grype

Escanear Imagens de Container

# Scan a Docker Hub image
grype nginx:latest

# Scan from Docker daemon
grype docker:myapp:1.0

# Scan a local archive
grype docker-archive:image.tar

# Scan an OCI directory
grype oci-dir:path/to/oci/

# Scan a Singularity image
grype sif:image.sif

# Scan a local directory / filesystem
grype dir:/path/to/project

Formatos de Saída

# Default table output
grype alpine:3.18

# JSON output for pipeline processing
grype alpine:3.18 -o json > results.json

# CycloneDX SBOM output
grype alpine:3.18 -o cyclonedx

# SARIF output for GitHub Security tab
grype alpine:3.18 -o sarif > grype.sarif

# Template-based custom output
grype alpine:3.18 -o template -t /path/to/template.tmpl

Filtragem e Limiares

# Fail if vulnerabilities meet or exceed a severity
grype nginx:latest --fail-on critical

# Show only fixed vulnerabilities
grype nginx:latest --only-fixed

# Show only non-fixed vulnerabilities
grype nginx:latest --only-notfixed

# Filter by severity
grype nginx:latest --only-fixed -o json | jq '[.matches[] | select(.vulnerability.severity == "High")]'

# Explain a specific CVE
grype nginx:latest --explain --id CVE-2024-1234

Trabalhando com SBOMs

# Generate SBOM with Syft then scan
syft nginx:latest -o spdx-json > nginx-sbom.json
grype sbom:nginx-sbom.json

# Scan CycloneDX SBOM
grype sbom:bom.json

Arquivo de Configuração (.grype.yaml)

# .grype.yaml
check-for-app-update: false
fail-on-severity: "high"
output: "json"
scope: "squashed"  # or "all-layers"
quiet: false

ignore:
  - vulnerability: CVE-2023-12345
    reason: "False positive - not exploitable in our context"
  - vulnerability: CVE-2023-67890
    fix-state: unknown

db:
  auto-update: true
  cache-dir: "/tmp/grype-db"
  max-allowed-built-age: 120h  # 5 days

match:
  java:
    using-cpes: true
  python:
    using-cpes: true
  javascript:
    using-cpes: false

Integração CI/CD

# GitHub Actions
- name: Scan image with Grype
  uses: anchore/scan-action@v4
  with:
    image: "myregistry/myapp:${{ github.sha }}"
    fail-build: true
    severity-cutoff: high
    output-format: sarif
  id: scan

- name: Upload SARIF
  uses: github/codeql-action/upload-sarif@v3
  with:
    sarif_file: ${{ steps.scan.outputs.sarif }}
# GitLab CI
container_scan:
  stage: test
  image: anchore/grype:latest
  script:
    - grype ${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHA} --fail-on high -o json > grype-report.json
  artifacts:
    reports:
      container_scanning: grype-report.json

Gerenciamento de Banco de Dados

# Check database status
grype db status

# Manually update vulnerability database
grype db update

# Delete cached database
grype db delete

# List supported database providers
grype db list

Principais Fontes de Vulnerabilidade

Fonte Cobertura
NVD CVEs em todos os ecossistemas
GitHub Advisories Vulnerabilidades em pacotes de código aberto
Alpine SecDB Pacotes do Alpine Linux
Amazon Linux ALAS Amazon Linux AMI
Debian Security Tracker Pacotes Debian
Red Hat OVAL RHEL, CentOS
Ubuntu Security Pacotes Ubuntu
Wolfi SecDB Imagens Wolfi/Chainguard

Melhores Práticas

  1. Fixar tags de imagem - Sempre escaneie digests específicos, não latest
Perguntas frequentes

O que é uma CVE?

CVE significa 'Common Vulnerabilities and Exposures'. É um identificador único para uma falha de segurança conhecida em softwares.

O que é um SBOM?

SBOM significa 'Software Bill of Materials'. É como uma lista de ingredientes para um software, detalhando todos os componentes e suas versões.

Como o Grype sabe quais falhas procurar?

Ele consulta vários bancos de dados públicos e privados que catalogam vulnerabilidades conhecidas, como o NVD e os avisos do GitHub.

Detalhes

Descrição original do autor

Scans container images, filesystems, and SBOMs for known CVEs with Anchore Grype, matching Syft-generated SBOM packages against NVD, GitHub Advisories, and OS-specific feeds with configurable severity thresholds and failure gates. Use when Grype or Syft is the chosen toolchain, when scanning an existing SBOM rather than an image, or when gating a build on severity. Keywords: Grype, Syft, SBOM, NVD

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#6193
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