An enterprise-grade, high-performance Python Full-Stack web application that provides real-time threat intelligence, email authentication analysis, and external attack surface audits.
π Live Deployment: https://domain-security-scanner.onrender.com/
- Email Spoofing Defense: Detailed analysis of SPF policies (
-all,~all), DMARC enforcement levels (reject,quarantine), and DKIM signature detection. - DNS & Routing Integrity: DNSSEC cryptographic chain verification and MX record route inspection.
- Web & Transport Security: TLS/SSL certificate health, HTTPS redirection checks, and HTTP security headers (
HSTS,CSP,X-Frame-Options). - External Attack Surface Audit: High-speed concurrent port scanning across 16 critical network services.
- Multi-threaded Parallel Engine: Queries DNS, Web, and Ports concurrently via
ThreadPoolExecutor(cutting scan duration from ~15s to < 2s). - Executive PDF Reporting: Automated server-side generation of styled PDF security assessment reports.
- Interactive SOC Cyber UI: Responsive dark-mode dashboard with quick-test domain chips, real-time radar scan progression, remediation guides, and metric explanation modals.
Domain_Security_Scanner/
βββ backend/
β βββ app/
β β βββ __init__.py # Flask Application Factory
β β βββ config.py # Central configuration
β β βββ routes/
β β β βββ web.py # Web view blueprint (SSR / UI)
β β β βββ api.py # JSON REST API (/api/scan, /api/report/pdf)
β β βββ services/ # Decoupled Domain Services
β β β βββ scanner_orchestrator.py # Concurrent multi-threaded task coordinator
β β β βββ dns_service.py # MX, TXT, DMARC, DNSSEC lookups
β β β βββ email_security.py # SPF/DMARC parsing & scoring algorithms
β β β βββ web_security.py # HTTPS, SSL & HTTP security headers
β β β βββ port_scanner.py # High-speed concurrent socket scanner
β β β βββ report_service.py # PDF report compilation & remediation logic
β β βββ utils/
β β βββ validators.py # RFC domain sanitization and validation
β βββ tests/ # Automated unit & integration tests
β β βββ test_validators.py
β β βββ test_email_security.py
β β βββ test_api.py
β βββ dns_utils.py # Backward-compatibility facade
β βββ app.py # Backend entrypoint
βββ frontend/
β βββ static/
β β βββ style.css # SOC cyber theme & animations
β β βββ script.js # Async scan controller & UI interactivity
β βββ templates/
β βββ index.html # Main scanner & interactive dashboard
β βββ report_pdf.html # Print-optimized PDF template
βββ run.py # Project root launcher
βββ Procfile # Cloud process definition (Gunicorn)
βββ render.yaml # Render.com Blueprint deployment spec
βββ requirements.txt
βββ README.md
-
Clone the repository:
git clone https://github.com/Indraik/Domain_Security_Scanner.git cd Domain_Security_Scanner -
Install dependencies:
pip install -r requirements.txt
-
Run the application: You can start the app from the root or the backend folder:
python run.py # or python backend/app.py -
Access the Console: Open your browser at:
http://127.0.0.1:5000
Execute the test suite to verify validators, scoring algorithms, and API endpoints:
python -m unittest discover -s backend/tests -p "test_*.py" -vGET /β Serves the interactive Security Console.POST /api/scanβ Accepts{ "domain": "example.com" }, executes parallel scan, returns JSON payload.POST /api/report/pdfβ Accepts scan JSON data, compiles and streams a downloadable PDF report.