EwShen/Agentic-Incident-Response

GitHub: EwShen/Agentic-Incident-Response

一个基于 RAG 技术的事件响应原型工具,通过语义检索本地 IR 文档并结合告警上下文,利用大语言模型生成有依据的应急处置建议。

Stars: 0 | Forks: 0

# AgentIR:事件响应 RAG 原型 AgentIR 是一个 Python 事件响应原型,它通过本地 playbook 使用检索增强生成(RAG)技术。 当前的处理流程: - 从 `rag/corpus` 加载本地 IR 文档 - 对文档进行分块和嵌入处理 - 使用 FAISS 检索 top-k 相关块 - 将预设的告警 JSON 注入到 prompt 中 - 生成有依据的回答(或在未设置 API 密钥时打印 prompt 预览) ## 当前范围 - 最小化的单次查询 CLI 工作流 - 支持 `.rst`、`.md` 和 `.txt` 的本地语料库 - 基于嵌入的语义检索(默认使用 `BAAI/bge-small-en-v1.5`) - 基于 LangChain 的检索和生成编排 - 从 `tests/fixtures/impossible_travel_alert.json` 注入硬编码的告警上下文 ## 项目结构 - `scripts/IR_rag.py`:主要的最小化 RAG pipeline - `rag/corpus/`:事件响应语料库文档 - `tests/fixtures/`:示例告警 JSON 固件 - `.env`:用于存放凭证的本地环境文件(不提交到版本库) - `requirements.txt`:Python 依赖项 ## 设置说明 在项目根目录下执行: ``` pip install -r requirements.txt ``` 在项目根目录下创建 `.env` 文件: ``` OPENAI_API_KEY=your_key_here ``` 如果缺少 `OPENAI_API_KEY`,脚本将跳过模型生成并打印 prompt 预览。 ## 运行 在项目根目录下执行: ``` python scripts/IR_rag.py --query "What should we do first for a ransomware incident?" ``` 常用选项: ``` python scripts/IR_rag.py --query "..." --corpus rag/corpus --k 5 --chunk-size 700 --embedding-model BAAI/bge-small-en-v1.5 ``` ## 注意事项 - 输出中显示的检索分数是 FAISS 距离的简单转换值(`1 / (1 + distance)`),旨在提高可读性。 - 告警 JSON 上下文目前在 `scripts/IR_rag.py` 中通过以下方式硬编码: - `ALERT_FIXTURE_PATH = Path(r"tests\\fixtures\\impossible_travel_alert.json")` ## 局限性 - FAISS 索引在每次运行时都会重新构建;没有持久化的索引或预热启动机制。 - 检索目前仅使用 top-k 向量搜索;没有重排(reranking)阶段。 - Prompt 上下文包含单个硬编码的告警固件路径,而不是运行时选择的告警文件。 - 语料库摄取仅限于基于本地文件(`.rst`、`.md`、`.txt`),没有元数据过滤层。 - 基础事实对齐(Grounding)通过 prompt 指令尽力实现;没有强制的硬性约束或引用验证器。 - 该脚本面向单次查询的 CLI,并未被构建为多用户服务/API。 ## 评估状态(当前缺口) - 本仓库目前没有正式的评估工具。 - 未包含用于检索质量或回答质量评分的基准数据集。 - 尚未跟踪自动评估指标(例如:recall@k、MRR、faithfulness、answer correctness)。 - 目前没有回归测试套件来验证跨语料库或 prompt 更改时的输出质量。 - 在本仓库中,未使用人工评分规则来校准模型行为。
标签:BGE, DLL 劫持, FAISS, LangChain, LLM, NLP, OpenAI, Petitpotam, Playbook, Python, RAG, Ruby, SecOps, Unmanaged PE, 云安全架构, 内存规避, 向量化检索, 向量数据库, 大模型, 大语言模型, 威胁情报, 安全剧本, 安全运营, 库, 应急响应, 开发者工具, 扫描框架, 文档结构分析, 无后门, 智能助手, 检索增强生成, 知识库, 网络安全, 语义检索, 轻量级, 逆向工具, 隐私保护