The problem
Phishing is the #1 way Indians lose money online — fake bank login pages, UPI collect-request scams, lookalike domains. Blacklists can't keep up because phishing domains live for hours, not days. Machine learning can: this project trains an XGBoost classifier on 30+ URL and page-content features (domain age, special-character counts, form actions, SSL anomalies) and serves it through a Flask API plus a Chrome extension that warns the user before the malicious page even loads. It's a separate, high-volume student search niche from network intrusion detection, the Chrome-extension demo is irresistible in a viva, and no kit seller has a dedicated phishing page.
Browses the web and marks false positives safe.
Follow the working sequence
How it works
- The feature extractor parses a URL into 30+ signals: length, subdomain count, special characters, domain age (WHOIS), SSL certificate anomalies, form-action targets, and iframe usage.
- The trained XGBoost model scores the feature vector and returns a phishing probability via the Flask API.
- The Chrome extension queries the API on every navigation; scores above threshold trigger a blocking warning page with the verdict explanation.
- User overrides (false positives marked safe) are logged and can be folded into retraining.
- The dashboard shows detection stats, recent verdicts, and feature-importance charts for the report.
Project features
- XGBoost + Random Forest classifiers trained on 30+ URL, domain, and HTML-content features
- 95%+ accuracy on the benchmark phishing-URL dataset with precision/recall/F1 reporting
- Flask REST API serving real-time predictions (<100 ms per URL)
- Chrome extension that intercepts navigation and shows a full-page warning on phishing verdicts
- Feature-importance visualization (SHAP-style) for the report and viva defense
- Whitelist/blacklist override panel for user corrections
- Live demo mode: test any pasted URL or browse normally with protection on
- Retrain pipeline — add fresh phishing feeds and rebuild the model
What is included
- Complete source code (training pipeline, Flask API, Chrome extension)
- Pre-trained model for instant demo
- Project report PDF (synopsis, literature on phishing ML, feature design, results, conclusion)
- Presentation PPT for review/demo day
- Viva Q&A sheet covering ensemble models, feature engineering, false-positive trade-offs
- Setup guide (API deployment, loading the extension in developer mode)
Advantages
- XGBoost + Random Forest classifiers trained on 30+ URL, domain and HTML-content features, with 95%+ accuracy and precision/recall/F1 reporting.
- Flask REST API serves real-time predictions in under 100 ms per URL.
- Chrome extension (Manifest V3) intercepts navigation and shows a full-page warning before a phishing page loads.
- SHAP-style feature-importance visualization explains why a site was flagged — strong report and viva material.
- Live demo mode to test any pasted URL or browse with protection on.
- Whitelist/blacklist override panel plus a retrain pipeline to add fresh phishing feeds and rebuild the model.
Disadvantages
- URL/content features catch most phishing but not pixel-perfect clones hosted on compromised legitimate domains — this adversarial limit is discussed honestly in the report.
- Domain-age features need WHOIS/DNS access (internet required); offline mode uses URL-only features with slightly lower accuracy.
- The extension is built for Chrome/Edge on Manifest V3; the Firefox port is documented but not packaged.
- The model should be retrained periodically as phishing tactics evolve — the retrain script is included.
Limitations & prerequisites
- URL/content features catch most phishing but not pixel-perfect clones hosted on compromised legitimate domains — the report discusses this adversarial limit honestly
- Domain-age features need WHOIS/DNS access (internet required); offline mode uses URL-only features with slightly lower accuracy
- The extension is built on Manifest V3 for Chrome/Edge; Firefox port is documented but not packaged
- Model should be retrained periodically as phishing tactics evolve — the retrain script is included
Components & software requirements
- Python 3.10+
- XGBoost, scikit-learn (classifiers, cross-validation)
- Flask (prediction REST API)
- JavaScript/Chrome Extension Manifest V3 (browser integration)
- pandas, NumPy (feature engineering)
- WHOIS/DNS libraries (domain-age features)
- Benchmark phishing + legitimate URL datasets
Download free synopsis (PDF)
Enter your name and WhatsApp number — the synopsis PDF downloads immediately. We may send occasional project updates on WhatsApp; no spam.
Sahingoz, Buber, Demir & Diri (2019), Expert Systems with Applications 117, 345-357