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, 向量检索, 威胁情报, 开发者工具, 自动化代码审查, 逆向工具