Gajendra7096/PhishingDetector-
GitHub: Gajendra7096/PhishingDetector-
一个完全离线、基于自定义规则的终端钓鱼检测工具,能在无网络环境下对 URL、邮件头和二维码进行多维度的风险分析。
Stars: 1 | Forks: 0
# 离线智能钓鱼检测系统
一个完全离线的基于终端的网络安全应用程序,使用自定义的基于规则的逻辑来检测钓鱼攻击。无需机器学习,无需网络连接,不进行外部 API 调用。
## 功能
- **URL 分析** — 提取组件,评估风险,检测 20 多种钓鱼指标
- **邮件头分析** — 解析 `.eml` 文件,检查 SPF/DKIM/DMARC,检测欺骗
- **二维码分析** — 解码二维码图像并自动扫描提取的 URL
- **域名信息** — 离线 DNS、SSL 和 TLD 分析
- **基于规则的引擎** — 具有加权评分的自定义检测规则
- **报告** — 生成 PDF (ReportLab)、CSV 和 JSON 报告
- **分析历史** — 由 SQLite 支持的持久化历史记录
- **精美的终端 UI** — 由 Rich 驱动的仪表板,包含面板、表格和进度条
## 环境要求
- Python 3.12+
- pip
## 安装
```
# 克隆或下载项目
cd PhishingDetector
# 安装依赖
pip install -r requirements.txt
```
**注意:** 要解码二维码,您可能还需要 `zbar` 系统库:
- Linux: `sudo apt install zbar-tools`
- macOS: `brew install zbar`
- Windows: 已包含在 `pyzbar` wheel 中
## 使用方法
### 交互模式
### 1. 克隆仓库
```
git clone https://github.com/Gajendra7096/PhishingDetector.git
cd PhishingDetector
```
### 2. 安装用于二维码解码的系统依赖
```
# Kali / Debian / Ubuntu
sudo apt update && sudo apt install -y libzbar0
# macOS (Homebrew)
brew install zbar
```
### 3. 创建并激活虚拟环境
```
python3 -m venv venv
source venv/bin/activate
```
### 4. 安装 Python 依赖
```
pip install -r requirements.txt
```
### 5. 运行应用程序
```
python app.py
```
使用键盘导航菜单:
1. 分析 URL
2. 分析邮件头
3. 分析二维码
4. 域名信息
5. 查看分析历史
6. 生成报告
7. 统计仪表板
8. 设置
9. 关于
10. 退出
### 命令行模式
```
# 快速 URL 分析
python app.py --url "https://example.com"
# 快速 email 分析
python app.py --email suspicious.eml
# 快速 QR 分析
python app.py --qr qr_code.png
# Domain 信息
python app.py --domain example.com
# 查看历史记录
python app.py --history
# 生成报告
python app.py --report pdf
python app.py --report csv
python app.py --report json
```
## 项目结构
```
PhishingDetector/
├── app.py # Entry point
├── menu.py # Interactive menu
├── dashboard.py # Statistics dashboard
├── config.py # Configuration
├── database.py # SQLite database layer
├── logger.py # Logging setup
├── requirements.txt
├── README.md
├── detector/
│ ├── rule_engine.py # Detection rules engine
│ ├── url_analyzer.py # URL analysis
│ ├── email_analyzer.py # Email header analysis
│ ├── qr_analyzer.py # QR code analysis
│ ├── domain_info.py # Domain information
│ └── risk_score.py # Risk scoring
├── reports/
│ ├── pdf_report.py # PDF generation (ReportLab)
│ ├── csv_export.py # CSV export
│ └── json_export.py # JSON export
├── database/
│ └── phishing.db # SQLite database (auto-created)
├── uploads/ # Uploaded files
├── history/ # Generated reports
└── logs/ # Application logs
```
## 安全性
- 安装后完全离线 — 不会有任何数据离开您的设备
- 没有机器学习模型或外部 API 调用
- 验证所有输入,防止路径遍历
- 从不执行上传的文件
- 用于教育和提高安全意识的防御性网络安全工具
## 检测规则(20+)
- 过长的 URL,过多的点,过多的子域名
- IP 地址 URL,Punycode 检测
- 十六进制/URL 编码检测
- 过多的特殊字符
- 可疑关键词 (login, verify, update, secure, account, banking 等)
- 短链接服务检测 (bit.ly, tinyurl 等)
- 重定向符号
- 可疑的文件扩展名
- 缺少 HTTPS
- 可疑的 TLD (.tk, .ml, .ga, .xyz, .top 等)
- 高熵检测
- 多重编码技术
## 许可证
MIT 许可证 — 仅用于教育和防御目的
## 📜 免责声明
本工具仅供**教育和授权测试目的**使用。它不执行任何攻击性操作,不存储任何凭据,也不进行任何网络调用。作者对任何滥用行为不承担责任。在分析非您本人的任何系统、邮件或 URL 之前,请务必确保您已获得明确授权。
标签:IP 地址批量处理, Python, 云计算, 安全分析工具, 无后门, 终端UI, 规则引擎, 逆向工具, 邮件安全, 钓鱼检测