Rahul1613/AI-POWERED-PHISHING-DETECTION-ENGINE-ENTERPRISE-ACTIVE
GitHub: Rahul1613/AI-POWERED-PHISHING-DETECTION-ENGINE-ENTERPRISE-ACTIVE
一款结合机器学习、邮件头验证与威胁情报的企业级网络钓鱼检测和分析平台。
Stars: 1 | Forks: 0
# 🛡️ PhishGuard AI — 基于 AI 的钓鱼检测与威胁情报平台






**一款工业级、企业级的网络安全 Web 应用,结合了机器学习分类、邮件头验证和威胁情报遥测技术,用于分析和缓解网络钓鱼威胁向量。**
[技术面试指南](INTERVIEW_PREP.md) · [报告威胁 IOC](#) · [功能请求](#)
## 📸 功能概览
| 功能模块 | 技术重点 | 技术栈 |
|---|---|---|
| 🌐 **URL 钓鱼检测器** | 词法特征审计、品牌域名抢注检查、unicode 同形字分析 | Regex, RDAP whois, ML Model |
| 📧 **邮件威胁分析器** | SMTP 头部审计(SPF/DKIM/DMARC 对齐),NLP 正文紧迫性分析 | Express-validator, NLP rules |
| 🗃️ **威胁信誉查询** | 针对全球情报源进行实时的 IP、域名和哈希值检查 | VirusTotal, AbuseIPDB, PhishTank |
| 🤖 **AI 网络安全助手** | 具备上下文感知能力的事件分析报告和修复手册 | Ollama + Qwen 2.5 |
| 📊 **SOC 运营中心** | 滚动的 SIEM 控制台日志、Recharts 图表、地理定位威胁地图 | Zustand, Recharts |
| 🧩 **浏览器扩展 Mock** | 基于 Manifest V3 后台脚本拦截标签页更新的概念模型 | Chrome Extension APIs |
## 🏗️ 架构蓝图
```
project-root/
├── Dockerfile # Multi-stage production container setup
├── README.md # Core project documentation
├── INTERVIEW_PREP.md # SOC & AI Security interview guides
├── package.json # Project run control using concurrently
│
├── backend/ # Express.js REST API Server
│ └── src/
│ ├── app.js # Route mounting and security configuration
│ ├── controllers/ # Threat logic routing controllers
│ │ ├── urlController.js
│ │ ├── emailController.js
│ │ ├── threatController.js
│ │ ├── aiController.js
│ │ └── analyticsController.js
│ ├── routes/ # Express endpoint definitions
│ ├── middleware/ # Helmet headers, rate limiters, logging
│ ├── models/ # Mongoose threat history schema (Analysis.js)
│ ├── services/ # Core computation algorithms
│ │ ├── mlService.js # Child process wrapper + JS heuristics fallback
│ │ ├── whoisService.js # RDAP domain age querying
│ │ ├── threatIntelService.js # VirusTotal & AbuseIPDB client wrappers
│ │ └── ollamaService.js # Local LLM interaction service
│ └── ml/ # Machine Learning pipeline folder
│ ├── train.py # Synthetic URL training script
│ ├── predict.py # URL lexical inference parser
│ ├── phishing_model.pkl # Trained Random Forest model parameters
│ └── scaler.pkl # Standardized feature scaling coefficients
│
└── frontend/ # Vite + React Client Dashboard
└── src/
├── components/ # Reusable visualization widgets
│ ├── AIAssistant.jsx # Context-aware IR chatbot
│ ├── BrowserExtensionConcept.jsx # Manifest V3 browser extension mockup
│ └── MatrixBackground.jsx
├── pages/ # Route view handlers
│ ├── Home.jsx # Typosquatting sandbox search homepage
│ ├── UrlChecker.jsx # URL Risk Gauge deep scanning report
│ ├── EmailAnalyzer.jsx # Email SPF/DKIM validation & NLP profile
│ ├── ThreatIntel.jsx # Manual reputational search & IOC scrolling feed
│ ├── Dashboard.jsx # SIEM scrolling logs & geolocation threat maps
│ ├── About.jsx # Technology stack and MITRE ATT&CK mapping
│ └── NotFound.jsx
├── store/ # Zustand persisted state manager (useStore.js)
└── utils/ # Risk color configurations (helpers.js)
```
## 🚀 快速开始指南
### 前置条件
- **Node.js**: v20 或更高版本
- **Python**: v3.9 或更高版本(用于 ML 推理/训练)
- **Ollama**: 本地安装以执行 Qwen2.5(可选)
### 选项 A:本地开发设置
#### 1. 设置后端依赖并训练模型
```
cd backend
# 创建 Python 虚拟环境并安装 ML 要求
python3 -m venv venv
source venv/bin/activate
pip install scikit-learn numpy joblib
# 训练 Random Forest Classifier
python3 src/ml/train.py
# 安装 Node 后端库并启动服务器
npm install
npm run dev # API starts on http://localhost:5001
```
#### 2. 设置前端客户端
```
cd ../frontend
npm install
npm run dev # Web application opens on http://localhost:5173
```
#### 3. (可选)运行本地 AI 模型
```
# 本地拉取并服务模型
ollama pull qwen2.5
ollama serve
```
### 选项 B:Docker 部署(统一运行器)
要在生产沙箱中运行整个技术栈(Node、Python ML、已训练的分类器以及提供的客户端分发版):
```
docker build -t phishguard-ai .
docker run -p 5001:5001 --env-file=backend/.env phishguard-ai
```
## 📡 核心 API 规范
| 方法 | Endpoint | 描述 | Payload Schema |
|---|---|---|---|
| `POST` | `/api/url/scan` | 提交 URL 以进行深度 ML 和情报扫描 | `{"url": "http://paypal-verify-login.xyz"}` |
| `POST` | `/api/email/analyze` | 检查头部和内容的 NLP 触发器 | `{"headers": "...", "body": "...", "attachments": []}` |
| `POST` | `/api/threat/lookup` | 手动查询 VirusTotal/AbuseIPDB 信誉 | `{"target": "185.220.101.44", "type": "ip"}` |
| `GET` | `/api/threat/feed` | 列出全球 IOC 滚动情报源指标 | — |
| `GET` | `/api/analytics/stats` | 汇总日志以生成仪表板可视化图表 | — |
| `POST` | `/api/ai/chat` | AI 事件响应聊天顾问 | `{"message": "...", "context": "..."}` |
## 🔒 已实现的安全防护
- **故障安全 ML 回退**:如果环境中缺少 Python,服务器将切换到原生的 **Node.js 启发式分类器**,该分类器会模拟随机森林决策树参数。
- **OWASP HTTP 控制 (helmet.js)**:配置严格的 Content Security Policy 指令,通过 SSL 强制执行 HSTS,阻止点击劫持框架选项,并阻止 MIME 嗅探。
- **IP 速率限制**:express-rate-limit 将每个 IP 的扫描器请求限制为每 15 分钟 100 次,以防止服务耗尽。
- **Payload 安全**:将输入的 JSON 正文 payload 限制为 `10kb`,以防止缓冲区溢出/拒绝服务攻击。
## 🎓 简历与作品集亮点
复制并粘贴以下要点,以突出您的网络安全和软件工程成就:
- **端到端安全架构**:利用 React、Node.js Express、Python 和 MongoDB Atlas 构建了一个全栈 AI 驱动的钓鱼检测平台。
- **机器学习分类**:基于 URL 词法特征(子域名深度、TLD 信誉、数字比率)训练了 Scikit-Learn 随机森林分类器,实现了极高的分类准确率。
- **故障安全系统设计**:设计了一个混合后端系统,结合了用于 Python ML 脚本的子进程生成机制和原生的 JavaScript 启发式回退分类器,实现了 100% 的服务可用性。
- **威胁情报集成**:将 API endpoint 与 VirusTotal、AbuseIPDB、PhishTank 和 RDAP 域名注册记录对接,以汇总多源威胁遥测数据。
- **生成式 AI 工作流**:构建了连接本地 Ollama + Qwen LLM 服务器的提示词工程框架,以自动化生成具备上下文感知能力的事件报告。
- **现代 SOC 可视化**:设计了一个动态的安全运营中心面板,包含 Framer Motion、Recharts 图表、地理定位 SVG 地图以及滚动 SIEM 控制台警报。标签:AI风险缓解, Apex, MITM代理, Python, React, Syscalls, Web安全, 威胁情报, 开发者工具, 无后门, 机器学习, 网络安全, 自定义脚本, 蓝队分析, 请求拦截, 逆向工具, 钓鱼检测, 隐私保护