supriya-1305/Sentinel-Incident-Response

GitHub: supriya-1305/Sentinel-Incident-Response

一款基于 RAG 架构的 AI 网络安全事件响应应用,通过检索和重排 playbook 文档为安全团队自动生成带有来源引用的处置计划。

Stars: 0 | Forks: 0

# Sentinel-Incident-Response 基于检索增强生成 (RAG) 构建的 AI 驱动的网络安全应用程序。 ## 概述 Sentinel Incident Response 是一款 AI 驱动的网络安全应用程序,它使用检索增强生成 (RAG) 自动化安全运营中心 (SOC) 的事件响应工作流。 该系统分析安全事件工单,从已索引的网络安全 playbook 和合规文档中检索相关证据,对检索到的内容重新排序,并生成带有支持性引用的结构化事件响应计划。 该应用程序使用 Streamlit、Google Gemini、ChromaDB 以及结合了语义检索和大语言模型推理的 RAG pipeline 构建而成。 ## 功能 * 以 PDF 格式上传和索引网络安全 playbook * 自动 PDF 提取和页面级分块 * 使用 ChromaDB 进行向量存储和语义搜索 * 检索增强生成 (RAG) * Gemini 驱动的事件分析和响应生成 * 带有来源引用的基于证据的响应计划 * 交互式 Streamlit 用户界面 * 用于测试和评估的演示语料库注入 ## 系统架构 ### 文档处理 Pipeline 1. PDF 上传 2. 文本提取 3. 页面级分块 4. Embedding 生成 5. ChromaDB 向量索引 ### 查询处理 Pipeline 1. 安全事件工单提交 2. 相关分块的语义检索 3. 基于 LLM 的重排 4. 证据收集 5. 事件响应计划生成 6. 引用生成 ## 应用程序工作流 ### 第 1 步:上传 Playbook 用户通过 Streamlit 界面上传网络安全 playbook、安全标准和事件响应文档。 ### 第 2 步:文档索引 系统处理上传的 PDF 并创建页面级分块,这些分块在 ChromaDB 中进行索引,以实现高效的语义检索。 ### 第 3 步:事件提交 用户输入描述所观察到的问题的安全事件工单。 示例: ### 第 4 步:证据检索 RAG 引擎从已索引的语料库中检索最相关的 playbook 部分,并对结果进行重新排序。 ### 第 5 步:响应生成 Gemini 生成一个结构化的事件响应计划,包括: * 思考过程 * 行动计划 * 支持性引用 ## 示例输出 ### 思考过程 * 分析事件和可用证据 * 将发现映射到相关的安全控制措施 * 确定适当的响应行动 ### 行动计划 #### 分流 * 识别受影响的账户 * 确定事件范围 #### 遏制 * 强制重置密码 * 启用 MFA 注册 #### 根除 * 恢复符合安全策略 * 验证身份验证控制措施 ### 引用 生成的响应包含对检索到的源文档和页码的引用。 ## 技术栈 * Python * Streamlit * Google Gemini API * ChromaDB * 检索增强生成 (RAG) * Vector Embeddings * PDF 处理库 ## 项目结构 ``` RAG Assignment/ │ ├── app/ │ ├── config.py │ ├── guardrails.py │ ├── ingestion.py │ ├── llm.py │ ├── rag.py │ └── ui.py │ ├── data/ │ ├── chroma/ │ ├── demo/ │ └── uploads/ │ ├── tests/ │ ├── app.py ├── requirements.txt └── README.md ``` ## 安装说明 ### 克隆仓库 ``` git clone https://github.com/supriya-1305/Sentinel-Incident-Response.git cd Sentinel-Incident-Response ``` ### 创建虚拟环境 ``` python -m venv .venv ``` ### 激活环境 #### Windows ``` .venv\Scripts\activate ``` #### macOS/Linux ``` source .venv/bin/activate ``` ### 安装依赖项 ``` pip install -r requirements.txt ``` ### 配置环境变量 创建一个 `.env` 文件: ``` GEMINI_API_KEY=YOUR_API_KEY ``` ### 运行应用程序 ``` streamlit run app.py ``` ## 用例 * 安全运营中心 (SOC) * 事件响应自动化 * 安全 Playbook 搜索 * 合规和审计支持 * 网络安全知识管理 * AI 辅助安全调查 ## 展示的核心能力 * PDF 提取 * 页面级分块 * 使用 ChromaDB 进行向量索引 * 语义检索 * LLM 重排 * 基于证据的响应生成 * 感知引用的输出 * 基于 Streamlit 的用户体验 ## 未来增强功能 * 多文档事件关联 * 自动化威胁情报集成 * SIEM 集成 * 用户身份验证和 RBAC * 事件严重性评分 * 高级分析仪表板 ## 视频演示 视频展示: https://drive.google.com/file/d/1qKEPnXUBUP-Tc5hxk709WimAesWMdNfG/view?usp=sharing 此视频演示了: - 应用程序概述 - RAG 架构 - PDF 提取 - 检索工作流 - 事件响应生成 ## 应用程序预览 Image Image Image Image Image Image Image
标签:Kubernetes, 人工智能, 向量数据库, 检索增强生成, 用户模式Hook绕过, 网络安全, 网络调试, 自动化, 逆向工具, 隐私保护