MDB1995/intrusion-detection-xai
GitHub: MDB1995/intrusion-detection-xai
结合 SHAP 可解释 AI 与 Claude LLM 报告生成的网络入侵检测系统,帮助 SOC 分析师快速理解并研判网络攻击。
Stars: 0 | Forks: 0
# 🛡️ 结合可解释 AI 的网络入侵检测系统
这是一款基于 AI 的网络入侵检测系统,结合了机器学习、
可解释 AI (SHAP)、LLM 生成的安全报告以及基于 RAG 的威胁
情报 —— 直接灵感来源于延雪平大学的 **AI-REASON 项目**。
## 🎯 项目概述
该系统实现了 AI-REASON 的三个核心目标:
- **更快的决策** — 毫秒级 ML 网络连接预测
- **可靠的评估** — 99.97% 的准确率,精确率和召回率达到 1.00
- **可解释的输出** — 结合 SHAP + LLM + RAG 进行综合分析
## 🏗️ 四层架构
| 架构层 | 技术 | 目的 |
|---|---|---|
| **检测** | Random Forest | 区分正常流量与攻击流量 |
| **可解释性** | SHAP TreeExplainer | 全局 + 局部特征重要性 |
| **交互** | Claude LLM API | 生成易读的安全报告 |
| **威胁情报** | RAG + MITRE ATT&CK | 基于情报的威胁分析 |
## ✨ 功能
- ✅ 网络入侵检测 — 准确率高达 99.97%
- ✅ SHAP 可解释性 — 包含柱状图、蜂群图和瀑布图
- ✅ Claude LLM 安全报告 — 为 SOC 分析师生成通俗易懂的报告
- ✅ RAG 系统 — 结合 ChromaDB 与 MITRE ATT&CK 框架
- ✅ 合成数据生成 — 使用 CTGAN 生成罕见的攻击样本
- ✅ 异常检测 — 使用 Isolation Forest 检测未知攻击
- ✅ 事件优先级评分 — CRITICAL/HIGH/MEDIUM/LOW
- ✅ 分析师反馈系统 — 使用 SQLite 数据库支持 HCT 研究
- ✅ 多页 Streamlit Web 应用程序
## 📊 数据集
- **KDD Cup 1999** — 包含 494,020 条真实网络连接
- **500 个合成样本** — 通过 CTGAN 生成
- 每个连接包含 **41 个特征**
- **22 种攻击类型** — DoS、Probe、R2L、U2R
## 📁 项目结构
intrusion-detection-xai/
├── main.py # ML pipeline + SHAP + RAG
├── explain.py # SHAP 函数 + Claude LLM
├── rag_explain.py # RAG + MITRE ATT&CK 系统
├── synthetic.py # CTGAN 合成数据
├── app.py # Streamlit 主页
├── pages/
│ ├── 1_Analysis.py # 主分析仪表板
│ ├── 2_Assistant.py # AI 聊天机器人
│ ├── 3_About.py # 项目信息
│ └── 4_Feedback.py # 分析师反馈与统计
├── .env # API 密钥(未上传)
└── .gitignore
## 🚀 环境配置
安装依赖项:
```
pip install pandas numpy scikit-learn shap matplotlib streamlit
pip install anthropic python-dotenv chromadb sentence-transformers ctgan joblib
```
创建 `.env` 文件:
ANTHROPIC_API_KEY=your-key-here
运行 pipeline:
```
python main.py
```
启动 Web 应用:
```
streamlit run app.py
```
## 📈 结果
| 指标 | 分数 |
|---|---|
| Accuracy | 99.97% |
| Precision | 1.00 |
| Recall | 1.00 |
| F1-Score | 1.00 |
## 🔬 研究对齐 — AI-REASON
| AI-REASON 要求 | 我的实现 |
|---|---|
| 行为分析 | 基于对 97,277 条正常连接的训练 |
| 结合规则与 AI | Random Forest + SHAP + RAG |
| 可解释 AI | 具备数学保证的 SHAP |
| 事件优先级划分 | CRITICAL/HIGH/MEDIUM/LOW 评分 |
| SOC 分析师支持 | LLM 生成通俗易懂的报告 |
| 以人为本的设计 | 使用 SQLite 构建的反馈系统 |
## 🔮 未来博士研究方向
- 工业协议 — Modbus、DNP3、OPC-UA
- 使用 Zeek/Suricata 进行实时流处理
- 全面集成 MITRE ATT&CK API(涵盖 700 多种技术)
- 针对工业数据隐私的本地 LLM
- 与 Dizparc SOC 分析师共同进行人工评估
- XAI 忠实度评估框架
## 👨💻 开发者
**Modhubroty Dey Barnile**
应用计算机科学硕士 · 人工智能硕士
为 **AI-REASON 项目**演示而开发 — 延雪平大学
标签:Apex, DLL 劫持, Kubernetes, 可解释AI, 大语言模型, 威胁情报, 开发者工具, 机器学习, 网络安全, 逆向工具, 隐私保护