Danish4416/malicious-url-detector
GitHub: Danish4416/malicious-url-detector
一个基于机器学习与 NLP 技术的生产级恶意 URL 检测系统,能够将 URL 分类为钓鱼、恶意软件等四种类型并提供可解释的风险分析。
Stars: 0 | Forks: 0
# 🛡️ 恶意 URL 检测器
一个端到端的 Machine Learning 应用程序,利用 Natural Language Processing (TF-IDF) 和手工提取的 URL 特征来检测恶意 URL,并将其分类为 **Benign**、**Phishing**、**Malware** 或 **Defacement**。
该项目包括一个训练好的 Machine Learning 模型、一个 FastAPI 后端,以及部署在 Render 上的响应式 HTML/CSS/JavaScript 前端。
## 🚀 在线演示
**前端:** https://malicious-url-detector-1-ws0w.onrender.com
**后端 API:** https://malicious-url-detector-tql9.onrender.com
## ✨ 功能
- 实时检测恶意 URL
- 将 URL 分为四类:
- Benign
- Phishing
- Malware
- Defacement
- 使用 TF-IDF 文本特征
- 使用手工提取的词法 URL 特征
- 显示预测置信度
- 解释 URL 被分类的原因
- FastAPI REST API
- 响应式前端
- 完全部署在 Render 上
## 🛠 技术栈
### Machine Learning
- Python
- Scikit-learn
- Pandas
- NumPy
### NLP
- TF-IDF Vectorizer
### 后端
- FastAPI
- Uvicorn
### 前端
- HTML5
- CSS3
- JavaScript
### 部署
- Render
- GitHub
## 📂 项目结构
```
malicious-url-detector/
│
├── main.py
├── feature_extraction.py
├── explain.py
├── trusted_domains.py
├── domain_age.py
├── best_model.pkl
├── tfidf.pkl
├── requirements.txt
│
├── index.html
├── style.css
├── script.js
│
└── README.md
```
## ⚙️ 安装说明
克隆代码仓库
```
git clone https://github.com/Danish4416/malicious-url-detector.git
cd malicious-url-detector
```
安装依赖项
```
pip install -r requirements.txt
```
运行后端
```
uvicorn main:app --reload
```
在浏览器中打开 `index.html`。
## 🧠 Machine Learning Pipeline
- 数据预处理
- URL 清洗
- TF-IDF 特征提取
- 手工提取词法特征
- 特征组合
- Logistic Regression 模型
- 预测概率
- 生成人类可读的解释
## 📊 模型输出
对于每个 URL,应用程序会返回:
- 预测类别
- 置信度得分
- 概率分布
- 检测到的风险指标解释
## 🔮 未来改进
- WHOIS 和 DNS 查询
- SSL 证书分析
- 集成 URL 信誉度
- Deep Learning 模型
- 浏览器扩展
- 批量 URL 扫描
## 👨💻 作者
**Danish Ansari**
GitHub:https://github.com/Danish4416
标签:Apex, AV绕过, FastAPI, 全栈应用, 威胁情报, 开发者工具, 恶意URL检测, 数据可视化, 机器学习, 逆向工具