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, 反欺诈, 反钓鱼, 多智能体系统, 多模态安全, 数据可视化, 逆向工具