Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VulnScope

A lightweight Python vulnerability scanner that maps open ports and service banners to known CVEs using the official NVD (National Vulnerability Database) API.

Features

  • Fast multi-threaded port scanning — scan hundreds of ports in seconds
  • Automatic banner grabbing — identifies service names and versions (SSH, HTTP, FTP, SMTP, and more)
  • Real CVE lookup — matches discovered services against the official NIST NVD database
  • Clean CLI — colored, severity-ranked output, right in your terminal
  • Zero heavy dependencies — just Python's standard library + requests

Installation

git clone https://github.com/Crow-developers/vulnscope.git
cd vulnscope
pip install -r requirements.txt

Requires Python 3.7+.

Usage

Basic scan with CVE lookup:

python cli.py 192.168.1.1

Scan a specific port range:

python cli.py 192.168.1.1 -p 1-1000

Scan specific ports only:

python cli.py example.com -p 22,80,443

Fast scan without CVE lookup:

python cli.py 192.168.1.1 --no-cve

Save the report to a file:

python cli.py 192.168.1.1 -o report.txt

Use an NVD API key for faster CVE lookups (optional — get one free here):

python cli.py 192.168.1.1 --api-key YOUR_API_KEY

All options

Flag Description
-p, --ports Ports to scan, e.g. 1-1000 or 22,80,443 (default: 1-1024)
-t, --timeout Socket timeout per port in seconds (default: 0.5)
--threads Max concurrent scan threads (default: 100)
--no-cve Skip CVE lookup, scan ports only (much faster)
--api-key NVD API key for higher rate limits
--no-color Disable colored output
-o, --output Save the report to a text file

How it works

  1. Port scanning (scanner.py) — opens TCP connections across a port range using a thread pool, and grabs service banners where possible (passive listening or active probing for HTTP).
  2. CVE lookup (cve_lookup.py) — builds a search keyword from the detected service and version, then queries the NVD API v2.0 for matching CVEs, extracting CVSS scores and severity.
  3. Engine (vulnscope_engine.py) — ties the two together: for every open port found, it automatically looks up associated CVEs and builds a unified report.
  4. CLI (cli.py) — a user-friendly command-line wrapper around the engine, with colored severity output and file export.

Project structure

vulnscope/
├── scanner.py            # Port scanning engine
├── cve_lookup.py         # NVD API integration
├── vulnscope_engine.py   # Combines scanning + CVE lookup
├── cli.py                # Command-line interface
├── requirements.txt
├── .gitignore
└── README.md

⚠️ Legal notice

Only scan systems you own or have explicit permission to test. Scanning networks or devices without authorization may violate local laws. This tool is intended for educational purposes, authorized security assessments, and personal lab environments.

License

MIT

About

A lightweight Python vulnerability scanner that maps open ports and service banners to known CVEs.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages