Skip to content

alaeimo/ExploitAlertSystem

Repository files navigation

Hardware and Software Exploit Alert System

A Python-based security tool designed to automatically fetch, filter, analyze, and match public exploits to the software installed on a user’s system. This project provides real-time exploit monitoring, similarity-based exploit–software matching, and automated email alerts.


🚀 Demo

🔧 Command-Line Demo

Command-line Demo

🖥️ GUI Demo

GUI Demo

Example usage:

python App.py -d 2023-05-21 -w
  • -d: Specify the date for exploits (default: today)
  • -w, -hw, -m: Specify the type of exploit to extract (Windows, Hardware, Multiple)

🧩 Features

  • 📅 Fetch exploits by date from online sources (including .onion links)
  • 🛡️ Filter exploits by type: Windows, Win32, Hardware, Multiple
  • 🤖 Apply fuzzy string matching (token_set_ratio) to map exploit titles to installed software
  • 🎯 Adjustable similarity threshold to optimize detection accuracy
  • ✉️ Automated email alerting for relevant vulnerabilities
  • 🖥️ PyQT interface for visualization of vulnerability alerts and system status
  • ⚡ Lightweight, real-time monitoring and data processing

🛠️ Tech Stack

Category Technologies
Programming Python
Web Scraping Mechanize, BeautifulSoup
Fuzzy Matching FuzzyWuzzy
GUI PyQt5
Database SQLite (internal logging)

🧠 How It Works

  1. Fetching Exploits by Date Exploits are retrieved via a date-specific URL: http://mvfjfugdwgc5uwho.onion/date/ If no -d is provided, today’s date is used automatically.

  2. Filtering by Type Users can filter exploits by type using CLI flags:

    • -w → Windows / Win32
    • -hw → Hardware
    • -m → Multi-platform exploits
  3. Matching Exploits to Installed Software Fuzzy string matching (token_set_ratio) compares exploit titles to local software names, resolving noise from version numbers or extra wording. A threshold of 75% provides reliable matching.

  4. Automated Email Alerts Relevant matches trigger an email notification using Python’s email and smtplib. Duplicate notifications are automatically prevented.

  5. Visualization A PyQt-based GUI displays matched exploits, alerts, history, and system status.


🧾 Example

Exploit Title: WinRAR 5.61 - Path Traversal Exploit

Installed Software: WinRAR 5.70 (64-bit)

Even though the version differs, token_set_ratio detects high similarity (e.g., 76/100), signaling a relevant vulnerability.


👨‍💻 About the Author

Mohammad Alaei AI Researcher & Computer Engineer 🔗 https://alaeimo.ir

This project combines cybersecurity automation, intelligent similarity matching, and real-time alerting, reflecting practical experience in exploit analysis, system monitoring, and security-focused software engineering.


About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages