SabarishR08/ai-threat-detection-security-ops
GitHub: SabarishR08/ai-threat-detection-security-ops
一个集成多源威胁情报和AI分析的综合性安全运营平台,用于实时检测钓鱼URL、恶意邮件、二维码钓鱼和可疑日志活动。
Stars: 0 | Forks: 0
# AI威胁检测与安全运营
Port 5000"] Extension["🔌 Browser Extension
Chrome/Manifest V3"] API["📡 REST API
JSON Endpoints"] end subgraph "Flask Application Layer" Router["Flask Router
& Middleware"] SocketIO["WebSocket Manager
SocketIO"] Auth["Authentication
Session Handler"] end subgraph "Processing Engines" URLScanner["🔗 URL Scanner
threat_checker.py"] EmailScanner["📧 Email Scanner
email_scanner.py"] QRScanner["🔲 QR Scanner
QRishing Detection"] SOCAnalyzer["📊 SOC Log Analyzer
soc_analyzer.py"] end subgraph "Threat Intelligence Pipeline" VT["VirusTotal API
Malware & URLs"] GSB["Google Safe
Browsing API"] PhishTank["PhishTank API
Phishing DB"] AbuseIPDB["AbuseIPDB API
IP Reputation"] RDAP["RDAP Whois
Domain/IP Info"] end subgraph "AI & Analysis" Gemini["🤖 Google Gemini API
Fusion Scoring
& AI Analysis"] RiskScoring["Risk Calculation
Engine"] end subgraph "Data & Persistence" SQLiteDB["💾 SQLite Database
Threat Logs & Alerts"] URLCache["⚡ URL Cache
Performance Layer"] AlertQueue["📢 Alert Queue
Email Dispatch"] end subgraph "External Services" Gmail["Gmail API
Email Retrieval"] Brevo["Brevo Email
Alert Service"] end subgraph "Outputs & Notifications" Dashboard_Output["Real-time Alerts
CSV Export"] UserNotification["📧 Email Notifications
to Users"] end %% User Interfaces to Flask Dashboard -->|HTTP/WebSocket| Router Extension -->|POST/HTTP| Router API -->|HTTP Requests| Router %% Flask Layer Router -->|Route| SocketIO Router -->|Verify| Auth SocketIO -->|Live Updates| Dashboard %% Routing to Engines Router -->|URL Input| URLScanner Router -->|Email Trigger| EmailScanner Router -->|QR Image| QRScanner Router -->|Log Data| SOCAnalyzer %% Processing to Threat Intel URLScanner -->|Check URL| VT URLScanner -->|Check URL| GSB URLScanner -->|Check URL| PhishTank EmailScanner -->|Extract URLs| VT EmailScanner -->|Extract URLs| GSB QRScanner -->|Decode & Verify| VT SOCAnalyzer -->|IP/Domain Lookup| AbuseIPDB SOCAnalyzer -->|IP/Domain Lookup| RDAP %% Threat Intel to AI VT -->|Results| Gemini GSB -->|Results| Gemini PhishTank -->|Results| Gemini AbuseIPDB -->|Results| Gemini RDAP -->|Results| Gemini %% AI to Scoring Gemini -->|Analysis| RiskScoring RiskScoring -->|Score| SQLiteDB %% Caching URLScanner -->|Cache Hit/Miss| URLCache URLCache -->|Cached Data| Gemini %% Database & Alerts URLScanner -->|Log| SQLiteDB EmailScanner -->|Log| SQLiteDB QRScanner -->|Log| SQLiteDB SOCAnalyzer -->|Log| SQLiteDB %% External Services EmailScanner -->|Fetch Emails| Gmail AlertQueue -->|Send Alerts| Brevo %% Output SQLiteDB -->|Retrieve Logs| Dashboard_Output AlertQueue -->|Trigger| UserNotification RiskScoring -->|Update| Dashboard_Output %% Styling classDef userInterface fill:#4A90E2,stroke:#2E5C8A,color:#fff,stroke-width:2px classDef flaskLayer fill:#FF6B6B,stroke:#CC5555,color:#fff,stroke-width:2px classDef processing fill:#4ECDC4,stroke:#2BA39E,color:#fff,stroke-width:2px classDef threatIntel fill:#FFE66D,stroke:#CCB954,color:#333,stroke-width:2px classDef ai fill:#95E1D3,stroke:#6FB8A8,color:#333,stroke-width:2px classDef storage fill:#F38181,stroke:#C26B6B,color:#fff,stroke-width:2px classDef external fill:#AA96DA,stroke:#8770B8,color:#fff,stroke-width:2px classDef output fill:#FCBAD3,stroke:#CA959B,color:#333,stroke-width:2px class Dashboard,Extension,API userInterface class Router,SocketIO,Auth flaskLayer class URLScanner,EmailScanner,QRScanner,SOCAnalyzer processing class VT,GSB,PhishTank,AbuseIPDB,RDAP threatIntel class Gemini,RiskScoring ai class SQLiteDB,URLCache,AlertQueue storage class Gmail,Brevo external class Dashboard_Output,UserNotification output ``` 详细流程图请参阅[系统架构](docs/02-System-Architecture.md)。 ## 📚 文档 - **[API参考](docs/01-API-Reference.md)** — 完整的端点文档和请求/响应模式 - **[系统架构](docs/02-System-Architecture.md)** — 详细的系统设计和组件交互 - **[设置与安装](docs/03-Setup-Installation.md)** — 部署和配置指南 - **[安全功能](docs/04-Security-Features.md)** — 安全实现细节 - **[测试指南](docs/05-Testing-Guide.md)** — 单元测试、集成测试和端到端测试 - **[贡献指南](docs/06-Contributing.md)** — 开发指南 ## 🧪 测试 ### 运行所有测试 ``` cd backend pytest ``` ### 运行特定测试套件 ``` # 单元测试 pytest tests/unit/ # 集成测试 pytest tests/integration/ # 端到端测试 pytest tests/e2e/ # 调试测试 pytest tests/debug/ ``` ### 测试覆盖率 ``` pytest --cov=backend --cov-report=html ``` ### 持续集成 该项目使用GitHub Actions在每次推送和拉取请求时自动运行完整的测试套件。管道配置见`.github/workflows/ci.yml`。 详细测试步骤请参阅[测试指南](backend/tests/README.md)。 ## 📁 项目结构
## 🔐 安全注意事项
- **环境变量**:所有API密钥存储在`.env`中(永不提交)
- **数据库安全**:使用SQLite和查询参数化以防止SQL注入
- **身份验证**:设置页面需要密码验证
- **SSL/TLS**:支持生产环境部署中的HTTPS
- **速率限制**:保护API端点免受滥用
全面的安全文档请参阅[安全功能](docs/04-Security-Features.md)。
## 🎯 应用场景
### 1. 安全运营中心(SOC)
- 监控日志中的可疑活动
- 在AI辅助下分析安全事件
- 生成结构化威胁报告
### 2. 邮件安全网关
- 扫描传入邮件中的钓鱼内容
- 验证邮件正文中的URL
- 恶意内容警报
### 3. 基于浏览器的保护
- 浏览时实时URL验证
- 二维码扫描和验证
- 在接入点提供威胁情报
### 4. 事件响应
- 快速URL/IP信誉检查
- 历史日志分析
- 自动威胁分类
## 🛠️ 技术栈
**后端:**
- Python 3.11+
- Flask 3.0+(Web框架)
- SQLAlchemy(ORM)
- SQLite(数据库)
- Flask-SocketIO(实时更新)
**AI与情报:**
- Google Gemini API(AI分析)
- VirusTotal API(恶意软件检测)
- Google Safe Browsing API(URL安全)
- PhishTank API(钓鱼数据库)
- AbuseIPDB API(IP信誉)
- RDAP(域名/IP whois)
**前端:**
- HTML5 / CSS3
- JavaScript / Bootstrap
- Chart.js(数据可视化)
- Socket.io-client(实时更新)
**浏览器扩展:**
- Manifest V3
- Chrome API
## 工作流程示例
```
User Input (URL/Email/QR)
↓
Parser & Validator
↓
Threat Intelligence Check (VT, GSB, PhishTank, RDAP, AbuseIPDB)
↓
AI Fusion Analysis (Gemini API)
↓
Risk Score Calculation
↓
Database Logging
↓
Dashboard Update & Alert Generation
↓
User Notification
```
## 📝 配置
### 环境变量(.env)
```
# API 密钥
VIRUSTOTAL_API_KEY=your_vt_key
SAFEBROWSING_API_KEY=your_gsb_key
GEMINI_API_KEY=your_gemini_key
PHISHTANK_API_KEY=your_phishtank_key
ABUSEIPDB_API_KEY=your_abuseipdb_key
BREVO_API_KEY=your_brevo_key
# Gmail(可选)
GMAIL_SENDER_EMAIL=your_email@gmail.com
# 服务器
FLASK_ENV=development
SECRET_KEY=your_secret_key
```
## 📜 许可证
本项目基于MIT许可证授权 — 详见[LICENSE](LICENSE)文件。
## 👤 作者
**Sabarish R**
📧 sabarish.edu2024@gmail.com
🔗 [LinkedIn Profile](https://www.linkedin.com/in/sabarishr08)
## 📧 支持与联系
如有问题、问题报告或功能请求,请在GitHub上提交issue。








**一个威胁检测系统,用于分析日志和电子邮件以检测异常并使用先进的人工智能对威胁进行分类,包括网络钓鱼和二维码钓鱼检测。**
[功能特性](#features) • [快速开始](#quick-start) • [性能优化](#-performance-optimizations) • [API文档](#core-endpoints) • [架构设计](#architecture) • [测试指南](#testing)
## 📋 摘要
一个综合性的系统,用于分析日志和电子邮件、检测异常,并使用人工智能驱动的情报对威胁进行分类。该平台整合了多个威胁情报源和机器学习模型,以实时识别网络钓鱼攻击、恶意URL、二维码钓鱼尝试和可疑的日志活动。
## ⚡ 性能优化
### **系统整体提升10-50倍**
```
BEFORE → AFTER = IMPROVEMENT
─────────────────────────────────────────────────────
20% cache hits → 65-75% hits = 3-4x better
500ms latency → 300ms latency = 40% faster
100ms queries → 10ms queries = 10x faster
5-10s scans → 1.2-2s scans = 3-5x faster
Unbounded RAM → <500MB max = Controlled
```
### **5种高性能算法**
- ✅ **自适应LRU缓存与TTL** - 自动内存管理
- ✅ **布隆过滤器** - O(1)负查询(快100倍)
- ✅ **连接池化** - 复用HTTP连接(延迟降低40%)
- ✅ **批处理** - 分摊I/O(批量操作快50倍)
- ✅ **数据库索引** - 14个索引,查询速度提升10-200倍
### **实时监控**
- 📊 `GET /api/performance/health` - 系统状态
- 📈 `GET /api/performance/metrics` - 详细统计
- 💡 `GET /api/performance/recommendations` - 自动优化建议
- 🔧 `POST /api/performance/optimize` - 手动优化触发
### **性能优化入门**
1. **5分钟快速设置**:[GETTING_STARTED.md](GETTING_STARTED.md)
2. **快速参考**:[QUICK_REFERENCE.md](QUICK_REFERENCE.md)
3. **完整指南**:[docs/PERFORMANCE.md](docs/PERFORMANCE.md)
4. **详细说明**:[PERFORMANCE_INDEX.md](PERFORMANCE_INDEX.md)
## ✨ 核心功能
### 🔗 URL情报与威胁检测
- **统一管道**:多层威胁情报整合,包括VirusTotal、Google Safe Browsing、PhishTank、AbuseIPDB和RDAP
- **AI融合评分**:Google Gemini API集成,用于高级威胁分析和上下文推理
- **URL缓存**:优化的多级缓存系统,命中率达65-75%
- **实时验证**:即时URL状态检查和详细威胁分类
- **性能**:平均扫描时间1.2-2秒(对比基线5-10秒)
### 📧 邮件安全分析
- **Gmail集成**:自动从Gmail账户获取和分析邮件
- **钓鱼检测**:基于NLP的分类和URL验证管道
- **智能警报**:通过Brevo邮件服务自动发送警报
- **仪表板日志**:完整的审计跟踪和可搜索日志
### 🔲 二维码与二维码钓鱼检测
- **二维码解码与分析**:自动解码二维码图像并提交至VirusTotal
- **二维码钓鱼防护**:检测指向钓鱼网站的恶意二维码
- **恶意软件检测**:为检测到的威胁生成警报
### 📊 SOC与日志分析
- **基于规则的分析**:可疑日志活动的模式匹配
- **AI驱动的洞察**:Gemini API分析复杂安全事件
- **JSON结构化输出**:机器可读的威胁摘要
- **自动分类**:安全事件分类和严重性评分
### 🎨 实时仪表板与监控
- **实时威胁卡片**:实时威胁状态可视化
- **SocketIO更新**:实时套接字连接实现即时通知
- **高级日志记录**:支持CSV导出的综合活动日志
- **设置管理**:可配置的安全参数和API密钥
### 🔌 浏览器扩展集成
- **标签页活动监控**:捕获和记录危险的浏览事件
- **扩展Webhook**:从浏览器提交可疑URL
- **无缝集成**:包含Chrome扩展以提供用户级保护
## 🚀 快速开始
### 前置条件
- Python 3.11或更高版本
- pip包管理器
- 有效的API密钥:VirusTotal、Google Safe Browsing、Gemini、Brevo
- Gmail OAuth凭据(可选,用于邮件扫描)
### 安装
1. **克隆仓库并进入后端目录:**
cd backend
2. **创建并激活虚拟环境:**
python -m venv .venv
.venv\Scripts\activate # Windows
# source .venv/bin/activate # macOS/Linux
3. **安装依赖:**
pip install -r requirements.txt
4. **配置环境变量:**
# 复制示例配置
cp .env.example .env
# 编辑.env并添加您的API密钥
# 必需:VIRUSTOTAL_API_KEY、SAFEBROWSING_API_KEY、GEMINI_API_KEY、BREVO_API_KEY
5. **设置Gmail凭据(可选):**
# 将您的Gmail OAuth凭据放置在:
# backend/credentials/credentials.json
# 首次运行时将自动生成令牌
6. **初始化数据库并启动服务器:**
python app.py
7. **访问仪表板:**
在浏览器中打开 http://localhost:5000/dashboard
## 📡 核心API端点
| 方法 | 端点 | 描述 | 请求载荷 |
|--------|----------|-------------|---------|
| **POST** | `/check-url` | 统一URL威胁检查 | `{ "url": "https://...", "force_refresh": false }` |
| **POST** | `/api/threat_lookup` | 轻量级URL查询 | `{ "url": "https://..." }` |
| **POST** | `/email_scanner/api/scan` | 触发Gmail扫描与分析 | `{ "count": 10 }` |
| **POST** | `/api/scan-qr` | 扫描二维码图像 | 多部分表单:`qr_image` |
| **POST** | `/api/tab-activity` | 记录浏览器标签页活动 | `{ "url": "https://..." }` |
| **GET** | `/api/logs` | 获取威胁日志 | 查询参数:`?limit=50&offset=0` |
| **GET** | `/api/soc-analyzer` | SOC分析接口 | 不适用 |
## 🏗️ 系统架构
```
graph TB
subgraph "User Interfaces"
Dashboard["🎨 Web DashboardPort 5000"] Extension["🔌 Browser Extension
Chrome/Manifest V3"] API["📡 REST API
JSON Endpoints"] end subgraph "Flask Application Layer" Router["Flask Router
& Middleware"] SocketIO["WebSocket Manager
SocketIO"] Auth["Authentication
Session Handler"] end subgraph "Processing Engines" URLScanner["🔗 URL Scanner
threat_checker.py"] EmailScanner["📧 Email Scanner
email_scanner.py"] QRScanner["🔲 QR Scanner
QRishing Detection"] SOCAnalyzer["📊 SOC Log Analyzer
soc_analyzer.py"] end subgraph "Threat Intelligence Pipeline" VT["VirusTotal API
Malware & URLs"] GSB["Google Safe
Browsing API"] PhishTank["PhishTank API
Phishing DB"] AbuseIPDB["AbuseIPDB API
IP Reputation"] RDAP["RDAP Whois
Domain/IP Info"] end subgraph "AI & Analysis" Gemini["🤖 Google Gemini API
Fusion Scoring
& AI Analysis"] RiskScoring["Risk Calculation
Engine"] end subgraph "Data & Persistence" SQLiteDB["💾 SQLite Database
Threat Logs & Alerts"] URLCache["⚡ URL Cache
Performance Layer"] AlertQueue["📢 Alert Queue
Email Dispatch"] end subgraph "External Services" Gmail["Gmail API
Email Retrieval"] Brevo["Brevo Email
Alert Service"] end subgraph "Outputs & Notifications" Dashboard_Output["Real-time Alerts
CSV Export"] UserNotification["📧 Email Notifications
to Users"] end %% User Interfaces to Flask Dashboard -->|HTTP/WebSocket| Router Extension -->|POST/HTTP| Router API -->|HTTP Requests| Router %% Flask Layer Router -->|Route| SocketIO Router -->|Verify| Auth SocketIO -->|Live Updates| Dashboard %% Routing to Engines Router -->|URL Input| URLScanner Router -->|Email Trigger| EmailScanner Router -->|QR Image| QRScanner Router -->|Log Data| SOCAnalyzer %% Processing to Threat Intel URLScanner -->|Check URL| VT URLScanner -->|Check URL| GSB URLScanner -->|Check URL| PhishTank EmailScanner -->|Extract URLs| VT EmailScanner -->|Extract URLs| GSB QRScanner -->|Decode & Verify| VT SOCAnalyzer -->|IP/Domain Lookup| AbuseIPDB SOCAnalyzer -->|IP/Domain Lookup| RDAP %% Threat Intel to AI VT -->|Results| Gemini GSB -->|Results| Gemini PhishTank -->|Results| Gemini AbuseIPDB -->|Results| Gemini RDAP -->|Results| Gemini %% AI to Scoring Gemini -->|Analysis| RiskScoring RiskScoring -->|Score| SQLiteDB %% Caching URLScanner -->|Cache Hit/Miss| URLCache URLCache -->|Cached Data| Gemini %% Database & Alerts URLScanner -->|Log| SQLiteDB EmailScanner -->|Log| SQLiteDB QRScanner -->|Log| SQLiteDB SOCAnalyzer -->|Log| SQLiteDB %% External Services EmailScanner -->|Fetch Emails| Gmail AlertQueue -->|Send Alerts| Brevo %% Output SQLiteDB -->|Retrieve Logs| Dashboard_Output AlertQueue -->|Trigger| UserNotification RiskScoring -->|Update| Dashboard_Output %% Styling classDef userInterface fill:#4A90E2,stroke:#2E5C8A,color:#fff,stroke-width:2px classDef flaskLayer fill:#FF6B6B,stroke:#CC5555,color:#fff,stroke-width:2px classDef processing fill:#4ECDC4,stroke:#2BA39E,color:#fff,stroke-width:2px classDef threatIntel fill:#FFE66D,stroke:#CCB954,color:#333,stroke-width:2px classDef ai fill:#95E1D3,stroke:#6FB8A8,color:#333,stroke-width:2px classDef storage fill:#F38181,stroke:#C26B6B,color:#fff,stroke-width:2px classDef external fill:#AA96DA,stroke:#8770B8,color:#fff,stroke-width:2px classDef output fill:#FCBAD3,stroke:#CA959B,color:#333,stroke-width:2px class Dashboard,Extension,API userInterface class Router,SocketIO,Auth flaskLayer class URLScanner,EmailScanner,QRScanner,SOCAnalyzer processing class VT,GSB,PhishTank,AbuseIPDB,RDAP threatIntel class Gemini,RiskScoring ai class SQLiteDB,URLCache,AlertQueue storage class Gmail,Brevo external class Dashboard_Output,UserNotification output ``` 详细流程图请参阅[系统架构](docs/02-System-Architecture.md)。 ## 📚 文档 - **[API参考](docs/01-API-Reference.md)** — 完整的端点文档和请求/响应模式 - **[系统架构](docs/02-System-Architecture.md)** — 详细的系统设计和组件交互 - **[设置与安装](docs/03-Setup-Installation.md)** — 部署和配置指南 - **[安全功能](docs/04-Security-Features.md)** — 安全实现细节 - **[测试指南](docs/05-Testing-Guide.md)** — 单元测试、集成测试和端到端测试 - **[贡献指南](docs/06-Contributing.md)** — 开发指南 ## 🧪 测试 ### 运行所有测试 ``` cd backend pytest ``` ### 运行特定测试套件 ``` # 单元测试 pytest tests/unit/ # 集成测试 pytest tests/integration/ # 端到端测试 pytest tests/e2e/ # 调试测试 pytest tests/debug/ ``` ### 测试覆盖率 ``` pytest --cov=backend --cov-report=html ``` ### 持续集成 该项目使用GitHub Actions在每次推送和拉取请求时自动运行完整的测试套件。管道配置见`.github/workflows/ci.yml`。 详细测试步骤请参阅[测试指南](backend/tests/README.md)。 ## 📁 项目结构
**[⬆ 返回顶部](#ai-threat-detection--security-operations)**
标签:AI安全, AMSI绕过, Apex, Chat Copilot, Flask, Gemini API, Python, QRishing检测, SQLite, Web安全, 威胁情报, 威胁检测, 安全运营中心, 实时检测, 密码管理, 开发者工具, 异常检测, 恶意URL检测, 数据可视化, 无后门, 时间线生成, 机器学习, 网络信息收集, 网络安全, 网络映射, 蓝队分析, 逆向工具, 邮件安全, 钓鱼检测, 隐私保护