vivekyadav389/IP-Threat-Analyzer

GitHub: vivekyadav389/IP-Threat-Analyzer

Stars: 0 | Forks: 0

# IP Threat Analyzer & Intelligence Suite 🛡️ A comprehensive cybersecurity intelligence tool that scans and analyzes IP addresses for malicious indicators, security threats, and network reputations. This project provides both a **CLI Python Utility** and an **Interactive Web Dashboard** featuring live integrations with **VirusTotal** and **AbuseIPDB** APIs. ## 🌟 Features ### 🖥️ 1. Interactive Web Dashboard * **Modern Cyberpunk UI:** Custom dark theme featuring glassmorphism, responsive grids, and conically rotating scanning radar animations. * **Dual Telemetry Modes:** * *Demo Mode (Offline):* Preloaded with Wireshark-captured telemetry and persistent dynamic fallback generators for arbitrary IPs. * *Live Feed Mode:* Integrates direct browser client requests to AbuseIPDB and VirusTotal. Credentials are saved locally and securely inside `localStorage`. * **Active Metrics Visualizer:** Animated circular score gauges showing Abuse Confidence Scores and VirusTotal engine detection progress bars. * **Audit Scan Ledger:** Persistent history tables detailing geographic coordinates (country), ISPs, hosting domains, usage categories, and direct "Re-Scan" capabilities. ### 🐍 2. CLI Python Scanner * Highly performant command-line script checking ranges of IPs with rate-limiting respect. * Color-coded threat labeling (**Safe** in Green, **Suspicious** in Yellow, **Malicious** in Red). * Tabulated reports displaying reputation confidence, ISP allocation, and VirusTotal hits. * Generates a persistent `ip_report.json` report containing complete scan logs. ## 📦 Project Architecture ├── index.html # Main web dashboard interface ├── styles.css # Cyber-themed CSS styles & animations ├── app.js # Interactive state, gauges, & API fetches ├── ip_threat_checker.py # CLI Python Scanner utility └── README.md # Project documentation ## 🚀 Getting Started ### Method A: Running the Web Dashboard (Local) Simply double-click `index.html` to open it in your browser, or spin up a lightweight local server: # Serve the directory locally python3 -m http.server 8080 Open your browser to `http://localhost:8080`. ### Method B: Running the Python CLI Scanner 1. **Install dependencies:** pip install requests tabulate colorama 2. **Run in Demo Mode (Simulated APIs - No keys needed):** python3 ip_threat_checker.py --mode demo 3. **Run in Real Mode (Requires API Credentials):** python3 ip_threat_checker.py --mode real --vt-key YOUR_VIRUSTOTAL_KEY --abuse-key YOUR_ABUSEIPDB_KEY ## 🛡️ Threat Rules Hierarchy Reputation classification follows standard cybersecurity rating thresholds: * 🔴 **MALICIOUS:** AbuseIPDB Confidence Score $\ge 50$ OR VirusTotal engine alerts $\ge 6$ * 🟡 **SUSPICIOUS:** AbuseIPDB Confidence Score between $15 - 49$ OR VirusTotal engine alerts between $2 - 5$ * 🟢 **SAFE:** AbuseIPDB Confidence Score $< 15$ AND VirusTotal engine alerts $\le 1$ ## 👤 Author * **Ayush** - Cybersecurity Capstone Project