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 using ML, API, and content analysis
- Admin panel for feedback review
- Model retraining system
- Chrome extension integration
- JWT-based authentication
- QR code URL analysis
- React (Vite)
- Tailwind CSS
- Flask (Python)
- Flask-JWT-Extended
- scikit-learn
- pandas
- numpy
- SQLite / PostgreSQL
git clone https://github.com/yourusername/CyberSentinel.git
cd CyberSentinelcd backendpython -m venv venv
venv\Scripts\activatepython3 -m venv venv
source venv/bin/activatepip install -r requirements.txtpython ml/download_dataset.py
python ml/train_model.pyCreate a .env file inside the backend folder:
VIRUSTOTAL_API_KEY=your_api_key_here
SECRET_KEY=your_secret_keyGet a VirusTotal API key from: VirusTotal
python app.pyBackend will run on:
http://localhost:5000
Open a new terminal and go to the root folder:
cd ..
npm install
npm run devFrontend 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 or frontend sends the URL to the backend.
- Backend performs:
- ML prediction
- VirusTotal check
- Content analysis
- Results are combined into a threat score.
- Final verdict is returned: Benign, Suspicious, or Phishing.
- Users submit feedback.
- Admin approves feedback.
- Approved data is added to the dataset.
- Model is retrained using:
POST /api/admin/retrain-model- LinkedIn: Profile
- GitHub: Mohataseem89
- LinkedIn: Profile
- GitHub: RehanKhan1704







