A next-generation threat detection tool designed for security researchers, penetration testers, and organizations to identify typosquatting domains, phishing threats, and suspicious web activities.
The scanner combines asynchronous crawling, headless browser rendering, DNS & WHOIS intelligence, and automated risk scoring to provide a complete, actionable picture of potential threats.
- Homoglyph substitution
- Character omission & duplication
- Character swaps
- TLD manipulation
- Subdomains & compound domains
- Bitsquatting
- DNS resolution (A, MX, NS)
- WHOIS information retrieval
- HTTP(S) fetching with smart fallback
- Playwright (headless browser)
- aiohttp (async HTTP client)
- Hidden forms & password fields
- Iframes and embedded content
- Suspicious phishing keywords
- Obfuscated JavaScript
- External link & JS file analysis
- HTML similarity comparison with legitimate website
- Detection of cloned phishing or typosquat pages
- Weighted scoring based on:
- Page similarity
- Phishing indicators
- Forms & redirects
- Keywords & scripts
- Full-page screenshots
- Unique HTML hash fingerprints
- SQLite storage for scans & threats
- Indexed tables for fast querying
- Efficiently scan hundreds of domains in parallel
- Threat classification:
- π΄ Critical
- π‘ Medium
- π’ Low
- Full metadata for further investigation
- Proactive threat detection β Identify phishing and typo domains early
- Full automation β Crawl, render, analyze, and score automatically
- Cross-domain intelligence β DNS, WHOIS, HTML & JavaScript analysis
- Educational & research-ready β Ideal for SOC teams and security training
- Highly extensible β Easily add new indicators or scoring rules
# Clone the repository
git clone https://github.com/yourusername/typosquat-threat-scanner.git
cd typosquat-threat-scanner
# Install dependencies
pip install aiohttp dnspython certifi beautifulsoup4 playwright python-whois
# Install Playwright browser
playwright install chromiumThe scanner is designed to be simple to run while performing complex analysis in the background.
# Run the scanner
python scanner.py