Inspiration
Phishing attacks are one of the most widespread and dangerous cybersecurity threats. I was inspired to build this system after seeing how easily people — especially those without technical knowledge — fall victim to malicious links sent via emails, messages, or fake websites. I wanted to create a solution that uses machine learning to detect phishing websites and help protect users online.
What it does
The Phishing Website Detection System allows users to enter a URL and receive an instant prediction on whether it's legitimate or phishing. It uses feature extraction techniques and a trained ML model to analyze the URL and deliver accurate results via a simple web interface.
How we built it
- Data Collection: Used an open-source dataset of phishing and legitimate URLs.
- Feature Extraction: Extracted features such as URL length, use of special characters (like
@,-), presence of HTTPS, number of subdomains, etc. - Model Training: Built and trained machine learning models (e.g., Random Forest) using Python and Scikit-learn.
- Backend: Implemented with Flask to serve predictions in real-time.
- Frontend: Built using HTML, CSS, and basic JS for a user-friendly interface.
- Integration: Connected frontend and backend to enable seamless interaction.
Challenges we ran into
- Finding a high-quality, well-balanced dataset.
- Selecting meaningful features to improve model performance.
- Ensuring the model was fast enough to provide real-time results.
- Handling compatibility issues during backend and frontend integration.
Accomplishments that we're proud of
- Created a fully working phishing detection web app from scratch.
- Achieved good model accuracy with relevant URL-based features.
- Learned full-stack development and applied machine learning practically.
- Built a project that addresses a real-world security issue.
What we learned
- The importance of data cleaning and feature engineering in ML.
- Building and evaluating classification models with Scikit-learn.
- How to deploy ML models using Flask.
- Integrating backend ML logic into a clean and responsive web app.
What's next for Phishing Website Detection System
- Enhance detection with content-based features (e.g., presence of forms or suspicious text).
- Integrate browser extension support for real-time phishing protection.
- Use advanced ML techniques like ensemble models or neural networks.
- Maintain a live database of detected phishing sites.
- Add multi-language support and improve UI/UX.
Log in or sign up for Devpost to join the conversation.