A modular, terminal-based phishing detection and cybersecurity analysis toolkit built with Python.
PhishSentinel is a defensive cybersecurity project that analyzes URLs, websites, emails, domains, and files for common phishing indicators using rule-based detection techniques. The application runs entirely in the terminal and is designed with a modular architecture for maintainability and future expansion.
- HTTPS verification
- IP address URL detection
- Long URL detection
- URL shortener detection
- Suspicious keyword detection
- Suspicious TLD detection
- Brand impersonation (typosquatting) detection
- Overall phishing risk score
- HTML download and parsing
- Login form detection
- Password field detection
- Hidden iframe detection
- JavaScript redirect detection
- External JavaScript detection
- Suspicious HTML element detection
- Parse
.emlfiles - Sender and subject analysis
- URL extraction
- SPF header presence check
- DKIM signature presence check
- DMARC(Authentication-Results) header check
- Suspicious attachment detection
- Phishing keyword detection
- WHOIS lookup
- Domain age analysis
- Domain expiration check
- Registrar information
- DNS record lookup
- MX record lookup
- SSL certificate validation
- SHA-256 hash generation
- MD5 hash generation
- File type detection
- Double extension detection
- Macro-enabled Office document detection
- Executable file detection
- Suspicious filename detection
PhishSentinel/
β
βββ scanners/
β βββ base_scanner.py
β βββ brand_detector.py
β βββ domain_scanner.py
β βββ email_scanner.py
β βββ file_scanner.py
β βββ url_scanner.py
β βββ website_scanner.py
β
βββ utils/
β βββ cli.py
β βββ helpers.py
β βββ logger.py
β βββ risk_engine.py
β βββ validators.py
β
βββ models/
β
βββ samples/
β βββ emails/
β βββ files/
β βββ phishing_test.html
β
βββ logs/
β
βββ main.py
βββ config.py
βββ requirements.txt
βββ README.md
βββ .gitignore
- Python 3.12+
- Requests
- BeautifulSoup4
- tldextract
- validators
- dnspython
- python-whois
- colorama
- ssl
- socket
- hashlib
- pathlib
- logging
- argparse
- re
- json
Clone the repository
git clone https://github.com/YOUR_USERNAME/PhishSentinel.gitGo to the project directory
cd PhishSentinelCreate virtual environment
python -m venv venvActivate virtual environment
venv\Scripts\activatesource venv/bin/activateInstall dependencies
pip install -r requirements.txtpython main.py=========================================================
PHISHSENTINEL
Defensive Phishing Detection Toolkit
=========================================================
[1] URL Scanner
[2] Website Scanner
[3] Email Scanner
[4] Domain Scanner
[5] File Scanner
[0] Exit
=========================================================
SCAN RESULT
=========================================================
Status : SUCCESS
Scanner : URL Scanner
Target : https://paypa1-login.xyz
Risk Score : 60
Risk Level : High
Findings
[HIGH]
Category : Brand
Message : Brand impersonation detected.
[HIGH]
Category : TLD
Message : Suspicious TLD detected (.xyz)
[MEDIUM]
Category : Keyword
Message : Suspicious keyword detected: login
Every scan is automatically recorded in
logs/phishsentinel.log
Logged information includes:
- Scanner name
- Target
- Risk score
- Risk level
- Findings count
- Timestamp
PhishSentinel is developed solely for defensive cybersecurity education and phishing analysis.
It is intended to help users identify suspicious characteristics in URLs, websites, emails, domains, and files. The project does not exploit systems, bypass security controls, or perform offensive security operations.
Sumedh Mhatre
This project is licensed under the MIT License.