Sentinel is an advanced, automated web vulnerability assessment platform. It combines traditional dynamic application security testing (DAST) methodologies with local Large Language Models (LLMs) to not only detect security flaws but also provide context-aware, AI-driven remediation strategies.
- Multi-Vector Scanning Engines: Automated detection of OWASP Top 10 vulnerabilities including SQL Injection (SQLi), Cross-Site Scripting (XSS), Server-Side Template Injection (SSTI), Broken Authentication, and Security Misconfigurations.
- AI-Driven Remediation (RAG): Integrates a local
TinyLlamamodel via Ollama to analyze HTTP request/response evidence and generate specific, actionable patch code for detected vulnerabilities. - Dynamic Attack Surface Mapping: Utilizes Selenium for headless browser crawling and PyVis/NetworkX to generate interactive, live-updating network topology graphs of the target's attack surface.
- Executive Report Generation: Automatically compiles scan telemetry, severity distributions, and threat intelligence into downloadable, professional PDF reports.
- Built-in Test Environment: Includes a deliberately vulnerable Flask application (
vulnerable_app.py) to safely test and validate scanner capabilities out-of-the-box.
This project utilizes a multi-container Docker architecture for seamless orchestration:
- Sentinel Dashboard: The Streamlit frontend and core Python scanning engine.
- Selenium Grid: A headless Chrome node for executing complex JavaScript and mapping dynamic single-page applications.
- Ollama Engine: A localized LLM service for private, offline vulnerability analysis without sending sensitive payload data to third-party APIs.
- Vulnerable Target (Optional): The local Flask application used for safe testing.
- Docker & Docker Compose installed on your machine.
- Git
- Clone the repository:
git clone [https://github.com/yourusername/ai-web-vulnerability-scanner.git](https://github.com/yourusername/ai-web-vulnerability-scanner.git) cd ai-web-vulnerability-scanner
2. Build and launch the container ecosystem:
```bash
docker-compose up -d --build
- Access the interfaces:
- Sentinel Dashboard:
http://localhost:8501 - Vulnerable Test App:
http://localhost:5000
To access the Sentinel Control panel, use the default administrator credentials:
- Username:
admin - Password:
password123
- Log into the Streamlit dashboard.
- In the sidebar, enter your target URL. (Note: To scan the built-in test app via Docker, target
http://juice-shop:3000or the specific container name defined in your compose file). - Select your desired scanning modules (SQLi, XSS, etc.) and toggle the AI Engine and Selenium modules.
- Click 🚀 Initiate Global Scan.
- Monitor the live telemetry feed. Once complete, navigate the tabs to view the Interactive Topology, AI Remediation advice, and download the PDF Executive Report.
ai-web-vulnerability-scanner/
├── dashboard.py # Streamlit UI and main application entry point
├── vulnerability_scanner.py # Core DAST crawling and payload execution logic
├── ai_engine.py # Initial AI predictive logic and LLM integrations
├── report_generator.py # FPDF logic for generating executive PDF reports
├── vulnerable_app.py # Deliberately vulnerable Flask app for safe testing
├── requirements.txt # Python dependencies
├── Dockerfile # Container definition for the Sentinel app
└── docker-compose.yml # Orchestration for Streamlit, Selenium, and Ollama
Educational & Authorized Use Only: This tool was developed strictly for educational purposes, security research, and testing systems you explicitly own or have written permission to audit. The developer assumes no liability and is not responsible for any misuse or damage caused by this program. Never run this tool against production environments without authorization.