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, 代码示例, 威胁情报, 开发者工具, 数据分析, 无后门, 机器学习, 网络安全, 逆向工具, 隐私保护