aryanraj6308/ai-phising-email-detector
GitHub: aryanraj6308/ai-phising-email-detector
基于机器学习和 NLP 的 Web 应用,通过分析邮件文本特征来预测钓鱼概率,帮助用户识别潜在的钓鱼邮件。
Stars: 0 | Forks: 0
# AI 钓鱼邮件检测器
一个用于预测邮件或消息是否涉嫌钓鱼的机器学习 Web 应用。该项目使用 Python、scikit-learn 和 Streamlit,并且其结构设计支持直接上传至 GitHub。
## 功能
- 粘贴或上传邮件文本以进行分析
- 使用训练好的 NLP 模型预测钓鱼概率
- 高亮显示可疑的单词和短语
- 显示置信度得分、风险等级和安全提示
- 包含小型样本数据集,便于快速进行本地测试
- 支持使用更大的 Kaggle 钓鱼数据集替换样本数据
## 技术栈
- Python
- Streamlit
- scikit-learn
- pandas
- joblib
## 项目结构
```
ai-phishing-email-detector/
├── app.py
├── train_model.py
├── requirements.txt
├── README.md
├── LICENSE
├── .gitignore
├── data/
│ └── sample_emails.csv
├── models/
│ └── .gitkeep
└── src/
├── __init__.py
├── detector.py
└── suspicious_terms.py
```
## 设置
1. 创建并激活虚拟环境:
```
python -m venv .venv
.venv\Scripts\activate
```
2. 安装依赖项:
```
pip install -r requirements.txt
```
3. 训练模型:
```
python train_model.py
```
4. 运行控制面板:
```
streamlit run app.py
```
## 使用 Kaggle 数据集
内置的数据集特意设置得较小,以确保项目能即时运行。为了获得更好的准确率,请从 Kaggle 下载钓鱼邮件或 SMS 数据集,并将其格式化为包含以下列的 CSV 文件:
```
text,label
"Your email message here",phishing
"A normal safe message here",safe
```
然后使用以下命令进行训练:
```
python train_model.py --data path/to/your_dataset.csv
```
标签可以是 `phishing` / `safe`、`1` / `0` 或类似的常用值。
## 工作原理
该模型使用 TF-IDF vectorizer 将消息文本转换为数值特征,随后训练 logistic regression 分类器。Streamlit 控制面板会加载训练好的模型,预测钓鱼概率,并高亮显示钓鱼行为中常见的词汇。
## 重要提示
此工具仅用于学习和作品集展示目的。请勿将其作为真实邮件系统的唯一安全控制手段。
标签:AI, Apex, Kubernetes, Python, 反钓鱼, 后端开发, 数据分类, 无后门, 机器学习, 网络安全, 自动化代码审查, 逆向工具, 隐私保护