Mohit-Jagudi/phishing-url-detector

GitHub: Mohit-Jagudi/phishing-url-detector

基于 Python 和 Flask 构建的规则驱动型钓鱼 URL 检测系统,通过对 URL 进行多维度安全规则检查并计算风险评分来判断其威胁等级。

Stars: 0 | Forks: 0

# Phishing URL 检测器 Phishing URL Detector 是一个基于 Python 的 Web 应用程序,用于检查 URL 是否存在常见的钓鱼特征。它会计算风险评分,并将每个 URL 分类为 SAFE(安全)、SUSPICIOUS(可疑)或 PHISHING(钓鱼)。 ## 问题陈述 许多钓鱼网站的外观与合法网站非常相似,导致难以识别。该项目旨在帮助用户在访问之前检测出可疑的 URL。 ## 目标 本项目的主要目标是: - 通过基于规则的分析检测钓鱼 URL - 为每个 URL 计算风险评分 - 通过简单的 Web 界面展示分析结果 - 提供用于检查 URL 的 API 支持 ## 功能 - 基于规则的钓鱼 URL 检测 - 12 项安全检查 - 检测临时托管服务(Cloudflare Tunnel、Ngrok、LocalTunnel) - 风险评分计算 - SAFE / SUSPICIOUS / PHISHING 判定结果 - 基于 Flask 的 Web 界面 - REST API 支持 - 使用 Pytest 进行单元测试 ## 使用技术 - Python - Flask - HTML - CSS - Pytest ## 项目结构 ``` phishing-url-detector/ │── app.py │── detector.py │── requirements.txt │── README.md │── templates/ │ └── index.html │── tests/ │ └── test_detector.py ``` ## 如何运行 1. 克隆此代码仓库 2. 安装依赖项 ``` pip install -r requirements.txt ``` 3. 运行应用程序 ``` python app.py ``` 4. 打开浏览器并访问 ``` http://127.0.0.1:5000 ``` ## 使用方法 ### Web 界面 将任意 URL 粘贴到输入框中,然后点击 **Analyze**(分析)。 ### 命令行 ``` python detector.py "http://instagram.com.verify-account.xyz/login" ``` ### REST API ``` curl -X POST http://127.0.0.1:5000/api/check \ -H "Content-Type: application/json" \ -d '{"url":"http://instagram.com.verify-account.xyz/login"}' ``` ### 运行测试 ``` python -m pytest tests/ -v ``` ## 工作流程 - 输入一个 URL - 点击 Analyze - 系统检查该 URL - 计算风险评分 - 显示最终判定结果 ## 工作原理 该应用程序使用多条安全规则来检查 URL。每触发一条规则都会累加特定的风险评分。根据最终得分,URL 将被分类为: | 评分 | 判定结果 | |-------:|---------| | 0 – 19 | SAFE | | 20 – 49 | SUSPICIOUS | | 50+ | PHISHING | 该应用程序还会显示触发的规则以及相应的风险评分,方便您了解 URL 被标记为可疑或钓鱼的原因。 ## 优势 - 易于使用 - 快速的 URL 分析 - 基于规则的检测 - 轻量级应用程序 ## 局限性 - 仅支持基于规则的检测 - 未使用 Machine Learning - 不在线验证 URL - 准确性取决于预定义的检测规则 ## 未来改进 - 浏览器扩展 - 检测历史记录 - 集成 Machine Learning - Google Safe Browsing API ## 作者 **Mohit Jagudi** - GitHub: [Mohit Jagudi](https://github.com/Mohit-Jagudi/) - LinkedIn: [Mohit Jagudi](https://www.linkedin.com/in/mohit-jagudi/)
标签:Flask, Python, REST API, 多模态安全, 无后门, 逆向工具, 钓鱼检测