An AI-powered phishing detection system using machine learning to classify emails as phishing or safe. Built using Python, Streamlit, and scikit-learn, this system analyzes email bodies and URLs to detect phishing attempts.
- Email Body Analysis: Uses text processing to identify phishing patterns.
- URL Scanning: Extracts and evaluates URLs within the email to detect malicious links.
- Machine Learning: Trained with labeled phishing data to make predictions on email content.
- Interactive UI: Built with Streamlit for real-time predictions.
- Python 🐍
- Streamlit 🌐
- scikit-learn 🤖
- pandas 📊
- nltk 🧠
- Requests 🌍
- BeautifulSoup 🍲
-
Clone the repository
git clone https://github.com/yourusername/AI-Powered-Phishing-Detection-System.git cd AI-Powered-Phishing-Detection-System
-
Install Dependencies Create and activate a virtual environment, then install required packages:
python -m venv venv source venv/bin/activate # For macOS/Linux venv\Scripts\activate # For Windows pip install -r requirements.txt
-
Run the App Start the Streamlit app to launch the phishing detection system:
streamlit run phishing_detection.py
-
Upload Dataset for Training (Optional) Upload a CSV file with columns email_body (content of the email) and label (1 for phishing, 0 for safe) to train the model.
🔍 How to Use
- Training the Model: Upload a CSV file containing emails labeled as phishing or safe.
- Prediction: Enter the body of an email, and the system will classify it as phishing or safe.
Example Email to Test:
-
Phishing Email:
Congratulations! You've won a $1000 gift card. Click here to claim your prize: http://phishing.com
-
Safe Email:
Hey, just checking in on our project. Let me know your availability for a meeting.
- Check Prediction Click Check Phishing to see the prediction results for the email you entered.
The system will display whether the email is a phishing attempt or safe based on its body content and URL features.
Contributions are welcome! If you'd like to improve the system or add new features, feel free to fork the repository and submit a pull request.
- Streamlit for creating the amazing interface.
- scikit-learn for machine learning tools.
- Shields.io for badges.
- FontAwesome for awesome icons.