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 提取
- 检索工作流
- 事件响应生成
## 应用程序预览
标签:Kubernetes, 人工智能, 向量数据库, 检索增强生成, 用户模式Hook绕过, 网络安全, 网络调试, 自动化, 逆向工具, 隐私保护