NVM (Network Vulnerability Manager) is an advanced, asynchronous, NVD-powered vulnerability assessment engine designed for security teams, pentesters, and enterprises requiring accurate, consistent, and audit-ready vulnerability intelligence.
NVM integrates high-speed port scanning, banner fingerprinting, CPE mapping, CVE correlation, and risk classification into a single automated workflow.
- β‘ Threaded high-speed port scanner
- π§© Smart banner grabber
- π― Accurate CPE mapping with version extraction
- π Asynchronous CVE lookup (NVD API 2.0 + retries)
- π¦ Local caching to avoid rate limits
- π CVSS v3 risk scoring
- π₯οΈ Professional HTML dashboard reports (accordion UI + search + copy buttons)
- π JSON reports for integrations
- π Consistent multi-run output (no silent failures)
- π§° Lightweight, modular, and open-source
flowchart TD
A[Port Scanner - TCP and Banner Grab] --> B[Service Identifier]
B --> C[CPE Mapper]
C --> D[Async CVE Fetcher - NVD API 2.0]
D --> E[Risk Analyzer - CVSS v3]
E --> F[Report Engine - HTML and JSON]
.
βββ config/
β βββ settings.json
βββ core/
β βββ analyzer.py
β βββ cve_lookup.py
β βββ identifier.py
β βββ scanner.py
β βββ utils.py
βββ data/
β βββ cve_cache.json
βββ reports/
β βββ generate_html.py
β βββ generate_json.py
β βββ NVM-Report-<target>.html / .json
βββ docs/
β βββ README.md
βββ nvm.py
βββ requirements.txt
git clone https://github.com/<your-user>/Network-Vulnerability-Manager.git
cd Network-Vulnerability-Managerpip install -r requirements.txtLinux/macOS
export NVD_API_KEY="your-api-key"Windows PowerShell
setx NVD_API_KEY "your-api-key"python nvm.py -t 192.168.1.10python nvm.py -t 192.168.1.10 -p 1-2000python nvm.py -t 10.10.10.5 -p 1-1000 --htmlpython nvm.py -t 45.33.32.156 -p 1-1000 --jsonpython nvm.py -t 172.16.0.2 -p 1-10000 --threads 100| Argument | Flags | Description | Default |
|---|---|---|---|
| Target | -t, --target |
IP address to scan | required |
| Ports | -p, --ports |
Port range (1-1000, 80,443, etc.) |
1-1000 |
| Threads | --threads |
Parallel connections | 50 |
| HTML Report | --html |
Generates styled HTML dashboard | False |
| JSON Report | --json |
Generates JSON output | False |
{
"scan_date": "2025-11-19 18:22:11",
"target": "45.33.32.156",
"overall_risk": "CRITICAL",
"results": {
"80": {
"service": "banner_grabbed",
"version": "Apache/2.4.7",
"cpe": "cpe:2.3:a:apache:http_server:2.4.7",
"risk": "CRITICAL",
"vulnerabilities": []
},
"22": {
"service": "banner_grabbed",
"version": "SSH-2.0-OpenSSH_6.6.1p1",
"cpe": "cpe:2.3:a:openbsd:openssh:6.6.1p1",
"risk": "HIGH",
"vulnerabilities": []
}
}
}- β No silent failures (retry logic)
- β Accurate CPE & version extraction
- β Asynchronous NVD API calls
- β Local caching
- β Repeatable results across runs
Use NVM only on:
- systems you own
- systems you administer
- systems where you have explicit permission
Unauthorized scanning is illegal.
The authors assume no responsibility for misuse.
π§ Reach out via GitHub for research collaborations.
Alexander P.B.
Cybersecurity Researcher & Penetration Tester
Red Team & IoT Security Specialist