Skip to content

Mr-root-2/DAST-Platform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ›‘οΈ DAST Platform

Python FastAPI React Docker PostgreSQL Redis License

A self-hosted Dynamic Application Security Testing (DAST) platform with AI-assisted scanning, real-time streaming, automated scheduling, and multi-tool orchestration β€” all through a single dark-themed UI.


πŸ“Έ Screenshots

Dashboard Scan Launch
dashboard scan
Findings Burp Suite Pro Scan
findings burp

✨ Key Features

  • πŸ€– AI-Assisted Scanning β€” LLM-powered payload generation, finding triage, attack chain detection (OpenAI / AWS Bedrock / Ollama)
  • πŸ“‘ Live Scan Streaming β€” real-time progress and logs via Server-Sent Events (SSE)
  • πŸ” 8 Integrated Security Tools β€” Nuclei, FFUF, Katana, GAU, Kiterunner, SQLMap, XSStrike, Burp Suite Pro
  • 🎯 4 Scan Types β€” Recon, API Scan, Vulnerability Scan, Burp Suite Pro (via REST API)
  • πŸ•·οΈ Burp Suite Pro Integration β€” trigger and retrieve full DAST scans via Burp's REST API
  • ⚑ 3 Intensity Levels β€” Quick, Balanced, Deep
  • πŸ” 6 Auth Types β€” Form, JWT, Basic, Bearer, Cookie, OAuth2
  • ⏰ Scan Scheduling β€” cron-based recurring scans with Celery Beat
  • πŸ”” Webhook Notifications β€” Slack, Teams, Discord, generic HTTP
  • πŸ“Š Report Export β€” JSON, HTML, PDF
  • πŸ”„ Scan Comparison β€” track new vs fixed findings between scans
  • 🎯 Scope Enforcement β€” whitelist/blacklist paths and domains
  • πŸ”‘ API Key Auth β€” CI/CD pipeline integration
  • πŸ’Ύ Incremental Saves β€” no data loss on worker crash

🧰 Tech Stack

Layer Technology
Backend Python 3.11, FastAPI
Task Queue Celery 5 + Redis
Scheduler Celery Beat
Database PostgreSQL 16
Frontend React 19, Vite
Real-time Server-Sent Events (SSE)
AI Engine OpenAI / AWS Bedrock / Ollama
Containers Docker Compose

πŸ”§ Tools Integrated

Tool Purpose
Nuclei CVE scanning, misconfigurations, exposures
FFUF Directory/path fuzzing
Katana JS-aware deep crawling
GAU Historical URL discovery
Kiterunner 1.45M real API route brute-force
SQLMap SQL injection confirmation
XSStrike XSS confirmation
Burp Suite Pro Full DAST scan triggered & retrieved via Burp REST API

πŸ€– AI Capabilities

Capability Description
Smart Payloads Technology-aware payload generation with WAF bypass
Finding Triage Confidence scoring + false positive detection
Attack Chains Combine low-severity findings into high-impact exploits
Response Analysis Detect subtle vulnerability indicators
Remediation Context-specific fix guidance with code examples
Strategy Optimal scan configuration recommendations

πŸš€ Quick Start

Prerequisites

  • Docker & Docker Compose
  • Node.js 18+ (for frontend)
  • (Optional) Burp Suite Pro with REST API enabled (for Burp scan type)
  • (Optional) OpenAI API key or Ollama for AI features

1. Clone and configure

git clone https://github.com/Mr-root-2/DAST-Platform.git
cd DAST-Platform
cp .env.example .env
# Edit .env β€” set SECRET_KEY, POSTGRES_PASSWORD, ADMIN_DEFAULT_PASSWORD

2. Start backend services

docker compose up -d --build
Service URL
Frontend UI http://localhost:3000
Backend API http://localhost:8000
API Docs (Swagger) http://localhost:8000/docs
Celery Monitor http://localhost:5555

3. Start the frontend

cd frontend
npm install
npm run dev

Frontend runs on http://localhost:3000

4. Login

Default credentials (set via ADMIN_DEFAULT_PASSWORD in .env):

  • Username: admin
  • Password: (value you set in .env)

5. (Optional) Enable Burp Suite Pro

Enable the REST API in Burp Suite Pro under User options β†’ REST API, then set in .env:

