A Python-based tool that scans installed applications on Windows systems, matches them against known vulnerabilities, and generates a comprehensive PDF report.
- 📊 Scans both traditionally installed applications and Microsoft Store apps
- 🔍 Matches software against known vendor and product databases
- 🔄 Version number detection and standardization
- 📝 Generates detailed vulnerability reports in PDF format
- 🎯 CVSS score-based vulnerability severity assessment
- 📈 Progress tracking with status bars
- 🧹 Intelligent string cleaning and matching
- Python 3.x
- Windows Operating System
winreg (built-in)
pandas
requests
beautifulsoup4
reportlab
tqdm
- Clone the repository:
git clone https://github.com/vipulraj01/Vuln_Scan
cd Vuln_Scan
- Install required packages:
pip install -r requirements.txt
The following CSV files are needed in the same directory as the script:
Combined_Vendors.csv
: List of known software vendorsCombined_Products.csv
: List of known software productsknown_vendors.csv
: List of verified vendor names
- Run the main script:
python final.py
- The script will:
- Scan your system for installed applications
- Create an initial
output.txt
with raw scan results - Process and standardize the data in
processed_output.txt
- Generate a comprehensive vulnerability report as PDF
output.txt
: Raw scan resultsprocessed_output.txt
: Standardized application datalower_rank_products.csv
: Secondary product matches for verificationvulnerability_report.pdf
: Final report with vulnerability assessment
The vulnerability report includes:
- Executive summary with key statistics
- Detailed findings for each application
- CVSS scores and severity ratings
- Vulnerability descriptions and publication dates
- Color-coded severity indicators
check_and_install_packages()
: Verifies and installs required packageslist_store_apps()
: Scans Microsoft Store applicationsfoo()
: Scans registry for traditionally installed applicationsprocess_apps()
: Processes and standardizes application datasearch_cve()
: Searches for known vulnerabilitiesVulnerabilityReport
: Handles PDF report generation
clean_string()
: Removes special characters and version numbersstandardize_name()
: Matches names against known databasesextract_version_numbers()
: Identifies version numbers in stringscalculate_match_score()
: Computes string similarity scores
Contributions are welcome! Please feel free to submit a Pull Request.
- CVE Details for vulnerability data
- ReportLab for PDF generation
- Beautiful Soup for web scraping
This tool is intended for security assessment purposes only. Please ensure you have proper authorization before scanning any systems.