judyahmadd/phishing-url-analyzer

GitHub: judyahmadd/phishing-url-analyzer

一个使用启发式分析检测钓鱼 URL 的轻量级 CLI 工具,弥补仅依赖黑名单的不足。

Stars: 1 | Forks: 0

# PhishGuard — 钓鱼 URL 分析器 一个轻量级的命令行工具,使用启发式分析来检测 URL 中的钓鱼特征。与仅依赖黑名单、只能捕获*已知*威胁的工具不同,PhishGuard 通过分析 URL 的**结构特征**来识别钓鱼尝试——即使是最新的、未上报的威胁也能被检测到。 ## 为何选择 PhishGuard? 大多数钓鱼检测依赖已知恶意 URL 的数据库。问题在于:**每 11 秒就出现一个新的钓鱼网站**,黑名单根本跟不上。PhishGuard 采取了不同的方法,通过分析以下特征进行检测: - **URL 结构** — 长度、编码技巧、可疑字符 - **域名情报** — WHOIS 年龄、注册模式 - **SSL 证书** — 签发者、有效期、异常 - **品牌伪装** — 错拼域名和同形异义字检测 - **重定向行为** — 链长度、跨域跳转 每项检查都会为**风险评分(0–100)** 贡献分数,并给出明确结论:`SAFE`、`LOW RISK`、`SUSPICIOUS`、`DANGEROUS` 或 `CRITICAL`。 ## 安装 ``` git clone https://github.com/judyahmad/phishing-url-analyzer.git cd phishing-url-analyzer pip install -r requirements.txt ``` **要求:** Python 3.9+ ## 用法 ### 基本分析 ``` python analyzer.py https://example.com ``` ### JSON 输出 ``` python analyzer.py https://suspicious-site.com --json ``` ### 将报告保存到文件 ``` python analyzer.py https://suspicious-site.com -o report.json ``` ## 示例输出 ``` ____ _ _ _ ____ _ | _ \| |__ (_)___| |__ / ___|_ _ __ _ _ __ __| | | |_) | '_ \| / __| '_ \| | _| | | |/ _` | '__/ _` | | __/| | | | \__ \ | | | |_| | |_| | (_| | | | (_| | |_| |_| |_|_|___/_| |_|\____|\__,_|\__,_|_| \__,_| Phishing URL Analyzer v1.0 ╭─ PhishGuard Analysis Report ────────────────────────╮ │ Target: https://g00gle-login.secure-verify.tk │ │ Time: 2026-04-07 12:00:00 UTC │ ╰─────────────────────────────────────────────────────╯ ✗ URL Structure Analysis [45 pts] Suspicious TLD: .tk Suspicious keywords found: login, secure, verify Multiple hyphens in domain (2) ✗ Brand Similarity [30 pts] Resembles 'google' (95% match via character substitution) ⚠ Domain Information [20 pts] Domain is 12 days old — HIGH RISK ╭─ Final Verdict ─────────────────────────────────────╮ │ RISK SCORE: 78/100 — DANGEROUS │ ╰─────────────────────────────────────────────────────╯ ``` ## 退出代码 PhishGuard 为脚本和 CI/CD 集成返回有意义的退出代码: | 代码 | 含义 | |------|---------| | `0` | 安全(评分 ≤ 40) | | `1` | 可疑(评分 41–65) | | `2` | 危险(评分 > 65) | ## 项目结构 ``` phishing-url-analyzer/ ├── analyzer.py # CLI entry point ├── checks/ │ ├── __init__.py │ ├── url_structure.py # URL pattern analysis │ ├── domain_info.py # WHOIS lookup │ ├── ssl_check.py # Certificate inspection │ ├── brand_similarity.py # Typosquatting detection │ ├── redirect_chain.py # Redirect tracking │ └── scoring.py # Risk scoring engine ├── requirements.txt ├── LICENSE └── README.md ``` ## 使用场景 - **SOC 分析员** — 快速分类钓鱼报告中的可疑 URL - **IT 管理员** — 验证员工报告的链接 - **渗透测试人员** — 在评估期间分析钓鱼基础设施 - **安全自动化** — 通过 JSON 输出和退出代码集成到流水线中 ## 限制 - WHOIS 查询可能对某些 TLD 受限或被阻止 - SSL 检查需要访问目标的网络 - 品牌列表涵盖主要目标,但并非详尽无遗 - 这是一个启发式工具 — 不能替代威胁情报源 ## 许可证 MIT 许可证 — 详见 [LICENSE](LICENSE)。 ## 作者 **Judy Ahmad** — 网络安全专业人士 [judyahmad.com](https://judyahmad.com) · [GitHub](https://github.com/judyahmadd)
标签:Python, SSL证书分析, URL分析, WHOIS, 反钓鱼, 同形异义字检测, 启发式分析, 品牌冒充, 域名情报, 文本分析, 文档结构分析, 无后门, 结构特征, 网络威胁, 网络安全, 轻量级工具, 逆向工具, 重定向行为, 钓鱼检测, 隐私保护, 风险评分