yasin786-my/Threat-Intelligence-System
GitHub: yasin786-my/Threat-Intelligence-System
面向安全运营场景的本地 SOC 仪表板,整合网络遥测采集、随机森林威胁分类与应用层 IP 封禁,适用于安全监控原型验证与培训。
Stars: 0 | Forks: 0
# Thread Intelligence 系统
一个本地优先的安全运营中心 (SOC) 仪表板,用于网络遥测、ML 辅助的威胁分类以及**仅限应用层**的 IP 封禁。它绝不会更改主机防火墙。
有关完整的安装和黑客马拉松演示说明,请参阅[设置和演示指南](docs/SETUP_AND_DEMO.md)。
```
Safe local generator / Scapy capture → Flask prediction pipeline → MongoDB
↓ ↕ Socket.IO
In-app block middleware ← React SOC dashboard
```
## 快速开始
### Docker(推荐)
```
docker compose up --build
```
打开 `http://localhost:5173`。演示凭据为 `admin / admin123` 和 `viewer / viewer123`。
### 本地开发
```
cd backend
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
python app.py
cd ../frontend
npm install
npm run dev
```
如果 MongoDB 未运行,后端将以完全填充的演示模式启动。提供 `MONGO_URI` 以持久化数据。
## 安全流量演示
模拟器会自动登录到本地演示 API。其硬安全防护仅接受环回/私有 Docker 网络目标,并且其合成源地址 (`10.240.0.42`) 与浏览器的环回请求不同,因此演示自动封禁功能不会锁定本地仪表板。
```
python scripts/safe_traffic_generator.py --attack
```
它向本地 `/api/predict` 端点发送遥测数据;它不会扫描或泛洪真实的网络目标。
## CIC-IDS2017 训练
从[加拿大网络安全研究所](https://www.unb.ca/cic/datasets/ids-2017.html)下载 CIC-IDS2017 CSV 流量数据,将所有下载的 CSV 或解压的文件夹放在 `dataset/` 下,然后运行:
```
pip install pandas
python ml/train_model.py dataset --max-rows-per-file 50000
```
该脚本会清理数值流,训练/评估 Random Forest,打印质量指标,并将模型存储在 `backend/models/cic_ids_rf.joblib`。在该工件被集成之前,运行时包含一个透明的基于规则的回退机制,以便立即可进行演示。
## API
除 `/health` 和 `/auth/login` 外,所有 `/api/*` 端点都需要 `Authorization: Bearer `。
| 方法 | 端点 | 用途 |
|---|---|---|
| POST | `/auth/login` | 获取带有角色的 JWT |
| GET | `/dashboard`, `/traffic`, `/alerts`, `/statistics` | 仪表板数据 |
| POST | `/predict` | 摄取/预测本地遥测数据 |
| GET/POST | `/blocked-ips`, `/block-ip` | 应用封禁管理 |
| POST | `/unblock-ip` | 管理员解封 |
| GET | `/attack-history`, `/reports/csv`, `/settings` | 分析/导出/配置 |
## 安全设计
Flask `before_request` 中间件会针对 `blocked_ips` 检查每个正常的应用程序请求,并为活动封禁返回所需的 `403` JSON payload。过期条目会自动停止拦截。此范围特意排除了主机级别的防火墙更改。
## 项目布局
`frontend/` Vite React 仪表板 · `backend/` Flask/Socket.IO API · `ml/` 训练 · `scripts/` 安全演示工具 · `dataset/` 本地数据集文件 · `docker-compose.yml` 部署。
## 未来改进
将训练好的工件集成到运行时特征映射中,添加经过身份验证的 Scapy 捕获工作线程、邮件提供商配置、定期的 PDF 报告、真正的容器健康探针以及经过审核的生产级用户存储。
## 许可证
MIT
标签:AMSI绕过, Apex, Flask, MongoDB, React, Syscalls, Ubuntu, 威胁检测, 安全运营中心, 机器学习, 网络映射, 请求拦截, 逆向工具