AdityaPansare1408/adaptive-phishing-url-detection-framework
GitHub: AdityaPansare1408/adaptive-phishing-url-detection-framework
该框架结合机器学习、欺骗分析、意图分析和信任感知融合,实现对复杂钓鱼URL的高精度检测与可解释风险评估。
Stars: 1 | Forks: 0
# 自适应钓鱼 URL 检测框架




一个智能的钓鱼 URL 检测系统,结合了**机器学习**、**欺骗分析**、**意图分析**以及**自适应信任感知融合引擎**,以识别超越传统 URL 分类器的复杂钓鱼攻击。
传统的钓鱼检测系统严重依赖单一的机器学习预测。本项目引入了一个多层安全情报框架,利用独立的安全信号评估 URL,并根据检测到的攻击特征动态调整信任分配。
## 项目亮点
* 基于 **149 万条 URL** 进行训练
* 基于 **XGBoost** 的钓鱼检测模型
* 在测试数据集上达到 **98.96% 的准确率**
* **18 个工程化 URL 安全特征**
* 高级 **欺骗分析引擎**
* 面向钓鱼的 **意图分析引擎**
* 自适应 **信任感知风险融合框架**
* 交互式 **Streamlit Web 应用**
* 可解释的钓鱼风险评估
## 概述
钓鱼攻击已经远远超越了简单的恶意 URL,越来越多地采用以下技术:
* 域名欺骗
* 字符替换
* 同形异义字攻击
* 具有欺骗性的品牌伪装
* Unicode 操纵
* 面向钓鱼的意图信号
这些技术通常能够绕过传统的 URL 分类系统。
该框架通过集成多个安全情报层来解决这个问题:
1. 机器学习检测层
2. 欺骗分析层
3. 意图分析层
4. 自适应信任感知融合框架
5. 风险评估与解释层
该系统使用独立的风险信号评估 URL,并将它们组合成一个统一的钓鱼风险分数,以实现更稳健的检测。
## 核心特性
### 机器学习检测层
* 基于 XGBoost 的钓鱼 URL 分类器
* 基于约 149 万条 URL 进行训练
* 使用 18 个工程化的词汇、结构、统计和安全相关特征
* 生成钓鱼概率分数
### 欺骗分析引擎
检测高级 URL 操纵技术,包括:
* 字符替换攻击
* 同形异义字攻击
* Unicode 异常
* Punycode 滥用
* 重复字符操纵
* 域名欺骗模式
### 意图分析引擎
通过以下方式识别面向钓鱼的意图:
* 可疑关键词检测
* 基于风险的关键词评分
* 多关键词威胁评估
* 非线性意图升级
### 自适应信任感知融合框架
将以下内容结合:
* 机器学习风险
* 欺骗风险
* 意图风险
融合为一个统一的钓鱼风险分数。
该框架包含:
* 动态配置文件切换
* 一致性增强
* 上下文强化
* 非线性风险融合
* 自适应风险提升
### 可解释的风险评估
提供:
* 最终分类结果
* 风险等级指示
* 检测解释
* URL 摘要信息
* 关键钓鱼指标
## 数据集
机器学习模型使用从多个来源编译的大规模 URL 数据集进行训练。
### 数据来源
* PhishTank
* Tranco
* 其他良性 URL 来源
### 数据集统计
| 指标 | 值 |
| ---------------- | --------- |
| 总 URL 数量 | 1,489,337 |
| 训练样本数 | 1,191,469 |
| 测试样本数 | 297,868 |
## 工程化特征集
该框架提取了 18 个手工设计的 URL 特征,分为四组。
### 词汇特征
* 字符统计
* Token 统计
* URL 组成指标
### 结构特征
* 域名特征
* 子域名特征
* TLD 分析
### 统计特征
* 字符熵
* 数字比例
* 大写字母比例
* 元音字母比例
### 安全特征
* HTTPS 使用情况
* 可疑关键词指标
## 工作原理
1. 用户通过 Streamlit 界面提交 URL。
2. 特征提取模块生成 18 个安全相关特征。
3. XGBoost 模型预测钓鱼概率。
4. 欺骗分析引擎评估操纵模式。
5. 意图分析引擎评估面向钓鱼的意图信号。
6. 自适应信任感知融合框架结合多个风险信号。
7. 风险评估层生成最终分类和解释。
## 系统架构

## 仓库结构
```
adaptive-phishing-url-detection-framework
│
├── docs/
│ └── architecture.png
│
├── models/
│ ├── xgb_model.pkl
│ └── probability_calibrator.pkl
│
├── screenshots/
│ ├── home_page.png
│ ├── phishing_url_result.png
│ └── legitimate_url_result.png
│
├── src/
│ ├── streamlit_app.py
│ ├── feature_extraction.py
│ ├── deception_analysis_engine.py
│ └── intent_analysis_engine.py
│
├── requirements.txt
├── LICENSE
└── README.md
```
## 应用截图
### 主界面

### 钓鱼检测示例

### 合法 URL 示例

## 性能
性能结果是在包含约 29.7 万条 URL 的留出测试数据集上,使用 XGBoost 钓鱼检测模型获得的。
| 指标 | 值 |
| --------- | ------ |
| 准确率 | 98.96% |
| 精确率 | 83.00% |
| 召回率 | 93.95% |
| F1 分数 | 88.13% |
## 技术栈
### 编程语言
* Python
### 机器学习
* XGBoost
* Scikit-Learn
### 数据处理
* Pandas
* NumPy
### URL 分析
* tldextract
### Web 应用
* Streamlit
### 开发工具
* Git
* GitHub
## 安装说明
### 克隆仓库
```
git clone https://github.com/AdityaPansare1408/adaptive-phishing-url-detection-framework.git
```
### 导航至项目目录
```
cd adaptive-phishing-url-detection-framework
```
### 安装依赖
```
pip install -r requirements.txt
```
### 运行应用
```
streamlit run src/streamlit_app.py
```
## 未来增强计划
* 浏览器扩展部署
* 实时域名信誉查询
* 威胁情报集成
* 基于深度学习的 URL 分析
* 云部署
* 实时 URL 监控
* 集成可解释 AI 以提高预测透明度
## 作者
**Aditya Pansare**
计算机工程硕士
浦那计算机技术学院 (PICT)
## 许可证
本项目基于 MIT 许可证授权。
详情请参阅 [LICENSE](LICENSE) 文件。
标签:AMSI绕过, Apex, Kubernetes, Streamlit, XGBoost, 反钓鱼, 威胁检测, 安全, 机器学习, 访问控制, 超时处理, 逆向工具