Ethical Vulnerability Scanner - Modular Security Testing Framework
Project description
VScanX - Ethical Vulnerability Scanner
VScanX is a lightweight, modular, ethical vulnerability scanner designed for authorized security testing. It combines web and network scanning capabilities with a focus on clean architecture, professional code quality, and responsible disclosure practices.
⚙️ Installation (quick)
# Option 1: From source
git clone https://github.com/hnikhil-dev/VScanX.git && cd VScanX
pip install -r requirements.txt
python vscanx.py -h
# Option 2: Via pip (once published)
pipx install vscanx
⚠️ Legal Warning
THIS TOOL IS FOR AUTHORIZED SECURITY TESTING ONLY
You must have explicit written permission to scan any target system. Unauthorized scanning may violate:
- Computer Fraud and Abuse Act (CFAA) in the United States
- Computer Misuse Act in the United Kingdom
- Similar laws in other jurisdictions
By using this tool, you agree to:
- Only scan systems you own or have written authorization to test
- Comply with all applicable laws and regulations
- Accept full responsibility for your actions
The developers assume NO liability for misuse of this tool. See LEGAL.md for complete terms.
🎯 Features
What it does today
- Authenticated scanning: optional bearer/API-key/login/session support.
- Web modules: SQLi (error/boolean/time-based), XSS, headers, dir enum, CVE check.
- Network: TCP port scanning with service hints; optional parallel web modules.
- Structured output: JSON schema validation, sanitized exports (HTML/JSON/CSV/TXT/PDF).
- Observability: JSON logging, metrics artifact, optional debug capture with redaction.
- Ethical defaults: legal warning, rate limiting, safe payloads, opt-in parallelism.
- CI/tests: ruff + pytest/coverage, fuzz/heuristic tests, schema validation, no-print check in modules.
Future Planned Features
- Service fingerprinting
- Plugin loader (dynamic module discovery)
- Packaging & distribution (PyPI/installer)
🧪 Testing & CI/CD
VScanX includes automated testing and continuous integration:
- Ruff linting (GitHub Actions)
- Pytest with coverage (unit + smoke + fuzz/heuristics)
- CI check to block
print()in modules - Local testing: see TESTING.md for complete guide
Run all tests locally:
pip install -r requirements.txt
pytest -q
🛣️ Roadmap
See ROADMAP.md for detailed feature roadmap, completed work, and next priorities.
Current focus: Production readiness — linting, CI polish, documentation, and legal/packaging items
🚀 Quick Start
Prerequisites
- Python 3.11+
- pip package manager
- Root/Administrator privileges (required for Scapy port scanning)
Installation
- Clone the repository
git clone https://github.com/hnikhil-dev/VScanX.git
cd VScanX
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vscanx-2.1.0.tar.gz.
File metadata
- Download URL: vscanx-2.1.0.tar.gz
- Upload date:
- Size: 38.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d329f7377dcd68d697380efc72d2f768db4a49d639e566cb0e1bcccd66816883
|
|
| MD5 |
de24268fe1bd089bcfd83f7271c0bb47
|
|
| BLAKE2b-256 |
1340cef331f45047bef6879728f22da7672b2429dcf5a5d677faaed4cd91a945
|
File details
Details for the file vscanx-2.1.0-py3-none-any.whl.
File metadata
- Download URL: vscanx-2.1.0-py3-none-any.whl
- Upload date:
- Size: 30.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
13f5101c022580f2bc5d0f7c2add9f48ebc4e177a1adb35f1bf9d931f6696a48
|
|
| MD5 |
8e2c091482c796ef0a0d921eddef0788
|
|
| BLAKE2b-256 |
ae77f0aa78033185825b54d4c27ff7d5e486dc86b60eeaa3897a1c3d472724f2
|