A sophisticated web application combining machine learning and modern web technologies to detect phishing websites. The system utilizes both the VirusTotal API and a custom-trained machine learning model to provide comprehensive security assessments.
→ View Machine Learning Documentation ←
-
Dual Analysis System
- VirusTotal API Integration for real-time threat detection
- Custom ML model for independent analysis
- Combined risk assessment and scoring
-
Modern Web Interface
- Real-time URL scanning
- Interactive safety score visualization
- Comprehensive scan history
- Export functionality for scan results
-
Advanced Security Features
- URL validation and sanitization
- Rate limiting and error handling
- Cross-site request forgery protection
- Input validation and sanitization
The project consists of two main components:
-
Frontend (Next.js)
- Modern, responsive user interface
- Real-time safety score visualization
- Historical data visualization
- Export functionality
-
Backend
- VirusTotal API integration
- Custom ML model server
- SQLite database for scan history
- RESTful API endpoints
- Node.js 18+
- Python 3.8+
- VirusTotal API key
-
Clone the repository:
git clone https://github.com/LuKresXD/phishing-website-detector.git cd phishing-website-detector -
Install frontend dependencies:
npm install
-
Install ML server dependencies:
cd ml pip install -r requirements.txt -
Create a
.envfile in the root directory:VIRUSTOTAL_API_KEY=your_api_key_here ML_SERVER_PORT=5002
-
Start the frontend development server:
npm run dev
-
Start the ML server:
cd ml python server.py
The application will be available at http://localhost:3001.
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
This project is licensed under the MIT License - see the LICENSE file for details.
Luka - @lukres - me@lukres.dev
Project Link: https://github.com/LuKresXD/phishing-website-detector