revelingg/threat_bot

GitHub: revelingg/threat_bot

基于 RAG 和 MITRE ATT&CK 框架的威胁情报机器人,能够根据网络扫描信息自动生成攻击路径分析和缓解建议。

Stars: 0 | Forks: 0

# Threat Intelligence 机器人 ## 概述 Threat Intelligence Bot 是一个基于 Python 的网络安全工具,它利用 RAG 系统分析网络扫描信息,并根据 MITRE ATT&CK 框架识别潜在的攻击者行为。 该系统将 MITRE 技术转换为向量嵌入并将其存储在 ChromaDB 中,允许 bot 在用户提交网络扫描或安全相关问题时进行搜索。Bot 检索最相关的技术,并使用 LLM [OpenAI](https://openai.com) 生成攻击路径分析和缓解建议,其输出类似于 SOC 分析师可能产出的内容。 ## 系统工作原理 1. MITRE ATT&CK 技术经过过滤和清理,以去除不必要的元数据。 2. 每项技术都被转换为结构化文本,并使用 OpenAI API 转化为向量嵌入。 3. 嵌入随后被存储在 ChromaDB 中。 4. 当用户提交查询(例如:网络扫描的结果)时,系统会: - [x] 为查询生成嵌入 - [X] 在向量数据库中搜索最相关的技术(前 5 项) - [X] 将这些技术发送给 LLM - [X] 生成分析和缓解建议 # 安装说明 1. 克隆仓库:git clone https://github.com/revelingg/threat_bot.git 2. 进入目录:cd threat_bot 3. 使用 pip **安装**所需的库 - **pip install openai chromadb python-dotenv python requests** 4. 在根目录下创建一个 .env 文件 - 在文件中输入:**OPENAI_API_KEY=your_key** - 你的密钥应从 ChatGPT OpenAI 官网获取,网上也有相关教程 # 项目结构 threat_bot - data - filtered_mitre.json - chroma_db - scripts: prepembed.py, filterdata.py - src: threatbot.py, retriever.py, embeddings.py - readme.md # 文件功能: **prepembed.py** 处理过滤后的 MITRE 数据集并生成嵌入。 **filterdata.py** 将庞大的 MITRE 表过滤为较小的网络相关信息,约 655 条条目。 **embeddings.py** 处理与 OpenAI API 的通信以生成向量嵌入。 **retriever.py** 查询 ChromaDB 向量数据库,以获取与用户输入相关的技术。 **threatbot.py** 主应用程序,将所有组件整合在一起并生成威胁分析。 # 如何运行项目 1. 通过运行 **python -m scripts.prepembed.py** 来生成 MITRE 嵌入并加载数据集。 2. 使用以下命令运行 bot:**python -m src.threatbot** 3. 菜单将提供您可以输入的各种选项 - 选项 1 的一个示例是“检测到 192.168.1.10 上有开放 SSH,以及 192.168.1.12 上有 HTTP。” - 选项 2 将接收一个文件路径进行解析 # 示例输出: - 可能的 MITRE ATT&CK 技术 - 可能的攻击路径 - 建议的缓解步骤 - SOC 风格的网络暴露分析 # 许可证 本项目旨在用于教育和研究目的。
标签:ChatGPT, ChromaDB, Cloudflare, DLL 劫持, GitHub, MITRE ATT&CK, OpenAI API, Petitpotam, Promptflow, Python, RAG, Ruby, SOC分析, 向量嵌入, 向量数据库, 大语言模型, 威胁情报, 安全运营, 实时处理, 密码管理, 开发者工具, 扫描框架, 插件系统, 攻击路径分析, 无后门, 检索增强生成, 知识库, 缓解建议, 网络安全, 网络扫描分析, 自动化安全分析, 逆向工具, 隐私保护, 黑客技术