Pentesting Orchestration Platform — A localhost web application to launch and manage common cybersecurity tools through a modern web UI.
- 9 Integrated Tools: Nmap, Gobuster, Hydra, WPScan, Nikto, SQLMap, Subfinder, Katana, WPProbe
- Preset & Custom Scans: Quick-launch presets + full advanced parameter control
- Live Terminal Output: WebSocket-powered real-time scan output streaming
- Concurrent Scans: Run multiple scans simultaneously via Celery workers
- Report Generation: Export pentest reports as HTML or PDF
- Dependency Checker: Dashboard warnings for missing tools
- Dark UI: Professional cybersecurity dashboard with animations
- Python 3.11+
- Node.js 18+
- Redis
- At least one pentesting tool installed (nmap, gobuster, etc.)
# Clone & enter the project
cd reconforge
# Run everything
./scripts/start.shThis starts Redis, the FastAPI backend (:8000), Celery worker, and Next.js frontend (:3000).
1. Redis
redis-server2. Backend
cd backend
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# Set environment
export RECONFORGE_REDIS_URL="redis://localhost:6379/0"
export RECONFORGE_DATABASE_URL="sqlite:///./data/reconforge.db"
# Start API
uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload3. Celery Worker (new terminal)
cd backend
source venv/bin/activate
export RECONFORGE_REDIS_URL="redis://localhost:6379/0"
export RECONFORGE_DATABASE_URL="sqlite:///./data/reconforge.db"
celery -A app.celery_app.celery worker --loglevel=info --concurrency=54. Frontend (new terminal)
cd frontend
npm install
npm run devcd docker
docker-compose up --build- Open http://localhost:3000
- Add a target (IP, domain, or URL) on the Targets page
- Go to Tools, select a tool, pick a preset or configure params
- Click Launch Scan — watch live output in the terminal panel
- When done, generate an HTML or PDF report from the scan detail page
reconforge/
├── backend/ # FastAPI + Celery
│ └── app/
│ ├── api/ # REST endpoints
│ ├── services/ # Business logic
│ ├── tool_adapters/ # 9 tool integrations
│ ├── tasks/ # Celery background tasks
│ ├── ws/ # WebSocket streaming
│ ├── models.py # SQLAlchemy ORM
│ └── main.py # App entry point
├── frontend/ # Next.js + TailwindCSS
│ └── src/
│ ├── app/ # Page routes
│ ├── components/ # React components
│ └── lib/ # API client & hooks
├── docker/ # Docker Compose
└── scripts/ # Startup scripts
| Tool | Category | Features |
|---|---|---|
| Nmap | Recon | Port scan, service/OS detection, scripts |
| Gobuster | Scanner | Directory, DNS, VHost brute-force |
| Hydra | Brute-Force | SSH, FTP, HTTP, form login |
| WPScan | Web | WordPress vuln scanner |
| Nikto | Web | Web server vulnerability scanner |
| SQLMap | Web | SQL injection detection |
| Subfinder | Recon | Passive subdomain discovery |
| Katana | Crawl | Web endpoint crawling |
| WPProbe | Web | WordPress detection |
FastAPI auto-generates interactive API docs:
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
- All tool commands are built as argument lists — never shell-interpolated
- Parameters are whitelisted per tool adapter
- User input is validated before command construction
subprocess.Popenis used withshell=False
MIT