Share
## https://sploitus.com/exploit?id=45C98F0C-AC5F-5516-85F7-300907FDF5F5
# ๐Ÿ›ก๏ธ DAST Platform

![Python](https://img.shields.io/badge/Python-3.11-blue?logo=python)
![FastAPI](https://img.shields.io/badge/FastAPI-0.110-009688?logo=fastapi)
![React](https://img.shields.io/badge/React-19-61DAFB?logo=react)
![Docker](https://img.shields.io/badge/Docker-Compose-2496ED?logo=docker)
![PostgreSQL](https://img.shields.io/badge/PostgreSQL-16-336791?logo=postgresql)
![Redis](https://img.shields.io/badge/Redis-7-DC382D?logo=redis)
![License](https://img.shields.io/badge/License-Internal%20Use-red)

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.

---

## โœจ 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
- ๐ŸŽฏ **3 Scan Types** โ€” Recon, API Scan, Vulnerability Scan
- โšก **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](https://github.com/projectdiscovery/nuclei) | CVE scanning, misconfigurations, exposures |
| [FFUF](https://github.com/ffuf/ffuf) | Directory/path fuzzing |
| [Katana](https://github.com/projectdiscovery/katana) | JS-aware deep crawling |
| [GAU](https://github.com/lc/gau) | Historical URL discovery |
| [Kiterunner](https://github.com/assetnote/kiterunner) | 1.45M real API route brute-force |
| [SQLMap](https://github.com/sqlmapproject/sqlmap) | SQL injection confirmation |
| [XSStrike](https://github.com/s0md3v/XSStrike) | XSS confirmation |
| [Burp Suite Pro](https://portswigger.net/burp/pro) | Full DAST via 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
- _(Optional)_ OpenAI API key or Ollama for AI features

### 1. Clone and configure

```bash
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

```bash
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

```bash
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 AI

```env
# 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

```env
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_