Rohith-Ramamoorthy-2000/Threat_intelligence_chatbot
GitHub: Rohith-Ramamoorthy-2000/Threat_intelligence_chatbot
基于 RAG 架构、使用 MITRE ATT&CK 知识库的威胁情报问答聊天机器人,通过语义检索与大语言模型为网络安全问题提供上下文准确的解答。
Stars: 0 | Forks: 0
# 威胁情报聊天机器人
# Gen AI-Lab:3
# 团队成员:
Rohith, Vishruta, Bertilla
# 使用 RAG 的威胁情报聊天机器人
## 概述
本项目是一个基于检索增强生成 (RAG) 开发的 AI 驱动的威胁情报聊天机器人。该聊天机器人使用 MITRE ATT&CK Enterprise 数据集作为网络安全知识库,并为网络安全相关问题提供智能解答。
该系统结合了语义搜索、向量数据库和大型语言模型 (LLM),以生成基于上下文的威胁情报响应。
## 功能
* 检索增强生成 (RAG) 架构
* 集成 MITRE ATT&CK Enterprise 知识
* 使用 MiniLM embedding 进行语义搜索
* 使用 FAISS 向量数据库实现快速检索
* 使用 FLAN-T5 生成响应
* 交互式 Gradio 聊天机器人界面
* 支持使用 Google Drive 存储来持久化向量数据库
* 轻量级且适配 Colab 的实现
## 使用的技术
| 技术 | 用途 |
| --------------------- | --------------------------- |
| Python | 核心开发 |
| Google Colab | 开发环境 |
| MITRE ATT&CK | 威胁情报数据集 |
| Sentence Transformers | 生成 embedding |
| FAISS | 向量相似性搜索 |
| FLAN-T5 | 语言模型 |
| Gradio | Web 界面 |
| Pandas | 数据处理 |
## 项目架构
```
User Query
↓
MiniLM Embedding
↓
FAISS Vector Search
↓
Top-K Relevant Chunks
↓
FLAN-T5 LLM
↓
Generated Response
↓
Gradio Interface
```
## 数据集
本项目使用来自 MITRE ATT&CK 的 Enterprise ATT&CK 数据集。
### 官方数据集链接
```
https://raw.githubusercontent.com/mitre/cti/master/enterprise-attack/enterprise-attack.json
```
## 安装说明
### 克隆仓库
```
git clone YOUR_GITHUB_REPOSITORY_LINK
cd YOUR_PROJECT_FOLDER
```
### 安装依赖
```
pip install transformers
pip install sentence-transformers
pip install faiss-cpu
pip install gradio
pip install pandas
```
## Google Colab 设置
挂载 Google Drive:
```
from google.colab import drive
drive.mount('/content/drive')
```
## 文件夹结构
```
threat_chatbot/
│
├── data/
│ ├── enterprise-attack.json
│ └── mitre_data.csv
│
├── faiss_index/
│ ├── index.faiss
│ └── chunks.pkl
│
├── notebook/
│ └── threat_chatbot.ipynb
│
└── README.md
```
## 工作流程
1. 下载 MITRE ATT&CK 数据集
2. 将 JSON 转换为 CSV
3. 对文本数据进行分块
4. 使用 MiniLM 生成 embedding
5. 将 embedding 存储在 FAISS 中
6. 使用语义相似度检索相关的文本块
7. 使用 FLAN-T5 生成基于上下文的响应
8. 通过 Gradio UI 显示结果
## 示例问题
* 什么是 T1059?
* 解释权限提升技术
* 攻击者如何使用 PowerShell?
* 哪些技术用于实现持久化?
* 解释网络钓鱼相关的攻击技术
* 什么是凭证转储?
* 如何检测横向移动?
## 使用的模型
### Embedding 模型
```
all-MiniLM-L6-v2
```
### LLM
```
google/flan-t5-base
```
## 向量数据库
本项目使用 FAISS 进行高效的相似性搜索和检索。
## 用户界面
聊天机器人界面使用 Gradio 构建。
功能:
* 交互式聊天 UI
* 大型可读的响应区域
* 易于在 Colab 中部署
## 未来改进
* 集成 CVE
* 威胁行为者情报
* 实时威胁信息流
* 集成 LangChain
* 启用记忆功能的聊天机器人
* 多源 RAG
* 使用 Docker 或 Hugging Face Spaces 进行部署
## 优势
* 快速检索网络安全知识
* 基于上下文的感知响应
* 与独立的 LLM 相比,减少了幻觉
* 轻量级且可扩展
* 对初学者友好的实现
## 结论
本项目展示了检索增强生成 (RAG) 如何通过将语义检索与大型语言模型相结合,来改善网络安全情报系统。该聊天机器人使用 MITRE ATT&CK 知识库提供准确且基于上下文的答案,并可以支持 SOC 分析师、研究人员和网络安全学习者。
## 参考资料
* [MITRE ATT&CK](https://attack.mitre.org?utm_source=chatgpt.com)
* [FAISS 文档](https://faiss.ai?utm_source=chatgpt.com)
* [Sentence Transformers](https://www.sbert.net?utm_source=chatgpt.com)
* [Hugging Face Transformers](https://huggingface.co/docs/transformers/index?utm_source=chatgpt.com)
* [Gradio 文档](https://www.gradio.app?utm_source=chatgpt.com)
标签:AI, LLM, RAG, Unmanaged PE, 向量检索, 威胁情报, 开发者工具, 自动化代码审查, 逆向工具