Ananyacodes/threat-intelligence
GitHub: Ananyacodes/threat-intelligence
一个基于机器学习的全栈威胁情报平台,将日志异常检测与威胁情报分析整合,提供从原始日志到结构化威胁报告的完整分析流程。
Stars: 0 | Forks: 0
# AI 威胁情报系统
一个全栈 AI 驱动的威胁检测与情报平台。
## 快速开始
```
# 1. 安装依赖
pip install -r requirements.txt
# 2. 生成 synthetic logs + 运行完整 pipeline
python main.py --gen
# 3. 启动 dashboard
python run_dashboard.py
# 打开 http://localhost:5000
```
## 项目结构
```
threat_intel_system/
├── core/
│ ├── generate_logs.py # Synthetic log generator
│ ├── preprocessor.py # Parse & clean logs
│ ├── feature_engineer.py # ML feature extraction
│ ├── anomaly_detector.py # Isolation Forest + One-Class SVM
│ └── alert_engine.py # Severity scoring + alert output
├── dashboard/
│ ├── app.py # Flask REST API
│ ├── visualiser.py # Plotly chart generators
│ ├── templates/ # HTML pages
│ └── static/ # CSS + JS
├── intelligence/
│ ├── clusterer.py # K-Means / DBSCAN
│ ├── classifier.py # Random Forest attack labeller
│ ├── threat_scorer.py # CVSS-style risk scoring
│ └── report_generator.py # Threat intelligence report
├── data/ # Generated logs + alert store
├── models/ # Saved .pkl model files
├── config.py # All thresholds & paths
├── main.py # CLI pipeline runner
└── run_dashboard.py # Flask server launcher
```
## CLI 用法
| 命令 | 作用 |
|---|---|
| `python main.py --gen` | 重新生成日志 + 完整流水线 |
| `python main.py` | 完整流水线(阶段 1 + 3) |
| `python main.py --phase 1` | 仅检测 + 告警 |
| `python main.py --phase 3` | 仅聚类 + 报告 |
| `python run_dashboard.py` | 启动 Flask 仪表盘 |
## 阶段
### 阶段 1 — 核心检测
- 读取系统日志 和网络日志
- 清洗和标准化数据(`preprocessor.py`)
- 提取 ML 特征(`feature_engineer.py`)
- 使用 **Isolation Forest** + **One-Class SVM** 集成模型检测异常
- 输出评分为 1-5 的告警及可操作建议
### 阶段 2 — 仪表盘
- Flask REST API(`/api/alerts`、`/api/stats`、`/api/charts`)
- 实时轮询 Web 仪表盘(每 8 秒刷新一次)
- 6 个 Plotly 图表:时间线、严重性甜甜圈图、攻击类型、Top IP、热力图、风险直方图
- “重新运行流水线”按钮,可从浏览器触发检测
### 阶段 3 — 威胁情报
- **K-Means + DBSCAN** 聚类以发现攻击活动
- **Random Forest** 分类器以标记攻击类型
- 每个告警的 **CVSS 风险评分**(0–10)
- 结构化威胁报告,包含 IOC、活动分析和优先级建议
## 独特之处
大多数学生安全项目止步于异常检测。本系统更进一步,将告警转化为分析师可直接使用的情报。
- **双数据模式**:支持合成攻击模拟和真实 Windows 日志收集。
- **检测到情报链**:一次运行即可从异常检测到活动聚类,再到风险评分报告。
- **可解释输出**:每个告警包含原因、严重性、置信度和缓解建议。
- **操作视图**:仪表盘 + API + JSON 报告,适用于演示、答辩和作品集展示。
- **分析师优先设计**:专注于可操作的优先级排序,而不仅仅是模型准确性。
### 核心流程
原始日志 → 特征工程 → 集成异常检测 → 告警评分 → 攻击聚类 → 风险分类 → 威胁报告。
## API 端点
| 方法 | 端点 | 描述 |
|---|---|---|
| GET | `/` | 仪表盘 UI |
| GET | `/report` | 威胁报告 UI |
| GET | `/api/alerts` | 最新告警 (JSON) |
| GET | `/api/stats` | 汇总统计 (JSON) |
| GET | `/api/charts` | 所有 Plotly 图表数据 |
| GET | `/api/report` | 完整威胁报告 (JSON) |
| POST | `/api/run_pipeline` | 触发重新检测 |
## 配置
编辑 `config.py` 以调整:
- `CONTAMINATION` — 预期异常比例(默认 8 %)
- `ANOMALY_SCORE_THRESHOLD` — 告警触发阈值(默认 0.55)
- `BRUTE_FORCE_FAILED_LOGINS` — 失败登录启发式规则(默认 5)
- `DOS_PACKETS_PER_SECOND` — DoS 启发式规则(默认 500 pps)
- `KMEANS_N_CLUSTERS` — 攻击聚类数量(默认 5)
标签:AI威胁情报, BurpSuite集成, CVSS评分, DBSCAN, Flask, HTTP/HTTPS抓包, Isolation Forest, K-Means聚类, One-Class SVM, PE 加载器, Plotly, Python, REST API, 合成数据生成, 威胁检测系统, 安全仪表盘, 安全报告生成, 密钥泄露防护, 异常检测, 态势感知, 插件系统, 攻击分类, 无后门, 无线安全, 机器学习安全, 特征工程, 网络安全, 网络安全审计, 逆向工具, 随机森林, 隐私保护, 风险评分