Back to work

Accuvis

2025

Senior Project

PythonPyQt6ScapyNVD CVE APISHA-256PyInstaller
Accuvis
Type
Senior project
Team
Two people
Timeline
March–April 2025

Accuvis is a host-based intrusion detection toolkit for Windows, written in Python with a desktop GUI. It bundles three security tools and a live monitoring mode into one window with a terminal-style output pane.

[What it does]

  • Packet sniffer. Captures live traffic on Ethernet or Wi-Fi, filtered by IP or CIDR range, and shows source/destination IPs, protocol and ports. Traffic on commonly abused ports (FTP 21, Telnet 23, RPC 135, NetBIOS 139, SMB 445, RDP 3389) is highlighted in red.
  • Port scanner with CVE lookup. Runs a multithreaded TCP connect scan over a port range, resolves each open port to its service name, then queries the National Vulnerability Database for the top three CVEs matching that service.
  • File integrity monitor. Hashes selected files with SHA-256, stores a baseline in JSON, and reports new, unchanged or modified files on later scans.
  • Accuvis LIVE. Runs the sniffer and the file monitor continuously in background threads, alerting on suspicious-port traffic and re-checking file hashes every 10 seconds.

[Tech used]

  • Language. Python 3.12+
  • GUI. PyQt6, with tkinter for the file picker and pyfiglet for the ASCII banner
  • Packet capture. Scapy on top of the Npcap driver
  • Port scanning. socket and concurrent.futures.ThreadPoolExecutor (up to 20 workers)
  • Vulnerability data. requests against the NVD CVE API 2.0
  • File integrity. hashlib (SHA-256) with a JSON baseline
  • Concurrency. threading, with Queue/deque drained by QTimer to keep GUI updates safe
  • Packaging. PyInstaller, as a single windowed .exe

[The goal]

The aim is to put network visibility, vulnerability awareness and tamper detection in one approachable desktop tool, so a single host can be monitored without juggling Wireshark, Nmap and a separate integrity checker.