harshada-2516/PhishGuard

GitHub: harshada-2516/PhishGuard

一款结合启发式分析与威胁情报 API 的钓鱼 URL 检测 Web 应用,通过多维度风险评估将 URL 分类为安全、可疑或钓鱼。

Stars: 0 | Forks: 0

# PhishGuard - 高级钓鱼检测应用 这是一款 Web 应用,通过结合前端和后端组件以及高级检测算法,帮助检测钓鱼 URL。 ## 功能 - 用于钓鱼检测的实时 URL 分析 - 多种高级检测方法: - 已知钓鱼域名数据库 - 可疑关键词分析 - 域名结构分析 - 使用 WHOIS 进行域名年龄验证 - PhishTank 数据库集成 - 可疑 TLD 检测 - 带有详细分析的风险评分系统 - 具有视觉反馈的用户友好界面 - 适用于所有设备的响应式设计 ## 技术栈 - **前端**:HTML, CSS, JavaScript - **后端**:Python Flask 与高级钓鱼检测 - **API**:PhishTank API(可选),WHOIS 查询 - **其他库**:Flask-CORS, python-whois, validators ## 安装说明 ### 前置条件 - Python 3.7 或更高版本 - pip(Python 包安装器) ### 安装 1. 克隆或下载此代码库 2. 导航至项目目录: cd PhishGuard1 3. 创建虚拟环境(推荐): python -m venv venv 4. 激活虚拟环境: - 在 Windows 上: venv\Scripts\activate - 在 macOS/Linux 上: source venv/bin/activate 5. 安装所需的包: pip install -r requirements.txt 6. (可选)在 `.env` 文件中配置 API 密钥以增强检测: - PhishTank API 密钥:在 https://www.phishtank.com/api_info.php 注册 - Google Safe Browsing API 密钥:在 https://developers.google.com/safe-browsing/v4/get-started 注册 ### 运行应用 1. 启动 Flask 服务器: python app.py 2. 打开 Web 浏览器并导航至: http://localhost:5000 ## API 端点 - `GET /` - 提供前端应用 - `GET /api/` - API 信息 - `GET /api/health` - 健康检查端点 - `POST /api/check-url` - URL 分析端点 ### POST /api/check-url **请求体:** ``` { "url": "https://example.com" } ``` **响应:** ``` { "status": "safe|suspicious|phishing", "score": 0-10, "url": "https://example.com", "checks": { "keyword_check": { "suspicious": true|false, "score": 0-10, "found_keywords": ["keyword1", "keyword2"], "details": "Description of the check" }, "domain_structure": { "suspicious": true|false, "score": 0-10, "issues": ["issue1", "issue2"], "details": "Description of the check" }, "domain_age": { "suspicious": true|false, "score": 0-10, "age_days": 45, "creation_date": "2023-01-01", "details": "Description of the check" }, "phishtank_check": { "suspicious": true|false, "score": 0-10, "details": "Description of the check" } } } ``` ## 工作原理 1. **关键词检查**:搜索钓鱼 URL 中常用的可疑关键词 2. **域名结构分析**:检查域名是否存在可疑模式,如 IP 地址、过多的点或可疑的 TLD 3. **域名年龄验证**:使用 WHOIS 数据检查域名年龄(较新的域名更为可疑) 4. **PhishTank 数据库检查**:与已知钓鱼网站的 PhishTank 数据库进行比对验证(需要 API 密钥) 应用会根据这些检查计算风险评分,并将 URL 分类为安全、可疑或钓鱼。 ## 用于测试的示例 URL - 安全:https://www.google.com - 可疑:https://login-verify-account.com - 钓鱼:https://paypal-secure-verify.com ## 配置 您可以通过修改 `config.py` 中的配置来自定义钓鱼检测: 1. **可疑关键词**:更新 `SUSPICIOUS_KEYWORDS` 列表 2. **可疑 TLD**:修改 `SUSPICIOUS_TLDS` 列表 3. **域名年龄阈值**:调整 `MIN_DOMAIN_AGE_DAYS` 4. **API 密钥**:在 `.env` 中添加 PhishTank 或 Google Safe Browsing API 密钥 ## 许可证 本项目仅供教育目的使用。对于关键应用,请务必手动验证结果。
标签:多模态安全, 数据可视化, 逆向工具