PhiLNet (Phishing Lightweight Network) is a fusion-based machine learning framework for real-time phishing detection, combining textual analysis and heuristic features to accurately identify phishing websites and messages with low computational overhead.
This repository contains the experimental, training, and evaluation pipeline used to develop PhiLNet. The production-ready model is already deployed as a Chrome extension.
PhiLNet is designed to:
- Detect phishing attempts in real time
- Combine text-based features and rule-based heuristics
- Remain lightweight for browser-level deployment
- Support reproducible research and experimentation
After setup, your project directory should look like this:
PhiLNet/
├── data/
│ ├── raw/
│ │ └── dataset/ # Downloaded phishing dataset
│ └── processed/ # Cleaned and feature-engineered data
│
├── models/ # Trained model artifacts
│
├── notebooks/ # Jupyter notebooks for the pipeline
│ ├── 01_data_collection.ipynb
│ ├── 02_data_preprocessing.ipynb
│ ├── 03_exploratory_data_analysis.ipynb
│ └── 04_model_training_and_evaluation.ipynb
│
├── results/ # Figures, metrics, and evaluation outputs
│
├── requirements.txt # Python dependencies
└── setup.txt # Environment setup instructions
PhiLNet uses a publicly available phishing dataset hosted on Mendeley Data.
-
Download the dataset from: 👉 Phishing Websites Dataset
-
Extract the downloaded archive.
-
Place the entire
datasetfolder inside:
data/raw/dataset/
The notebooks assume this exact directory structure.
Before running the project, make sure you have:
- Conda (Anaconda or Miniconda)
- Jupyter Notebook
- Python 3.8 (recommended)
Ensure that:
requirements.txtis located in the base project directory- You follow the environment instructions exactly as specified in
setup.txt
- Clone the repository
git clone https://github.com/your-username/PhiLNet.git
cd PhiLNet- Follow the environment setup
# Read and follow all steps inside:
setup.txtThis typically includes:
- Creating a conda environment
- Installing dependencies from
requirements.txt - Registering the environment as a Jupyter kernel
Once setup is complete, launch Jupyter Notebook:
jupyter notebookThen run the notebooks in order:
-
01_data_collection.ipynb- Loads and validates the raw phishing dataset
-
02_data_preprocessing.ipynb- Cleans data and extracts textual and heuristic features
-
03_exploratory_data_analysis.ipynb- Analyzes phishing patterns, feature distributions, and correlations
-
04_model_training_and_evaluation.ipynb- Trains the PhiLNet fusion model
- Evaluates performance and saves results
PhiLNet is already deployed as a Chrome extension:
- Real-time phishing detection
- Runs directly in the browser
- Optimized for low latency and minimal resource usage
➡️ Available on the Chrome Web Store: PhiLNet Vanguard
This repository is intended only for research, experimentation, and model development.
- This project is intended for academic, research, and educational purposes
- Dataset usage follows the original dataset’s license
- The deployed extension may follow a separate license
If you would like to:
- Extend PhiLNet
- Propose improvements
- Reproduce or benchmark results
Feel free to open an issue or submit a pull request.
PhiLNet — Built to detect, designed to protect. 🛡️