VulnGuard is a browser-based cybersecurity application that converts authorized Nmap XML scan results into a structured vulnerability assessment dashboard.
It extracts discovered assets, open ports, services, software details, potential security exposures, severity levels, risk scores, and remediation guidance.
Open VulnGuard — Vulnerability Assessment Analyzer
View the VulnGuard source code on GitHub
Vulnerability-assessment scan results can be difficult to review in raw XML format.
VulnGuard provides a simple interface that allows an authorized Nmap XML file to be uploaded and analyzed directly inside the browser.
The application converts the scan into:
- Asset inventory
- Open-port summary
- Service inventory
- Potential security findings
- Severity distribution
- Risk score
- Remediation recommendations
- Printable assessment report
- Upload and analyze Nmap XML files
- Process scan files locally inside the browser
- Extract active hosts and hostnames
- Identify open TCP and UDP ports
- Extract protocols, services, products, and versions
- Display operating-system information when available
- Detect potential service exposures using predefined rules
- Categorize findings by severity
- Calculate an overall assessment risk score
- Search findings by host, port, service, or description
- Filter findings by severity
- Generate remediation recommendations
- Load a built-in sample assessment
- Clear assessment results
- Print or save the report as PDF
- Responsive interface for desktop and mobile
- Custom GitHub Pages 404 page
- HTML5
- CSS3
- JavaScript
- DOMParser API
- Nmap XML
- Git
- GitHub
- GitHub Pages
Authorized target
↓
Nmap scan
↓
XML output generated using -oX
↓
Upload XML file to VulnGuard
↓
Browser-side XML parsing
↓
Asset and service inventory
↓
Potential exposure detection
↓
Severity classification
↓
Risk scoring
↓
Remediation guidance
↓
Printable assessment report
Run Nmap only against systems that you own or have explicit authorization to assess.
General command:
nmap -sV -oX scan-results.xml <AUTHORIZED-IP>Example:
nmap -sV -oX scan-results.xml 192.168.1.10To include operating-system detection:
sudo nmap -sV -O -oX scan-results.xml <AUTHORIZED-IP>Start a temporary Python web server:
python3 -m http.server 8000 --bind 127.0.0.1Keep that Terminal window open.
In another Terminal window, run:
nmap -Pn -sV -p 8000 \
-oX assets/samples/localhost-scan.xml \
127.0.0.1Upload localhost-scan.xml into VulnGuard and click Analyze Scan.
Stop the temporary server afterward using:
Control + C
Clone the repository:
git clone https://github.com/taadithiya/Vulnerability-Assessment.gitEnter the project directory:
cd Vulnerability-AssessmentOpen the project in Visual Studio Code:
code .Install the Live Server extension in Visual Studio Code.
Open index.html, then click Go Live.
The application should open at an address similar to:
http://127.0.0.1:5500/index.html
- Open the VulnGuard application.
- Click Choose XML File.
- Select an authorized Nmap XML scan.
- Click Analyze Scan.
- Review the dashboard summary.
- Review discovered assets and services.
- Review generated potential findings.
- Use the search and severity filters when required.
- Review remediation recommendations.
- Click Print Report to print or save the assessment as a PDF.
You can also click Load Sample Scan to test the application without uploading a file.
VulnGuard uses the following severity weights:
| Severity | Score |
|---|---|
| Critical | 10 |
| High | 7 |
| Medium | 4 |
| Low | 1 |
| Informational | 0 |
Overall risk classification:
| Total Score | Risk Rating |
|---|---|
| 0 with analyzed assets | Informational |
| 1–5 | Low |
| 6–15 | Medium |
| 16–30 | High |
| 31 or above | Critical |
The score is intended to support prioritization. It is not a replacement for CVSS or professional risk analysis.
VulnGuard currently includes rules for potential exposure associated with:
| Port | Service | Default Severity |
|---|---|---|
| 21 | FTP | Medium |
| 23 | Telnet | High |
| 25 | SMTP | Low |
| 53 | DNS | Low |
| 80 | HTTP | Medium |
| 110 | POP3 | Medium |
| 139 | NetBIOS | Medium |
| 143 | IMAP | Medium |
| 445 | SMB | Medium |
| 1433 | Microsoft SQL Server | High |
| 3306 | MySQL | Medium |
| 3389 | RDP | High |
| 5432 | PostgreSQL | Medium |
| 5985 | WinRM | Low |
| 6379 | Redis | High |
| 8000 | Alternate HTTP development service | Low |
| 27017 | MongoDB | High |
These rules identify potential exposures only. They do not confirm that a vulnerability exists.
Uploaded scan files are processed locally inside the browser.
VulnGuard does not:
- Upload scan files to an external server
- Store scan results in a database
- Send scan data to a third-party service
- Require an account or login
Refreshing or closing the page clears the analyzed data.
An open port or detected service does not automatically represent a confirmed vulnerability.
VulnGuard is a lightweight assessment-support tool and currently does not:
- Exploit vulnerabilities
- Confirm CVEs
- Perform authenticated scanning
- Validate patch status
- Confirm configuration weaknesses
- Calculate official CVSS scores
- Replace manual security testing
- Replace professional vulnerability-management platforms
All generated findings require manual validation.
This project is intended only for:
- Authorized vulnerability assessments
- Personal systems
- Controlled lab environments
- Education
- Cybersecurity research
- Portfolio demonstration
Do not scan systems, networks, applications, or devices without explicit authorization.
Vulnerability-Assessment/
├── index.html
├── style.css
├── script.js
├── 404.html
├── README.md
├── .gitignore
├── .nojekyll
├── assets/
│ ├── icons/
│ ├── images/
│ └── samples/
├── Documentation/
├── Evidence/
├── Reports/
├── Sample-Data/
├── Scan-Results/
├── Screenshots/
│ ├── dashboard.png
│ ├── assets-services.png
│ ├── findings.png
│ └── report-preview.png
└── Scripts/
Planned improvements include:
- CVSS scoring
- CVE enrichment
- Service-version analysis
- Duplicate-finding prevention
- Assessment metadata
- Analyst-name and scope fields
- JSON export
- CSV export
- Improved PDF-report templates
- Nessus CSV support
- OpenVAS CSV support
- Additional exposure rules
- Unit and integration testing
- Drag-and-drop XML upload
- Dark and light themes
The sample files and screenshots included in this repository should contain only localhost or controlled-lab information.
Do not commit:
- Client scan results
- Private IP inventories from real organizations
- Passwords
- Authentication tokens
- API keys
- Sensitive reports
- Confidential screenshots
Aadithiya T
Cybersecurity | Threat Intelligence | Security Operations | Vulnerability Management | Cyber Defense
This project is provided for education, research, authorized assessments, and portfolio demonstration.
Use this application responsibly and only within systems and environments for which you have explicit permission.



