bhuvanvokkaliga29/phish-ai-guard
GitHub: bhuvanvokkaliga29/phish-ai-guard
一个基于多智能体加权集成架构的AI辅助钓鱼与欺诈检测平台,可对钓鱼邮件、恶意URL和AML金融欺诈进行综合风险评分与攻击分类。
Stars: 1 | Forks: 0
# 🛡️ PhishAI Guard
## AI 辅助的钓鱼与欺诈检测平台
## 🏗️ 系统架构
```
┌─────────────────────────────────────────────────────────┐
│ PhishAI Guard Platform │
├─────────────────────────────────────────────────────────┤
│ Frontend (HTML/CSS/JS) │ Python Flask API Server │
│ ───────────────────── │ ────────────────────── │
│ • Dark Cyberpunk UI │ POST /api/analyze │
│ • Live URL checker │ GET /api/history │
│ • Real-time progress │ GET /api/stats │
│ • Score ring animation │ GET /api/test-cases │
│ • History & mini charts │ GET /health │
├─────────────────────────────────────────────────────────┤
│ Multi-Agent AI Orchestrator │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ KeywordNLP │ │URLIntelligen │ │EmailHeader │ │
│ │ Agent ×1.4 │ │ce Agent ×1.6 │ │Agent ×1.2 │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │AMLTransaction│ │Behavioral │ │ThreatIntel │ │
│ │Agent ×1.5 │ │Entropy ×0.9 │ │Agent ×1.3 │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
│ Weighted Ensemble Scorer │
│ Attack Classification Engine │
│ Explainability Generator │
└─────────────────────────────────────────────────────────┘
```
## 🤖 Agent Pipeline
### Agent 1: KeywordNLP Agent (权重 ×1.4)
分析文本中的钓鱼关键词、紧迫性用语、品牌冒充和语法模式。
**特征提取:**
- 4 级关键词分类体系(严重/高/中/低)
- 7 种正则表达式紧迫性模式
- 12 个品牌冒充目标
- 语法异常检测(非母语钓鱼者模式)
- 滥用感叹号评分
### Agent 2: URLIntelligence Agent (权重 ×1.6)
分析 URL 的结构异常和威胁指标。
**特征提取:**
- HTTP 与 HTTPS 检测
- 可疑 TLD 数据库(17 个高风险 TLD)
- IP 作为域名检测
- 域名的 Shannon 熵分析
- 同形异义词/punycode 攻击检测
- URL 缩短服务识别
- 重定向链检测
- 子域名深度分析
### Agent 3: EmailHeader Agent (权重 ×1.2)
验证邮件发件人的真实性。
**特征提取:**
- 用于域名错拼(typosquatting)的 Levenshtein 距离(例如,`paypa1.com` 与 `paypal.com`)
- 免费邮箱与官方用语不匹配
- 自动生成邮箱模式检测
- DKIM/SPF/DMARC 验证(如果提供了邮件头)
- Reply-To 不匹配检测
### Agent 4: AMLTransaction Agent (权重 ×1.5)
使用基于 AML(反洗钱)的规则集检测金融欺诈。
**特征提取:**
- CTR 阈值检查(10,000 美元)
- 结构化/拆分(Structuring/smurfing)检测(9,000–10,000 美元范围)
- SAR 级别检测(5,000 美元以上)
- 整数金额启发式分析
- 交易频率分析
- 分层模式(Layering pattern)检测(高金额 × 高频率)
- AML 典型分类(Structuring, Layering, Integration)
### Agent 5: BehavioralEntropy Agent (权重 ×0.9)
分析文本熵和行为模式。
**特征提取:**
- 文本 Shannon 熵计算
- 词语重复频率分析
- 链接文本比(钓鱼密度)
- 特殊字符密度
- 句子长度分布
- 滥用大写字母检测
- PII 窃取尝试模式(SSN、CVV、PIN、DOB 等)
### Agent 6: ThreatIntelligence Agent (权重 ×1.3)
与已知的威胁数据库进行匹配。
**特征提取:**
- IOC(妥协指标)模式匹配
- 已知钓鱼活动指纹识别
- 内容 MD5 指纹识别
- 国家代码来源风险评分
- 活动关联(COVID、经济刺激、IRS、物流诈骗)
## 📊 评分模型
```
# 加权集成公式
weighted_score = Σ(agent_score × agent_weight) / Σ(weights)
# 基于置信度的加权提升
boost = Σ(score × 0.1 for agents where confidence > 80% and score > 50%)
final = clamp(weighted_score + boost × 0.3, 0, 1)
# 风险等级
0–19 → Safe (green)
20–39 → Low Risk (lime)
40–59 → Suspicious (yellow)
60–79 → High Risk (orange)
80–100 → Critical (red)
```
### 攻击分类
该系统输出 6 种攻击类型的概率分数:
- **钓鱼邮件** — 关键词 + 邮件 + URL 信号
- **URL/链接欺诈** — URL + 威胁情报信号
- **金融欺诈 (AML)** — 交易信号
- **社会工程学** — 关键词 + 熵信号
- **品牌冒充** — 邮件 + 威胁情报信号
- **恶意软件分发** — URL + 熵信号
## 🚀 快速开始
### 选项 1:Python 服务器(完整 AI Pipeline)
```
# 克隆或解压项目
cd phishai-guard
# 安装依赖项
pip install -r requirements.txt
# 启动服务器
python api/server.py
# 打开浏览器
open http://localhost:5000
```
### 选项 2:纯静态(本地 Fallback 引擎)
只需在任何浏览器中直接打开 `index.html` 即可。
JavaScript fallback 引擎将在本地运行,无需 Python。
## ☁️ 部署指南
### 在 Render 上部署(免费,Python 推荐)
1. 推送到 GitHub
2. 前往 [render.com](https://render.com) → New Web Service
3. 连接仓库
4. 构建命令:`pip install -r requirements.txt`
5. 启动命令:`python api/server.py`
6. 完成!系统将提供免费的 HTTPS URL。
### 在 Vercel 上部署(静态 + Serverless)
```
npm install -g vercel
# 在项目根目录中
vercel
# 用于本地开发
vercel dev
```
注意:对于 Vercel,Python 后端需要适配为 serverless 函数
(Node.js 版本请参见 `/api/analyze.js`)。
### 在 Railway 上部署
```
# 安装 Railway CLI
npm install -g @railway/cli
railway login
railway init
railway up
```
## 📁 项目结构
```
phishai-guard/
│
├── index.html # Main UI
├── requirements.txt # Python dependencies
├── README.md
│
├── static/
│ ├── css/
│ │ └── style.css # Cyberpunk dark theme
│ └── js/
│ └── app.js # Frontend logic + fallback engine
│
├── agents/
│ ├── __init__.py
│ └── orchestrator.py # All 6 AI agents + ensemble
│
└── api/
└── server.py # Flask REST API
```
## 🧪 测试用例
### 1. 钓鱼邮件
```
{
"text": "URGENT: Your PayPal account has been suspended! Verify immediately!",
"url": "http://paypa1-secure-verify.xyz/login",
"sender_email": "security@paypa1-accounts.xyz"
}
```
**预期:** 分数 70-90,级别:高风险/严重
### 2. AML 交易
```
{
"transaction": { "amount": 9500, "frequency": 8 },
"sender_email": "finance@offshore-holdings.ru"
}
```
**预期:** 分数 60-80,级别:高风险,分类:Structuring
### 3. 合法邮件
```
{
"text": "Hi, please review the Q3 report.",
"url": "https://docs.google.com/spreadsheets/d/abc123",
"sender_email": "sarah.jones@company.com",
"transaction": { "amount": 250, "frequency": 1 }
}
```
**预期:** 分数 0-20,级别:安全
## ⚠️ 局限性
1. **基于规则的评分** — 不是训练过的 ML 模型;可能会出现误报
2. **无实时威胁信息源** — 模拟的 IOC 数据库
3. **无 WHOIS/DNS 查询** — URL 分析仅限于结构层面
4. **无邮件头解析** — 邮件头分析需要原始邮件头
5. **交易上下文** — 没有针对每个用户的历史基准
## 🔮 未来改进
| 功能 | 技术 |
|---------|-----------|
| 训练过的 ML 分类器 | 在 PhishTank 数据集上使用 XGBoost / LightGBM |
| 实时 IOC 信息源 | VirusTotal API, AbuseIPDB |
| 基于 BERT 的 NLP | HuggingFace transformers |
| WHOIS / DNS 查询 | python-whois, dnspython |
| 邮件头解析器 | email.parser stdlib |
| 用户基线分析 | Redis time-series |
| 基于图的 AML | NetworkX + Neo4j |
| SHAP 可解释性 | shap 库 |
## 👨💻 开发者
**Bhuvan Vokkaliga** — AI 与 ML 工程师,全栈开发者
AMC Engineering College, Bengaluru | Webi 创始人
GitHub: [bhuvanvokkaliga29](https://github.com/bhuvanvokkaliga29)
## 📄 许可证
MIT License — 可免费使用、修改和部署。
标签:AI应用, Flask, PyRIT, 反欺诈, 反钓鱼, 多智能体系统, 多模态安全, 数据可视化, 逆向工具