░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░░▒▓██████▓▒░░▒▓█▓▒░░▒▓█▓▒░░▒▓███████▓▒░
░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░
░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒▒▓█▓▒░░▒▓█▓▒░
░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░▒▓████████▓▒░░▒▓█▓▒▒▓█▓▒░ ░▒▓██████▓▒░
░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ ░▒▓█▓▓█▓▒░ ░▒▓█▓▒░
░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ ░▒▓█▓▓█▓▒░ ░▒▓█▓▒░
░▒▓█████████████▓▒░░▒▓█▓▒░░▒▓█▓▒░ ░▒▓██▓▒░ ░▒▓███████▓▒░
A distributed, microservices-based web vulnerability scanner designed to automate the discovery and analysis of security flaws in web applications. This tool orchestrates a multi-stage pipeline—from crawling to report generation—to identify potential injection vulnerabilities like XSS and SQLi.
The application is composed of several specialized Python services that communicate over HTTP, orchestrated by an API Gateway:
- API Gateway (
:8000): The central entry point. Orchestrates the workflow by calling services in sequence. - Crawler Service (
:8001): Recursively discovers links and extracts HTML forms from a target domain. - Attack Surface Service (
:8002): Analyzes crawled data to map out attack objects (URLs and parameters). - Payload Service (
:8003): Conducts context-aware injection attacks using specialized payload lists. - Detection Service (
:8004): Analyzes response differentials and evidence to confirm vulnerabilities and assign confidence scores. - Report Service (
:8005): Aggregates findings and generates summaries in JSON or PDF formats. - Shared Library: A common internal package used by all services for logging, models, and HTTP utilities.
- Docker
- Docker Compose
-
Clone the repository:
git clone <your-repo-url> cd web-vuln-scanner
-
Configure environment: Create a
.envfile in the root directory (if not already present) to manage service configurations. -
Build and run with Docker Compose:
docker-compose up --build
The API Gateway will be available at
http://localhost:8000.
Install the CLI from the repository root:
pip install .Then run the tool with:
WAVS runThe CLI will prompt for a target URL and crawl depth, then execute the full pipeline through the API Gateway.
To trigger the full scanning pipeline, send a request to the API Gateway:
Endpoint: POST /scan
Request Body:
{
"url": "http://testphp.vulnweb.com",
"depth": 2
}Workflow sequence:
Crawl ➡️ Analyze Surface ➡️ Bulk Inject ➡️ Detect ➡️ Generate Report
Each service provides a /health endpoint to verify its status:
- Gateway:
http://localhost:8000/health - Crawler:
http://localhost:8001/health - (and so on for ports 8002-8005)
web-vuln-scanner/
├── api-gateway/ # Workflow orchestration logic
├── crawler-service/ # Scrapy/BeautifulSoup discovery engine
├── attack-surface-service/ # Parameter and endpoint mapper
├── payload-service/ # Injection engine and payload files
├── detection-service/ # Heuristic and diff-based analysis
├── report-service/ # PDF/JSON report generation
├── shared/ # Common utilities and Pydantic models
└── docker-compose.yml # Multi-container orchestration
This tool is for educational and authorized security testing purposes only. Never run this scanner against targets you do not have explicit permission to test.
|
Karthikeyan K R (Batman0603) Crawler Service Attack Surface Service API Gateway Logic |
kumaraguru (kumaraguru911) Payload Service Detection Service Report Service |
This project is licensed under the MIT License - see the LICENSE file for details.