Skip to content

aishabanuu/website-vulnerability-scanner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

31 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ›‘ VulnScanner

A modern Website Vulnerability Scanner built with Python and Streamlit.

VulnScanner helps identify common web security issues by scanning websites and generating a detailed security assessment report.


Features

SSL/TLS Analysis

  • Certificate validation
  • Expiration checks
  • SSL/TLS issue detection

Security Headers Analysis

Checks for important HTTP security headers:

  • Content-Security-Policy (CSP)
  • Strict-Transport-Security (HSTS)
  • X-Frame-Options
  • X-Content-Type-Options
  • Referrer-Policy

DNS Security Checks

  • SPF Record Detection
  • DMARC Record Detection

Open Port Detection

Scans common ports:

  • 21 (FTP)
  • 22 (SSH)
  • 25 (SMTP)
  • 53 (DNS)
  • 80 (HTTP)
  • 443 (HTTPS)
  • 3306 (MySQL)
  • 8080 (HTTP Alternate)

CMS Detection

Detects:

  • WordPress
  • Drupal
  • Joomla

Version exposure checks are also performed when available.

Security Scoring

Generates an overall security score from 0–100 based on:

  • SSL Security
  • HTTP Headers
  • DNS Security
  • Open Ports
  • CMS Exposure

Findings & Recommendations

Each finding includes:

  • Severity Level
  • Description
  • Recommended Fix

Severity Levels:

  • Critical
  • High
  • Medium
  • Low
  • Informational

Historical Scan Storage

Stores scan results as JSON files for future reference.

Export Features

  • PDF Reports
  • JSON Export
  • Security Badge Generation

Project Structure

vuln-scanner/
β”‚
β”œβ”€β”€ app.py
β”œβ”€β”€ requirements.txt
β”œβ”€β”€ README.md
β”‚
β”œβ”€β”€ scans/
β”‚
β”œβ”€β”€ core/
β”‚   β”œβ”€β”€ models.py
β”‚   β”œβ”€β”€ scoring.py
β”‚   β”œβ”€β”€ scanner_engine.py
β”‚   β”œβ”€β”€ ssl_scanner.py
β”‚   β”œβ”€β”€ headers_scanner.py
β”‚   β”œβ”€β”€ dns_scanner.py
β”‚   β”œβ”€β”€ port_scanner.py
β”‚   └── cms_scanner.py
β”‚
β”œβ”€β”€ storage/
β”‚   β”œβ”€β”€ history_manager.py
β”‚   └── comparison.py
β”‚
β”œβ”€β”€ reports/
β”‚   β”œβ”€β”€ pdf_generator.py
β”‚   β”œβ”€β”€ json_exporter.py
β”‚   └── badge_generator.py
β”‚
β”œβ”€β”€ ui/
β”‚   β”œβ”€β”€ dashboard.py
β”‚   β”œβ”€β”€ history_page.py
β”‚   └── comparison_page.py
β”‚
└── venv/

Installation

1. Clone or Download

git clone <repository-url>
cd vuln-scanner

Or extract the ZIP archive.


2. Create Virtual Environment

python3 -m venv venv

3. Activate Virtual Environment

macOS/Linux:

source venv/bin/activate

Windows:

venv\Scripts\activate

4. Install Dependencies

pip install -r requirements.txt

5. Run the Application

streamlit run app.py

Access the Dashboard

Open:

http://localhost:8501

Example Usage

  1. Enter a website URL.
  2. Click Scan Website.
  3. Wait for the scan to complete.
  4. Review:
    • Security Score
    • SSL Findings
    • Security Header Findings
    • DNS Findings
    • Open Ports
    • CMS Information
  5. Export reports if desired.

Example Targets

google.com
github.com
cloudflare.com
openai.com

Security Notice

This project is intended for educational, research, and authorized security assessment purposes only.

Only scan systems and websites that you own or have explicit permission to test.

The authors assume no responsibility for misuse of this software.


Future Improvements

  • DKIM Validation
  • CVE Integration
  • Nmap Integration
  • Scheduled Scans
  • User Accounts
  • Cloud Deployment
  • Advanced CMS Fingerprinting
  • Technology Detection
  • Vulnerability Intelligence Feeds

License

MIT License

Copyright (c) 2025

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files to deal in the Software without restriction.

About

Website Vulnerability Scanner built with Python & Streamlit featuring SSL analysis, security header auditing, DNS checks, port scanning, CMS detection, reporting, and security scoring.

Topics

Resources

License

Stars

2 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors