NotSoAbhinav/PhishGuard

GitHub: NotSoAbhinav/PhishGuard

结合随机森林与规则启发式的轻量级钓鱼 URL 检测系统,提供可解释的风险判定与 REST API。

Stars: 0 | Forks: 0

# PhishGuard 🔐 PhishGuard 是一个混合网络钓鱼检测系统,它通过结合机器学习和基于规则的启发式算法来分析 URL,从而识别恶意的、可疑的和安全的链接,并提供可解释的结果。 ## 🚀 概述 网络钓鱼攻击是最常见的网络安全威胁之一,它通过恶意链接诱骗用户泄露敏感信息。 PhishGuard 通过结合以下方式解决了这个问题: * **机器学习(Random Forest)** 用于模式识别 * **基于规则的启发式算法** 用于安全洞察 * **可解释的输出** 用于强调 URL 存在风险的原因 ## 🧠 功能 * 🔍 URL 分析与分类 * 🤖 基于机器学习的预测 * ⚙️ 基于规则的风险评分 * 📊 可解释的结果(检测原因) * 🌐 用于集成的 REST API * 💻 简单的 Web 界面前端 ## 🏗️ 技术栈 **后端** * Python (Flask) * Scikit-learn **前端** * HTML, CSS, JavaScript **其他** * 特征工程 * REST API 架构 ## ⚙️ 工作原理 1. 用户输入一个 URL 2. 系统提取结构和词汇特征 3. 规则引擎评估可疑模式 4. ML 模型预测网络钓鱼的概率 5. 返回附带解释的综合结果 ## 📁 项目结构 ``` phishguard/ │ ├── backend/ │ ├── app.py │ ├── train_model.py │ ├── feature_extractor.py │ └── model.pkl │ ├── frontend/ │ ├── index.html │ ├── style.css │ └── script.js │ ├── dataset/ ├── README.md └── LICENSE ``` ## 🔌 API 用法 ### 端点 ``` POST /analyze ``` ### 请求 ``` { "url": "http://example.com" } ``` ### 响应 ``` { "result": "phishing", "reasons": [ "Contains suspicious keyword: login", "Uses HTTP instead of HTTPS" ] } ``` ## 🧪 模型详情 * 算法:Random Forest Classifier * 输入:提取的 URL 特征 * 输出:二分类(Safe / Phishing) ## 🚧 状态 目前正在开发中。核心功能正在逐步实现。 ## 📌 未来改进 * 用于实时检测的浏览器扩展 * 域名年龄和 WHOIS 分析 * 高级特征工程 * 带有分析功能的仪表板 * API 密钥身份验证 ## 📄 许可证 本项目采用 MIT 许可证授权。 ## 👨‍💻 作者 Abhinav Mishra B.Tech CSE(网络安全与数字取证)
标签:Apex, CMS安全, CSS, Flask, HTML, JavaScript, Python, REST API, Scikit-learn, URL分析, Web安全, 二分类, 云计算, 前后端分离, 可解释AI, 启发式分析, 多模态安全, 威胁情报, 安全检测API, 开发者工具, 恶意链接分析, 搜索语句(dork), 数据可视化, 无后门, 机器学习, 欺诈防护, 特征工程, 网络安全, 网络钓鱼防御, 蓝队分析, 规则引擎, 逆向工具, 钓鱼检测, 链接安全检测, 随机森林, 隐私保护, 风控系统