rishik1072/AI-threat-intel-platform
GitHub: rishik1072/AI-threat-intel-platform
集成多种机器学习模型与威胁情报API的钓鱼检测平台,提供实时分析、可解释风险评分和可视化仪表板。
Stars: 0 | Forks: 0
# AI 威胁情报与钓鱼检测平台
集成了集成 AI、可解释性、威胁情报、实时 UX 和以分析师为中心的工作流的现代钓鱼检测平台。
## 核心亮点
- 通过 **URL**、**域名** 和 **邮件文本** 检测钓鱼行为
- 输出:
- 预测结果:`phishing | safe`
- 置信度分数
- 风险等级:`low | medium | high`
- 威胁分数:`0..100`
- 集成检测:
- 使用 Random Forest 处理结构性 URL/域名信号
- NLP 分类器(默认为 TF-IDF,可选 DistilBERT embedding 后端)
- 可解释 AI:
- 主要原因
- 可疑文本高亮
- URL 特征重要性提示
- 可视化威胁分数因子分解
- 实时威胁情报集成:
- VirusTotal
- Google Safe Browsing
- 带有缓存的响应,在缺少 API key 时优雅降级为模拟情报
- 现代毛玻璃效果 (glassmorphism) 仪表板:
- 扫描、历史记录、分析页面
- 深色/浅色主题切换
- 实时防抖动 (debounced) 实时扫描
- 细腻的粒子与微交互打磨
- 内置分析师助手聊天机器人,提供自然语言解释
## 技术栈
- **后端**:Flask, SQLAlchemy, Flask-Limiter
- **机器学习**:scikit-learn (RF + LR),可选 `transformers` + `torch`
- **数据库**:SQLite
- **前端**:HTML/CSS/JS + Chart.js
- **导出**:JSON 和 PDF 报告
## 项目结构
- `app.py` - 应用入口 + 应用工厂 + 数据库初始化
- `api/` - REST 路由 (`/scan`, `/job`, `/history`, `/export`, `/chat`)
- `model/` - 训练包、集成逻辑、可解释性、可选 DistilBERT embeddings
- `utils/` - 扫描器编排、威胁情报提供商、验证、异步任务、聊天机器人
- `database/` - SQLAlchemy 模型和数据库对象
- `templates/` - Jinja 页面
- `static/` - CSS/JS 资产
## 安装说明
```
cd "/media/reven-8827/System Files/MY PROJECTS/ai_threat_intel_platform"
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python app.py
```
打开:[http://127.0.0.1:5000](http://127.0.0.1:5000)
## 环境变量
### 核心配置
- `HOST` (默认 `127.0.0.1`)
- `PORT` (默认 `5000`)
- `FLASK_DEBUG` (默认 `1`)
- `DATABASE_URL` (默认 `sqlite:///scans.db`)
### 威胁情报
- `VT_API_KEY` - VirusTotal API key
- `GSB_API_KEY` - Google Safe Browsing API key
如果未提供,系统将回退为确定性的模拟情报。
### NLP 后端
- `ENABLE_DISTILBERT=1` 以启用 DistilBERT embedding 分类器
- `DISTILBERT_MODEL_NAME` (默认 `distilbert-base-uncased`)
如果 DistilBERT 依赖项/模型不可用,将自动回退为 TF-IDF NLP。
## API 参考
### `POST /api/scan`
请求:
```
{
"input": "http://example.com/login",
"input_type": "auto",
"heavy": false
}
```
响应包含:
- `prediction`, `confidence`, `risk_level`, `threat_score`
- `reasons`, `highlights`
- `threat_intel`
- `score_breakdown`
### `GET /api/job/`
检查异步深度扫描任务状态并获取已完成的结果。
### `GET /api/history`
筛选器:
- `query`
- `risk`
- `prediction`
- `limit`, `offset`
### `GET /api/export/?format=json|pdf`
导出扫描结果。
### `POST /api/chat`
使用扫描结果推理的自然语言解释助手:
```
{
"scan_id": 123,
"message": "Why is this phishing?"
}
```
## 截图




## 测试与验证
推荐检查项:
```
python3 -m py_compile app.py api/routes.py utils/*.py model/*.py database/*.py
node -c static/app.js
```
手动冒烟测试:
- 扫描 URL/域名/邮件
- 确认实时输入扫描更新
- 确认威胁情报提供商面板
- 确认聊天机器人回复
- 确认历史记录 + 分析 + 导出
## 安全说明
- 服务端强制执行输入验证和类型标准化。
- 已启用基本的速率限制。
- 通过 `logs/app.log` 中的轮转文件日志启用日志记录。
- 对于生产环境,请设置强 `SECRET_KEY`,禁用调试,并使用反向代理进行前端部署。
- 我们可以设置 secret key
-
标签:AI安全, Apex, Chat Copilot, Flask, Python, 凭据扫描, 威胁情报, 开发者工具, 无后门, 机器学习, 逆向工具, 钓鱼检测