EclipseManic/Advance_Phishing_Mail_Detector
GitHub: EclipseManic/Advance_Phishing_Mail_Detector
Stars: 2 | Forks: 0
# Advance Phishing Mail Detector
**Author:** EclipseManic
Advance Phishing Mail Detector is a powerful, Python-based tool designed to analyze .eml files and detect phishing attempts with a high degree of accuracy. By integrating with the VirusTotal API and employing a multi-faceted analysis approach, this tool can identify a wide range of malicious indicators in emails. From detailed header analysis to in-depth content scanning, this tool provides a comprehensive defense against phishing threats.
### This tool is perfect for security enthusiasts, researchers, and anyone looking to better understand the anatomy of a phishing email. It provides a clear and actionable verdict, helping you to quickly determine if an email is SAFE, CAUTIOUS, or UNSAFE.
## 🚀 Features
### Header Analysis
- Detects **Return-Path** and **Reply-To** mismatches
- Validates **SPF**, **DKIM**, and **DMARC** results
- Highlights suspicious authentication failures
### Domain & IP Reputation
- WHOIS-based domain age check
- VirusTotal API scanning for domains and IPs
- Homograph and punycode attack detection
### Link & Attachment Scanning
- Extracts links from email bodies, attachments, and even QR codes in images
- Unshortens shortened URLs before scanning
- VirusTotal file hash scans for attachments
### Content Analysis
- Detects urgent/financial scam keywords
- Flags impersonation attempts (Microsoft, PayPal, Amazon, etc.)
- Highlights suspicious links hosted on common abused services (Drive, Dropbox, OneDrive, etc.)
### Final Verdict
- Phishing score from **0 to 10**
- Labels emails as **SAFE**, **CAUTIOUS**, or **UNSAFE**
- Provides detailed feedback for each risk detected
### Reports
- Optional structured **JSON report** for automation and record keeping
## 📦 Requirements
- Python **3.8+**
- A valid **VirusTotal API key**
### Install Dependencies
Clone the repository and install required libraries:
pip install -r requirements.txt
## 🔑 Environment Setup: VirusTotal API Key
This script requires a **VirusTotal API key**. Without it, the tool will not run.
1. Get a free API key from: VirusTotal → My API Key
2. Set it as an environment variable before running the script.
#### On Linux / macOS:
`export VT_API_KEY="your_api_key_here"`
#### On Windows (permanent, PowerShell):
`setx VT_API_KEY "your_api_key_here"`
_(Restart your terminal after running this for the variable to take effect.)_
#### On Windows (temporary, current session only):
`$env:VT_API_KEY="your_api_key_here"`
## 🔧 Usage
### Basic command:
`python Advance_Phising_Mail_detector.py `
### Example with JSON report:
`python Advance_Phising_Mail_detector.py suspicious_mail.eml --report analysis.json`
### Arguments:
- `` → Path to the `.eml` email file
- `--report analysis.json` → Saves a JSON report of the analysis
## 📝 Output
- **Header Analysis** → Authentication checks, domain spoofing, mismatches
- **Reputation Scanning** → VirusTotal results for domains and IPs
- **Link & Attachment Scanning** → Flags malicious or suspicious URLs/files
- **Final Verdict** → Phishing Score + Verdict (**SAFE / CAUTIOUS / UNSAFE**)
- **JSON Report** → If `--report` option is used
## 📂 Example JSON Report
`{ "file": "suspicious_mail.eml", "verdict": "UNSAFE", "score": 8, "feedback": [ "Return-Path Mismatch: Possible spoofing.", "DMARC Failure: Sender is forged.", "Malicious Links: 2 flagged as unsafe." ], "details": { "header_findings": {...}, "spoof_findings": {...}, "reputation_results": [...], "url_results": [...], "attachment_results": [...], "domain_age_days": 12 } }`
## ⚠️ Disclaimer
This tool is designed strictly for **educational and defensive security purposes**.
Do **not** use it for offensive, malicious, or illegal activities.
The author assumes **no liability** for misuse.