Pular para o conteúdo
Skillpedia
Código em geral35 mil · #5559

building-vulnerability-dashboard-with-defectdojo

Ajuda seu agente a criar um painel para ver todas as falhas de segurança. Ele junta informações de diferentes ferramentas e ajuda a gerenciar correções.

O que ela faz

Este sistema ajuda a organizar e gerenciar todas as vulnerabilidades encontradas em seus softwares. Ele junta os resultados de várias ferramentas de segurança em um só lugar, evita duplicidade e mostra o progresso na correção.

Quando usar

  • ✓Quando você usa várias ferramentas de segurança e quer juntar tudo.
  • ✓Para acompanhar o quão rápido as falhas de segurança estão sendo corrigidas.
  • ✓Para criar relatórios sobre a segurança para a gerência.

Exemplo do que pedir para a IA

“Configure o DefectDojo para gerenciar as vulnerabilidades encontradas pelo scanner X no projeto Y.”

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/building-vulnerability-dashboard-with-defectdojo/SKILL.md

Mensagem pronta para colar

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

Ele funciona recebendo os relatórios de diferentes ferramentas de segurança. Depois, organiza essas informações, remove duplicatas e permite que você veja o status de cada problema.

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 building-vulnerability-dashboard-with-defectdojo

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/building-vulnerability-dashboard-with-defectdojo/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.

Criando um Painel de Vulnerabilidades com DefectDojo

Visão Geral

O DefectDojo é uma plataforma de gerenciamento de vulnerabilidades de aplicações de código aberto que agrega descobertas de mais de 200 ferramentas de segurança, deduplica resultados, rastreia o progresso de remediação e fornece painéis executivos. Ele serve como um hub central para o gerenciamento de vulnerabilidades, integrando-se a pipelines de CI/CD, Jira para tickets e Slack para notificações. O DefectDojo suporta categorização baseada em OWASP e fornece API REST para automação.

Quando Usar

  • Ao implantar ou configurar a criação de um painel de vulnerabilidades com as capacidades do DefectDojo em seu ambiente.
  • Ao estabelecer controles de segurança alinhados aos requisitos de conformidade.
  • Ao construir ou melhorar a arquitetura de segurança para este domínio.
  • Ao realizar avaliações de segurança que exigem esta implementação.

Pré-requisitos

  • Docker e Docker Compose
  • 4GB+ de RAM, 2+ núcleos de CPU, 20GB+ de disco
  • PostgreSQL 12+ (incluído na implantação do Docker)
  • Python 3.9+ para scripts de integração de API
  • Instância do Jira (opcional, para integração de tickets)

Implantação

Implantação com Docker Compose

# Clone DefectDojo repository
git clone https://github.com/DefectDojo/django-DefectDojo.git
cd django-DefectDojo

# Start with Docker Compose (production mode)
./dc-up-d.sh

# Alternative: manual Docker Compose
docker compose up -d

# Check service status
docker compose ps

# View initial admin credentials
docker compose logs initializer 2>&1 | grep "Admin password"

# Access DefectDojo at http://localhost:8080

Configuração do Ambiente

# Key environment variables in docker-compose.yml
DD_DATABASE_ENGINE=django.db.backends.postgresql
DD_DATABASE_HOST=postgres
DD_DATABASE_PORT=5432
DD_DATABASE_NAME=defectdojo
DD_DATABASE_USER=defectdojo
DD_DATABASE_PASSWORD=<secure_password>
DD_ALLOWED_HOSTS=*
DD_SECRET_KEY=<random_64_char_key>
DD_CREDENTIAL_AES_256_KEY=<random_128_bit_key>
DD_SOCIAL_AUTH_GOOGLE_OAUTH2_ENABLED=True

Estrutura Organizacional

Hierarquia

Product Type (Business Unit)
  └── Product (Application/Service)
       └── Engagement (Assessment/Sprint)
            └── Test (Scanner Run)
                 └── Finding (Individual Vulnerability)

Configuração via API

import requests

DD_URL = "http://localhost:8080/api/v2"
API_KEY = "your_api_key_here"
HEADERS = {"Authorization": f"Token {API_KEY}", "Content-Type": "application/json"}

# Create Product Type
resp = requests.post(f"{DD_URL}/product_types/", headers=HEADERS, json={
    "name": "Web Applications",
    "description": "Customer-facing web application portfolio"
})
product_type_id = resp.json()["id"]

# Create Product
resp = requests.post(f"{DD_URL}/products/", headers=HEADERS, json={
    "name": "Customer Portal",
    "description": "Main customer-facing web application",
    "prod_type": product_type_id,
    "sla_configuration": 1,
})
product_id = resp.json()["id"]

# Create Engagement
resp = requests.post(f"{DD_URL}/engagements/", headers=HEADERS, json={
    "name": "Q1 2024 Security Assessment",
    "product": product_id,
    "target_start": "2024-01-01",
    "target_end": "2024-03-31",
    "engagement_type": "CI/CD",
    "status": "In Progress",
})
engagement_id = resp.json()["id"]

Integração de Scanners

Importar Resultados de Scans via API

# Upload Nessus scan results
curl -X POST "${DD_URL}/reimport-scan/" \
  -H "Authorization: Token ${API_KEY}" \
  -F "scan_type=Nessus Scan" \
  -F "file=@nessus_report.csv" \
  -F "product_name=Customer Portal" \
  -F "engagement_name=Q1 2024 Security Assessment" \
  -F "auto_create_context=true" \
  -F "deduplication_on_engagement=true"

# Upload OWASP ZAP results
curl -X POST "${DD_URL}/reimport-scan/" \
  -H "Authorization: Token ${API_KEY}" \
  -F "scan_type=ZAP Scan" \
  -F "file=@zap_report.xml" \
  -F "product_name=Customer Portal" \
  -F "engagement_name=Q1 2024 Security Assessment" \
  -F "auto_create_context=true"

# Upload Trivy container scan
curl -X POST "${DD_URL}/reimport-scan/" \
  -H "Authorization: Token ${API_KEY}" \
  -F "scan_type=Trivy Scan" \
  -F "file=@trivy_results.json" \
  -F "product_name=Customer Portal" \
  -F "engagement_name=Q1 2024 Security Assessment" \
  -F "auto_create_context=true"

Tipos de Scanners Suportados (Lista Parcial)

Scanner String de Tipo Formato
Nessus Nessus Scan CSV/XML
OpenVAS OpenVAS CSV CSV
Qualys Qualys Scan XML

…

Perguntas frequentes

Preciso instalar algo?

Sim, você precisa ter o Docker instalado para rodar o DefectDojo.

Quais ferramentas de segurança ele entende?

Ele entende mais de 200 ferramentas, como Nessus, OWASP ZAP, Trivy, Snyk, entre outras.

Posso integrar com outras ferramentas?

Sim, ele pode se conectar com Jira para criar tarefas de correção e com Slack para avisos.

Detalhes

Descrição original do autor

Deploy DefectDojo as a centralized vulnerability management dashboard that ingests findings from 200+ security scanners, deduplicates results, tracks remediation metrics, and integrates with CI/CD, Jira ticketing, and Slack notifications via its REST API. Use when consolidating scanner output into one dashboard or automating vulnerability ticketing and executive reporting.

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

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