Built to order

AI-Based Phishing Website Detection

An XGBoost classifier trained on 30+ URL and page-content features that flags phishing sites in real time through a Flask API and a Chrome extension that warns you before the page loads — cybersecurity's highest-demand student niche, fully distinct from network intrusion detection.

Computer / ITAI & Machine LearningWeb Development PythonMachine LearningXGBoostscikit-learnData AnalysisFlaskChrome ExtensionCybersecuritySoftware
Illustrative mockup of the AI-Based Phishing Website Detection extension.
More project photos (3)

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.

SYSTEM FLOW

5 components 8 connections

Live flow
Drag to explore
100%
userUser

Browses the web and marks false positives safe.

Follow the working sequence

How it works

  1. 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.
  2. The trained XGBoost model scores the feature vector and returns a phishing probability via the Flask API.
  3. The Chrome extension queries the API on every navigation; scores above threshold trigger a blocking warning page with the verdict explanation.
  4. User overrides (false positives marked safe) are logged and can be folded into retraining.
  5. 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

Get a quotation