BURP_API_URL=http://localhost:1337
BURP_API_KEY=your-burp-api-key-here

Once configured, select Burp Suite Pro as the scan type when launching a scan.

6. (Optional) Enable AI

# OpenAI
AI_PROVIDER=openai
AI_MODEL=gpt-4o-mini
AI_API_KEY=sk-your-key-here

# AWS Bedrock
AI_PROVIDER=bedrock
BEDROCK_MODEL_ID=anthropic.claude-3-5-sonnet-20241022-v2:0

# Local (free, no API key)
AI_PROVIDER=ollama
AI_MODEL=llama3
AI_OLLAMA_URL=http://localhost:11434

πŸ“ Project Structure

dast-platform/
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ ai/               # AI engine (OpenAI / Bedrock / Ollama)
β”‚   β”œβ”€β”€ api/              # FastAPI routers
β”‚   β”œβ”€β”€ core/             # Config, database, seeding
β”‚   β”œβ”€β”€ models/           # SQLAlchemy models
β”‚   β”œβ”€β”€ scanner/
β”‚   β”‚   β”œβ”€β”€ checks/       # Active checks (CORS, headers, IDOR, SQLi, XSS...)
β”‚   β”‚   β”œβ”€β”€ integrations/ # Tool wrappers (Nuclei, FFUF, SQLMap...)
β”‚   β”‚   β”œβ”€β”€ scan_types/   # Scan orchestration (recon, api, vuln)
β”‚   β”‚   └── severity.py   # Evidence-based severity calculator
β”‚   β”œβ”€β”€ reporter/         # JSON / HTML / PDF report generation
β”‚   β”œβ”€β”€ services/         # Scheduler, webhooks, compliance
β”‚   └── worker/           # Celery app + tasks + beat schedule
β”œβ”€β”€ frontend/             # React 19 + Vite SPA
β”‚   └── src/
β”‚       β”œβ”€β”€ pages/        # Dashboard, Scans, Findings, Reports...
β”‚       └── components/   # Reusable UI components
β”œβ”€β”€ deploy/
β”‚   └── helm/             # Kubernetes Helm chart
β”œβ”€β”€ docker-compose.yml
β”œβ”€β”€ docker-compose.prod.yml
β”œβ”€β”€ Dockerfile
└── requirements.txt

πŸ“‘ API Reference

Auth

Method Path Description
POST /api/auth/register Register new user
POST /api/auth/login Login, get JWT

Core

Method Path Description
GET/POST /api/targets/ Manage targets
POST /api/scans/ Launch scan
GET /api/scans/{id}/stream SSE real-time progress
GET /api/scans/{id}/findings Get findings
POST /api/reports/generate Generate report

Extended

Method Path Description
GET/POST /api/schedules Scan scheduling
GET/POST /api/webhooks Webhook notifications
GET/POST /api/api-keys API key management
GET/POST /api/templates Scan templates
GET /api/scans/{id}/compare/{other_id} Diff two scans
POST /api/ai/analyze AI analysis on findings
GET /health/detailed Full health check

Full interactive docs at http://localhost:8000/docs


βš™οΈ Key Environment Variables

SECRET_KEY=                  # JWT signing key (required)
ADMIN_DEFAULT_PASSWORD=      # Initial admin password (required)
POSTGRES_PASSWORD=           # Database password (required)
DATABASE_URL=                # PostgreSQL connection string
REDIS_URL=                   # Redis connection string
AI_PROVIDER=                 # none | openai | bedrock | ollama
BURP_API_URL=                # Burp Suite Pro REST API (optional)
SCHEDULER_ENABLED=           # Enable cron-based scan scheduling
CORS_ORIGINS=                # Allowed frontend origins

See .env.example for the full list.


⚠️ Legal Disclaimer

This tool is intended for authorized security testing only. Only run scans against targets you own or have explicit written permission to test. Unauthorized scanning is illegal.


🀝 Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you'd like to change.


Built with ❀️ for the security community

About

πŸ›‘οΈ Self-hosted DAST platform for web app security testing β€” AI-assisted scanning & triage, orchestrates Nuclei, FFUF, Katana, SQLMap, XSStrike & Burp Suite Pro. Real-time results, PDF reports. Built with FastAPI + React + Docker.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors