harshith-tv/ts-url-analyzer
GitHub: harshith-tv/ts-url-analyzer
基于 Flask 构建的 Web 化批量 URL 调查仪表板,为信任与安全人员一站式完成钓鱼检测、WHOIS/DNS/SSL 查询、威胁情报比对与风险评分。
Stars: 1 | Forks: 0
# 🛡️ Trust & Safety URL 分析工具包
一款专为 Trust & Safety 专业人员设计的综合性基于 Web 的 URL 调查工具。在单一仪表板中分析大量 URL 的网络钓鱼指标、DNS 记录、HTTP 状态、威胁情报等信息。



## 🎯 功能
| 功能 | 描述 | 模式 |
|---------|-------------|------|
| **URL 去重** | 自动移除重复的 URL | 自动 |
| **域名排序** | 按域名对 URL 进行分组和排序 | 自动 |
| **DNS 解析** | 解析唯一域名的主机记录 | 按需 |
| **HTTP 状态检查** | 获取每个 URL 的响应代码 | 按需 |
| **网络钓鱼检测** | 基于启发式的钓鱼风险评分 | 按需 |
| **WHOIS 查询** | 域名注册详情和注册商信息 | 按需 |
| **SSL/TLS 检查** | 证书有效性、颁发者和过期时间 | 按需 |
| **域名年龄** | 标记新注册的域名(<30 天) | 按需 |
| **重定向链** | 跟踪直到最终 URL 的完整重定向路径 | 按需 |
| **GeoIP 映射** | 托管 IP 的地理位置 | 按需 |
| **域名仿冒检测** | 通过相似域名识别品牌冒充 | 按需 |
| **威胁情报** | 对照 VirusTotal、AbuseIPDB、PhishTank 进行检查 | 按需 |
| **风险评分** | 为每个 URL 汇总 0-100 的风险评分 | 按需 |
| **批量导出** | 将结果导出为 CSV、JSON 或 PDF | 按需 |
## 📸 仪表板预览
*包含统计卡片、图表和可排序结果表格的仪表板*
## 🚀 快速开始
### 前置条件
- Python 3.9+
- pip
### 安装说明
```
# Clone 仓库
git clone https://github.com/YOUR_USERNAME/ts-url-analyzer.git
cd ts-url-analyzer
# 创建 virtual environment
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# 安装依赖
pip install -r requirements.txt
# 运行应用程序
python app.py
```
在浏览器中打开 `http://localhost:5000`
### API 密钥(可选)
要使用威胁情报功能,请设置以下环境变量:
```
export VIRUSTOTAL_API_KEY="your_key_here"
export ABUSEIPDB_API_KEY="your_key_here"
```
可通过以下链接获取免费的 API 密钥:
- [VirusTotal](https://www.virustotal.com/gui/join-us)
- [AbuseIPDB](https://www.abuseipdb.com/pricing)
## 🏗️ 项目结构
```
ts-url-analyzer/
├── app.py # Flask application & API routes
├── analyzer/
│ ├── __init__.py
│ ├── url_processor.py # Dedup, sorting, parsing
│ ├── dns_checker.py # DNS resolution
│ ├── http_checker.py # HTTP status codes
│ ├── phishing_detector.py # Phishing heuristics
│ ├── whois_lookup.py # WHOIS & domain age
│ ├── ssl_checker.py # SSL/TLS certificate checks
│ ├── redirect_tracker.py # Redirect chain following
│ ├── geoip_lookup.py # GeoIP resolution
│ ├── threat_intel.py # VirusTotal, AbuseIPDB integration
│ ├── typosquat_detector.py # Brand impersonation detection
│ └── risk_scorer.py # Aggregate risk scoring
├── static/
│ ├── css/
│ │ └── style.css
│ └── js/
│ └── app.js
├── templates/
│ └── index.html
├── requirements.txt
└── README.md
```
## 🔧 API 端点
| 方法 | 端点 | 描述 |
|--------|----------|-------------|
| POST | `/api/process` | 去重并排序 URL |
| POST | `/api/dns` | 域名的 DNS 解析 |
| POST | `/api/http-status` | HTTP 状态检查 |
| POST | `/api/phishing` | 网络钓鱼分析 |
| POST | `/api/whois` | WHOIS 查询 |
| POST | `/api/ssl` | SSL 证书检查 |
| POST | `/api/redirects` | 重定向链跟踪 |
| POST | `/api/geoip` | GeoIP 查询 |
| POST | `/api/threat-intel` | 威胁情报检查 |
| POST | `/api/typosquat` | 域名仿冒检测 |
| POST | `/api/full-analysis` | 运行所有检查 |
| POST | `/api/export` | 导出结果(CSV/JSON/PDF) |
## 📄 许可证
本项目基于 MIT 许可证授权 - 详情请参阅 [LICENSE](LICENSE) 文件。
## ⚠️ 免责声明
本工具仅供合法的 Trust & Safety 调查目的使用。在进行 URL 调查时,请始终遵守您所在组织的政策和适用的法律法规。
标签:Elastic, Flask, Python, URL分析, 威胁情报, 开发者工具, 无后门, 逆向工具, 配置审计, 钓鱼检测