Chhatrapati-sahu-09/PhishGuard-Pro

GitHub: Chhatrapati-sahu-09/PhishGuard-Pro

基于机器学习、启发式分析与威胁情报API的桌面端钓鱼URL检测工具,提供可视化分析界面与报告导出功能。

Stars: 1 | Forks: 0

# PhishGuard Pro – AI 驱动的钓鱼 URL 检测器 ![Python](https://img.shields.io/badge/Python-3.9%2B-blue?logo=python) ![PyQt5](https://img.shields.io/badge/UI-PyQt5-green) ![Machine Learning](https://img.shields.io/badge/ML-Scikit--Learn-orange) ![Security](https://img.shields.io/badge/Cybersecurity-Phishing%20Detection-red) ![Status](https://img.shields.io/badge/Status-Completed-success) ![License](https://img.shields.io/badge/License-MIT-blue) 一款**现代化深色主题桌面应用程序**,用于**实时钓鱼 URL 检测**,结合了 **Machine Learning、启发式分析和威胁情报 API**,并提供专业的分析和报告功能。 # 概述 **PhishGuard Pro** 是一款智能钓鱼检测工具,旨在通过**多层安全方法**分析可疑 URL。 ### 检测层 - **Machine Learning** (TF-IDF + Logistic Regression) - **启发式规则分析** - **威胁情报 API** - **SSL 和 WHOIS 域名验证** - **实时分析仪表板** 该应用程序包含**现代化 PyQt5 桌面界面**、交互式可视化、扫描历史记录跟踪以及可导出的报告。 它适用于**网络安全学习、演示和黑客马拉松**。 # 主要功能 ## URL 分析引擎 核心分析引擎使用多种技术评估 URL。 ### Machine Learning - 字符级 **TF-IDF 特征提取** - **Logistic Regression 分类器** - 快速且轻量级的预测模型 ### 启发式安全检查 系统执行基于规则的检查,例如: - URL 中使用 IP 地址 - 存在 `@` 符号 - URL 过长 - 可疑令牌 - 多重子域名 - 不安全的 TLD 检测 - 缺少 HTTPS 协议 - SSL 证书无效 - 使用 WHOIS 验证域名年龄 ### 威胁情报集成 外部威胁情报来源提高了检测的可靠性: - 用于 URL 信誉的 **VirusTotal API** - 用于威胁验证的 **Google Safe Browsing API** # 分析仪表板 应用程序包含一个实时分析面板,提供扫描结果的可视化洞察。 功能包括: - 显示风险分数分布的直方图 - 显示钓鱼 URL 与安全 URL 比例的饼图 - 平均风险分数指示器 - 颜色编码的钓鱼严重程度级别 # PyQt5 桌面界面 该应用程序具有使用 **PyQt5** 构建的**专业深色主题 GUI**。 UI 特性: - 简洁现代的布局 - 卡片式界面设计 - 平滑渐变样式 - 动画进度条 - 实时扫描状态更新 - 用户友好的交互流程 # 报告和历史记录 PhishGuard Pro 存储扫描结果并允许导出数据以供分析。 功能包括: - 详细的钓鱼扫描报告 - 会话历史记录表 - 将报告导出为 **HTML** - 将会话历史记录导出为 **CSV** # 演示模式(适合黑客马拉松) 该工具包含内置的**演示模式**,专为演示和离线使用而设计。 演示模式功能: - 自动生成的钓鱼数据集 - 离线机器学习训练 - 无需外部 API 依赖 - 非常适合黑客马拉松和网络安全演示 # 检测架构 PhishGuard Pro 遵循**三层安全架构**。 ## 第 1 层 – 启发式分析 基于规则的检查分析 URL 的结构属性。 检查包括: - IP 地址检测 - `@` 符号存在 - URL 过长 - 可疑令牌 - 多重子域名 - 不安全的 TLD - 缺少 HTTPS - SSL 证书有效性 - 域名年龄验证 ## 第 2 层 – Machine Learning 检测 1. URL 被转换为**字符级 TF-IDF 向量**。 2. 特征向量被传递到 **Logistic Regression 分类器**。 3. 模型预测**钓鱼概率分数**。 该层实现了**快速且可扩展的检测**。 ## 第 3 层 – 威胁情报 为了加强结果,使用了外部威胁情报服务。 - **VirusTotal** 提供来自多个安全供应商的信誉分析。 - **Google Safe Browsing** 检测已知的恶意或钓鱼域名。 该层提高了**结果的准确性和可信度**。 # 技术栈 | Component | Technology | |----------|------------| | 编程语言 | Python | | 桌面 UI | PyQt5 | | Machine Learning | Scikit-Learn | | 特征提取 | TF-IDF | | 数据处理 | Pandas | | 可视化 | Matplotlib | | 域名查询 | python-whois | | 域名解析 | tldextract | | HTTP 请求 | Requests | | 模型存储 | Joblib | # 安装说明 ## 1. 克隆仓库 ``` git clone https://github.com/Chhatrapati-sahu-09/PhishGuard-Pro.git cd PhishGuard-Pro ``` ## 2. 创建虚拟环境(推荐) ``` python -m venv venv ``` 激活环境 ### Windows ``` venv\Scripts\activate ``` ### Mac / Linux ``` source venv/bin/activate ``` ## 3. 安装依赖 ``` pip install -r requirements.txt ``` # 运行应用程序 ``` python main.py ``` 应用程序将启动 **PhishGuard Pro 桌面界面**。 # 项目结构 ``` PhishGuard-Pro │ ├── main.py ├── model │ ├── phishing_model.pkl │ └── vectorizer.pkl │ ├── analysis │ ├── heuristic_checker.py │ ├── ml_detector.py │ └── threat_intel.py │ ├── ui │ ├── dashboard.py │ └── theme.py │ ├── reports │ └── report_generator.py │ ├── data │ └── demo_dataset.csv │ └── requirements.txt ``` # 使用场景 PhishGuard Pro 可用于: - 网络安全项目演示 - 黑客马拉松和研究原型 - 钓鱼检测实验 - 安全意识演示 - Machine Learning 安全项目 # 许可证 本项目采用 **MIT License** 授权。 # 作者 **Chhatrapati Sahu** Portfolio: https://www.chhatrapatisahu.me GitHub: https://github.com/Chhatrapati-sahu-09 LinkedIn: https://www.linkedin.com/in/chhatrpati-sahu-4b803130a/
标签:Apex, API集成, cybersecurity, DInvoke, PyQt5, Python, Scikit-Learn, SSL证书检查, TF-IDF, URL分析, WHOIS查询, 人工智能, 代码示例, 协议探测, 反钓鱼, 可观测性, 启发式分析, 域名验证, 威胁情报, 字符串匹配, 实时检测, 开发者工具, 数据分析, 无后门, 机器学习, 桌面应用, 用户模式Hook绕过, 网络安全, 逆向工具, 逻辑回归, 钓鱼检测, 隐私保护, 黑客松项目, 黑白名单