CyberSentinel is a full-stack cybersecurity web application that detects malicious URLs using a hybrid approach combining:
- Machine Learning (Random Forest)
- VirusTotal API
- Content Analysis
- Community Feedback + Retraining
It also includes a Chrome Extension for real-time protection.
- Real-time URL phishing detection
- Hybrid analysis (ML + API + Content)
- Admin panel for feedback review
- Model retraining system
- Chrome extension integration
- JWT-based authentication
Frontend
- React (Vite)
- Tailwind CSS
Backend
- Flask (Python)
- Flask-JWT-Extended
Machine Learning
- scikit-learn
- pandas, numpy
Database
- SQLite / PostgreSQL
git clone https://github.com/yourusername/CyberSentinel.git
cd CyberSentinel
cd backendpython -m venv venv
venv\Scripts\activate
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python ml/download_dataset.py
python ml/train_model.py
Create a .env file inside the backend folder:
VIRUSTOTAL_API_KEY=your_api_key_here
SECRET_KEY=your_secret_key
Get VirusTotal API key from: https://www.virustotal.com/gui/join-us
python app.py
Backend will run on: http://localhost:5000
Frontend Setup
cd ..
npm install
npm run dev
Frontend will run on: http://localhost:5173
Open Chrome and go to: chrome://extensions/ Enable Developer Mode Click Load Unpacked Select the extension folder from this project
Username: admin Password: admin123
- User enters a URL or visits a website
- Extension / frontend sends URL to backend
- Backend performs:
- ML prediction
- VirusTotal check
- Content analysis
- Results are combined into a threat score
- Final verdict is returned (Benign / Suspicious / Phishing)
- Users submit feedback
- Admin approves feedback
- Approved data is added to dataset
- Model is retrained using:
- POST /api/admin/retrain-model
Connect with Us: