| name | building-vulnerability-dashboard-with-defectdojo |
| description | Deploy DefectDojo as a centralized vulnerability management dashboard with scanner integrations, deduplication, metrics tracking, and Jira ticketing workflows. |
| domain | cybersecurity |
| subdomain | vulnerability-management |
| tags | ["defectdojo","vulnerability-management","dashboard","deduplication","scanner-integration","devsecops","jira"] |
| version | 1.0 |
| author | mahipal |
| license | Apache-2.0 |
| nist_csf | ["ID.RA-01","ID.RA-02","ID.IM-02","ID.RA-06"] |
Building Vulnerability Dashboard with DefectDojo
Overview
DefectDojo is an open-source application vulnerability management platform that aggregates findings from 200+ security tools, deduplicates results, tracks remediation progress, and provides executive dashboards. It serves as a central hub for vulnerability management, integrating with CI/CD pipelines, Jira for ticketing, and Slack for notifications. DefectDojo supports OWASP-based categorization and provides REST API for automation.
When to Use
- When deploying or configuring building vulnerability dashboard with defectdojo capabilities in your environment
- When establishing security controls aligned to compliance requirements
- When building or improving security architecture for this domain
- When conducting security assessments that require this implementation
Common Misconfigurations & Verification
- Deduplication misconfigured — the same finding counted across tools inflates totals. Verify
deduplication_on_engagement and the dedupe algorithm per parser.
- Wrong scan_type on import — a parser mismatch drops or mangles findings. Verify imported counts match the source report.
auto_create_context sprawl — verify products/engagements aren't duplicated by typos in names.
- SLA config not attached to product — verify each product has an
sla_configuration so breach metrics compute.
- Jira severity mapping — verify critical→Blocker mapping and that closing a Jira issue syncs finding status.
- Reimport vs import — verify you use reimport so re-scans update existing findings instead of creating duplicates.
Prerequisites
- Docker and Docker Compose
- 4GB+ RAM, 2+ CPU cores, 20GB+ disk
- PostgreSQL 12+ (included in Docker deployment)
- Python 3.9+ for API integration scripts
- Jira instance (optional, for ticket integration)
Deployment
Docker Compose Deployment
git clone https://github.com/DefectDojo/django-DefectDojo.git
cd django-DefectDojo
./dc-up-d.sh
docker compose up -d
docker compose ps
docker compose logs initializer 2>&1 | grep