PhishNet is a browser extension and backend service that uses Google's Gemini AI to provide real-time protection against phishing attacks by analyzing URLs and webpage content.
- Real-time URL Analysis: Analyzes URLs before you visit them
- Content-based Detection: Evaluates webpage content to detect phishing attempts
- AI-Powered Analysis: Leverages Google Gemini AI for sophisticated detection
- User-friendly Warnings: Clear alerts when phishing is detected
- Customizable Protection: Adjustable protection levels
- Feedback System: Users can report false positives/negatives
The project is divided into two main components:
- User interface for the browser extension
- Real-time scanning of webpages
- Warning displays for detected threats
- API endpoints for phishing analysis
- Google Gemini AI integration
- Firebase data storage for analysis results
- Node.js (v14+)
- npm or yarn
- Google Chrome or compatible browser
- Google Gemini API key
- Firebase project (optional, for storing analytics)
-
Navigate to the backend directory:
cd backend
-
Install dependencies:
npm install
-
Create a .env file based on .env.example and add your Gemini API key:
cp .env.example .env # Edit the .env file to add your credentials
-
Start the server:
npm run dev
-
Navigate to the frontend directory:
cd frontend
-
Install dependencies:
npm install
-
Build the extension:
npm run build
-
Load the extension in your browser:
- Open Chrome and navigate to
chrome://extensions/
- Enable "Developer mode"
- Click "Load unpacked" and select the
dist
folder from the frontend directory
- Open Chrome and navigate to
- The PhishNet icon will appear in your browser toolbar
- Click the icon to access settings and view protection status
- Browse the web normally - PhishNet will alert you when it detects a potential phishing site
- Provide feedback on detections to help improve the system
cd frontend
npm run dev
This will watch for changes and rebuild the extension automatically.
cd backend
npm run dev
This will start the server with nodemon for auto-reloading.
- Frontend: JavaScript, Chrome Extension API
- Backend: Node.js, Express.js
- AI: Google Gemini AI
- Database: Firebase Firestore
- Build Tools: Webpack, Babel
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
- Google Gemini AI for powering the detection engine
- Firebase for data storage capabilities