AutoPhisNet is a cybersecurity system designed to detect and prevent phishing websites in real time.
The project combines Machine Learning, URL feature analysis, brand impersonation detection, VirusTotal threat intelligence, browser navigation interception, and risk-based decision making to provide an additional layer of protection against malicious and phishing websites.
- ๐ Real-time phishing URL detection
- ๐ค Machine Learning-based URL classification
- ๐ง Rule-based URL analysis
- ๐ฏ Brand impersonation detection
- ๐ VirusTotal threat intelligence integration
- ๐จ Automatic browser navigation monitoring
- ๐ Suspicious and high-risk URL interception
โ ๏ธ Dedicated phishing warning page- โช๏ธ One-time "Proceed Anyway" bypass
- ๐ Security monitoring dashboard
- ๐พ SQLite-based scan history
- ๐งฉ Chrome Manifest V3 extension
- โก FastAPI-based backend
User โ Chrome Extension โ FastAPI Backend
โ
URL Features + ML + Brand + VirusTotal
โ
Risk Scoring
โ
SAFE / SUSPICIOUS / HIGH_RISK
โ
Allow / Warn / Block
User visits website
โ
Browser extension detects navigation
โ
URL sent to FastAPI backend
โ
URL feature extraction
โ
Machine Learning prediction
โ
Brand impersonation analysis
โ
VirusTotal threat intelligence
โ
Risk score calculation
โ
SAFE / SUSPICIOUS / HIGH_RISK
AutoPhisNet extracts URL characteristics such as:
- URL length
- Domain characteristics
- Number of subdomains
- Suspicious keywords
- Special characters
- IP address usage
- HTTPS usage
- Path characteristics
- Query parameters
- Domain structure
- Other phishing-related indicators
AutoPhisNet uses a trained machine learning model to estimate the probability that a URL belongs to a phishing or legitimate category.
The model was trained using the PhiUSIIL Phishing URL Dataset.
Custom URL-based features are extracted before prediction. The ML result is combined with other security signals.
AutoPhisNet analyzes suspicious domain names for possible impersonation of known brands.
Example test URL:
https://paypal-login-security.com/verify/account?id=123
Observed result:
Risk Score: 70/100
Verdict: HIGH_RISK
Brand Analysis: paypal (100%)
ML Probability: 100%
AutoPhisNet can query VirusTotal for additional threat intelligence. VirusTotal is treated as an additional security signal rather than the sole basis for the final verdict.
| Verdict | Description | Action |
|---|---|---|
๐ข SAFE |
No significant indicators detected | Allow navigation |
๐ก SUSPICIOUS |
Potentially dangerous indicators detected | Show warning |
๐ด HIGH_RISK |
Strong phishing/malicious indicators detected | Block navigation |
The Chrome extension monitors main-frame browser navigation.
The website is allowed to load normally.
The user is redirected to the AutoPhisNet warning page.
The navigation is intercepted and the user is shown a high-risk warning page.
The AutoPhisNet warning page displays:
- Risk score
- Detected URL
- Detection reasons
- ML probability
- Brand analysis
- VirusTotal information
- Go Back
- Proceed Anyway
The Proceed Anyway option provides a temporary, one-time bypass.
Warning Page
โ
Proceed Anyway
โ
One-Time Bypass
โ
Navigation Allowed
โ
Bypass Removed
The same URL is scanned again during a future navigation.
The dashboard provides:
- Total scans
- Safe URLs
- Suspicious URLs
- High-risk URLs
- Scan history
- Search and filtering
- Risk distribution
- Pagination
- Automatic refresh
Scan information is stored locally using SQLite.
AutoPhisNet uses Chrome Extensions Manifest V3.
Main components:
background.jsโ monitors navigation and communicates with the backendpopup.html / popup.jsโ displays scan information and scanner statuswarning.html / warning.jsโ displays security warningsmanifest.jsonโ extension configuration and permissions
AutoPhisNet/
โ
โโโ backend/
โ โโโ data/
โ โโโ models/
โ โโโ app.py
โ โโโ scanner.py
โ โโโ train_model.py
โ โโโ prepare_dataset.py
โ โโโ evaluate_model.py
โ โโโ ml_features.py
โ โโโ test_scanner.py
โ โโโ download_dataset.py
โ โโโ requirements.txt
โ
โโโ extension/
โ โโโ background.js
โ โโโ manifest.json
โ โโโ popup.html
โ โโโ popup.js
โ โโโ warning.html
โ โโโ warning.js
โ
โโโ dashboard/
โ โโโ index.html
โ โโโ dashboard.js
โ
โโโ .env.example
โโโ .gitignore
โโโ LICENSE
โโโ PROJECT_NOTES.md
โโโ README.md
- Windows 10/11
- Python 3.10 or newer
- Google Chrome
- Git
- Internet connection
- VirusTotal API key (optional)
Check Python:
python --versionCheck Git:
git --versiongit clone https://github.com/Maverickk96/AutoPhisNet.git
cd AutoPhisNetpython -m venv backend\.venvbackend\.venv\Scripts\activateYou should see (.venv) in your terminal prompt.
python -m pip install --upgrade pippip install -r backend\requirements.txtVirusTotal integration requires an API key.
Create:
backend/.env
PowerShell:
New-Item backend\.env -ItemType FileAdd:
VIRUSTOTAL_API_KEY=your_api_key_hereUse the actual API key without quotes.
Correct:
VIRUSTOTAL_API_KEY=abc123yourkeyDo not use PowerShell syntax inside .env:
$env:VT_API_KEY="abc123yourkey"Never upload your real .env file to GitHub.
Only .env.example should be committed:
VIRUSTOTAL_API_KEY=your_api_key_hereFrom the project root:
cd backendActivate the environment if necessary:
.\.venv\Scripts\activateStart FastAPI:
uvicorn app:app --reloadThe backend runs at:
http://127.0.0.1:8000
Health check:
http://127.0.0.1:8000/health
Interactive API documentation:
http://127.0.0.1:8000/docs
- Open Google Chrome.
- Go to
chrome://extensions. - Enable Developer mode.
- Click Load unpacked.
- Select:
AutoPhisNet/extension/
- Enable AutoPhisNet.
The extension will monitor browser navigation and communicate with the local FastAPI backend.
Make sure the backend is running.
Open:
dashboard/index.html
The dashboard communicates with:
http://127.0.0.1:8000
AutoPhisNet was tested against all three risk categories.
https://www.google.com/
Expected:
SAFE
โ
Navigation allowed
Expected:
SUSPICIOUS
โ
Warning Page
The one-time Proceed Anyway functionality was also tested successfully.
https://paypal-login-security.com/verify/account?id=123
Observed:
Risk Score: 70/100
Verdict: HIGH_RISK
Brand Analysis: paypal (100%)
ML Probability: 100%
Expected:
HIGH_RISK
โ
Navigation intercepted
โ
AutoPhisNet Warning Page
User
โ
โผ
Opens Website
โ
โผ
Chrome Extension
โ
โผ
Navigation Detected
โ
โผ
FastAPI /scan
โ
โผ
URL Feature Extraction
โ
โโโโโโโโโโโโผโโโโโโโโโโโ
โผ โผ โผ
ML Brand VirusTotal
Analysis Analysis Intelligence
โ โ โ
โโโโโโโโโโโโผโโโโโโโโโโโ
โผ
Risk Scoring
โ
โโโโโโโโโโโโผโโโโโโโโโโโ
โผ โผ โผ
SAFE SUSPICIOUS HIGH_RISK
โ โ โ
โผ โผ โผ
Allow Warning Block
- Python
- JavaScript
- HTML
- CSS
- FastAPI
- Uvicorn
- SQLite
- Scikit-learn
- Pandas
- NumPy
- Joblib
- Phishing URL Detection
- URL Feature Analysis
- Brand Impersonation Detection
- Threat Intelligence
- Risk Scoring
- Browser Security
- Chrome Extensions Manifest V3
- Chrome WebNavigation API
- Chrome Storage API
- API keys are stored using environment variables.
.envis excluded from version control.- Local databases are excluded from Git.
- Python virtual environments are excluded from Git.
- Browser-internal URLs are ignored.
- High-risk navigation is intercepted.
- Proceed Anyway uses a one-time bypass.
- Detection uses multiple security signals.
- Real-time phishing feed integration
- Additional threat intelligence providers
- Advanced domain reputation analysis
- Improved false-positive handling
- URL reputation caching
- Configurable risk thresholds
- Cloud-based security dashboard
- Automated security reports
- Enterprise deployment
- Enhanced analytics
- Support for additional browsers
The primary objective of AutoPhisNet is to provide an additional defensive layer against phishing websites by combining automated URL analysis, machine learning, threat intelligence, and browser-level protection.
The project demonstrates the integration of:
Machine Learning
+
Cybersecurity
+
Threat Intelligence
+
Browser Security
+
API Development
+
Security Automation
into a practical phishing detection and prevention system.
AutoPhisNet is an educational and research-oriented cybersecurity project.
Detection results are security indicators and should not be considered guaranteed classifications.
Users should continue following standard cybersecurity practices and avoid entering sensitive information on websites they do not trust.
This project is licensed under the MIT License.
See the LICENSE file for more information.
Maverickk96
GitHub: https://github.com/Maverickk96