hejiaying50-commits/darksec-threat-intelligence-platform
GitHub: hejiaying50-commits/darksec-threat-intelligence-platform
一个基于 CICIDS2017 数据集的端到端网络威胁情报分析平台,涵盖数据清洗、机器学习攻击分类和 SOC 可视化仪表板。
Stars: 0 | Forks: 0
# DarkSec 威胁情报平台
DarkSec 威胁情报平台是一个基于 CICIDS2017 / 网络入侵数据集构建的、可直接用于作品集的网络安全分析项目。它结合了数据清洗、探索性威胁分析、基于机器学习的攻击分类,以及由 Streamlit 驱动的 SOC 仪表板,用于安全态势监控和交互式预测。
## 项目简介
本项目旨在模拟用于网络安全分析的实用威胁情报工作流。它可以帮助用户探索攻击流量模式,识别高风险类别,比较正常流量与恶意流量,并在仪表板环境中实际应用模型预测。
## 项目架构
```
DarkSec-Threat-Intel/
|-- data/
| |-- raw/
| `-- cleaned/
|-- notebooks/
| `-- 01_eda_analysis.ipynb
|-- src/
| |-- data_cleaning.py
| |-- feature_engineering.py
| |-- train_model.py
| `-- evaluate_model.py
|-- dashboard/
| `-- streamlit_app.py
|-- models/
|-- reports/
|-- README.md
`-- requirements.txt
```
## 技术栈
- Python
- Pandas
- NumPy
- Scikit-learn
- XGBoost
- Plotly
- Streamlit
- Joblib
- Matplotlib
## 数据集来源
- Kaggle: CICIDS2017 / 网络入侵数据集
- 将下载的 CSV 文件放入 `data/raw/`
该仓库已针对 CICIDS 风格的流量标签(如 `BENIGN`、`DDoS`、`PortScan`、`Bot`、`FTP-Patator` 和 `SSH-Patator`)进行了准备。
## 安装
```
pip install -r requirements.txt
```
## 使用说明
1. 将一个或多个数据集 CSV 文件放入 `data/raw/`
2. 运行数据清洗
3. 训练模型
4. 启动仪表板
### 数据清洗
```
python src/data_cleaning.py
```
可选的采样模式:
```
python src/data_cleaning.py --sample-size 50000
```
### 模型训练
```
python src/train_model.py
```
### 模型评估
```
python src/evaluate_model.py
```
## 启动 Streamlit
```
streamlit run dashboard/streamlit_app.py
```
## 截图存放位置
推荐的截图目录:
- `docs/dashboard-home.png`
- `docs/attack-distribution.png`
- `docs/prediction-panel.png`
添加截图后,请在此 README 中引用它们,以获得更好的 GitHub 展示效果。
## 项目亮点
- 自动读取 `data/raw/` 中的所有 CSV 文件
- 清理空格、重复项、缺失值和无穷大值
- 自动检测标签列
- 同时支持二分类和多分类
- 使用 RandomForest 作为稳健的基线,并在可用时使用 XGBoost
- 使用 Joblib 保存可重复使用的模型工件
- 提供 SOC 风格的 Streamlit 仪表板,包含 KPI 卡片、图表和 CSV 上传预测功能
- 包含针对推理期间 schema 不匹配的防御性错误处理
## 简历项目描述
标签:Apex, Kubernetes, Python, 代码示例, 威胁情报, 开发者工具, 数据分析, 无后门, 机器学习, 网络安全, 逆向工具, 隐私保护