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, 反钓鱼, 同形异义字检测, 启发式分析, 品牌冒充, 域名情报, 文本分析, 文档结构分析, 无后门, 结构特征, 网络威胁, 网络安全, 轻量级工具, 逆向工具, 重定向行为, 钓鱼检测, 隐私保护, 风险评分