OpenVulnScan
A simple vulnerability scanning application built with FastAPI. vulnerability-scanner open-source-security nmap-cve SIEM
Install / Use
/learn @sudo-secxyz/OpenVulnScanREADME
OpenVulnScan
A simple vulnerability scanning application built with FastAPI.
Setup
-
Install dependencies:
pip install -r requirements.txt -
Run the application:
uvicorn app:app --reloadOR if running via docker: Windows:
docker compose -f docker-compose.winmac.yml up --buildLinux:
docker compose -f docker-compose.linux.yml up --build -
Access the web interface: http://localhost:8000

API Docs

Features
- Run vulnerability scans against specified targets
- View scan history and individual scan results
- Download PDF reports of scan findings
- User management
- Deployable agent to report installed packages to central OpenVulnScan server
- Dashboard searching(posibbly report creation)
- Scan Types
- syslog forwarding(alpha-testing)
- Detailed Asset listing
Default Login
the default account is:
admin@openvulnscan.local
: admin123
:warning: change after standing up. :warning:
Web Interface Links
| Feature | URL |
|--------|-----|
| 🏠 Dashboard | http://localhost:8000 |
| 📋 View Scan Results | /scan/{scan_id} |
| 🧾 Download PDF Report | /scan/{scan_id}/pdf |
| 📥 Download Agent Script | /agent/download?openvulnscan_api=http://<server>:8000/agent/report |
| 🗂 Agent Reports View | http://localhost:8000/agent/reports |
| Blog information | [https://sudo-sec.xyz/blog/tag/openvulnscan]|
| User Guide| [https://sudo-sec.xyz/blog/openvulnscan-user-guide] |
| Admin Guide | [https://sudo-sec.xyz/blog/openvulnscan-admin-guide] |
|KB for OpenVulnScan| [https://sudo-sec.xyz/blog/tag/openvulnscan] |
| Demo Video |[https://www.youtube.com/watch?v=bwozsZT3_Y0]|
API Usage (with curl)
🧪 Start a Scan
curl -X POST http://localhost:8000/scan \
-H "Content-Type: application/json" \
-d '{"targets": ["127.0.0.1", "example.com"]}'
📥 Download Agent Script
curl -O "http://localhost:8000/agent/download?openvulnscan_api=http://localhost:8000/agent/report"
openvulnscan_api=change to the ip address of scanner if not localhost
mv download agent.py
python3 agent.py
📤 Submit Agent Package Report
curl -X POST http://localhost:8000/agent/report \
-H "Content-Type: application/json" \
-d '{
"hostname": "my-host",
"os": "Ubuntu 22.04",
"packages": [
{"name": "openssl", "version": "1.1.1"},
{"name": "curl", "version": "7.68.0"}
]
}'
Project Structure
app.py: Main application entry pointconfig.py: Configuration settingsdatabase/: Database operationsmodels/: Pydantic modelsscanners/: Scanner implementationsservices/: Business logic servicesutils/: Utility functionstemplates/: HTML templatesstatic/: Static filesdata/: Data storage
License
MIT
