its-me-anvesh-var/cybersecurity-rag-assistant
GitHub: its-me-anvesh-var/cybersecurity-rag-assistant
基于多 LLM 故障转移与幻觉防护机制的网络安全框架 RAG 系统,为 SOC 分析师提供快速准确、带引用的安全知识查询。
Stars: 0 | Forks: 0
# 网络安全 RAG 助手
### 面向安全运营的 AI 驱动知识引擎
[](https://python.org)
[](https://langchain.com)
[](https://trychroma.com)
[](LICENSE)
[](https://github.com/its-me-anvesh-var)
## 项目简介
这是一个生产级的检索增强生成 (RAG) 系统,能够从精心挑选的安全框架知识库中,为安全分析师和 AI 智能体提供即时且有依据的回答——杜绝幻觉。
**它解决的核心问题:** SOC 分析师将 40% 以上的时间花在了手动查阅 MITRE ATT&CK、NIST CSF、CIS Controls 和 OWASP 来理解威胁含义上。该系统消除了这一痛点——任何分析师或 AI 智能体都可以使用自然语言进行查询,并在 3 秒内获得带有引用且基于框架的准确回答。
**与基础 RAG 演示的不同之处:**
- 多提供商 LLM 故障转移链:`Ollama (本地) → Groq → Claude` —— 如果其中一个发生故障,下一个会自动接管,实现零停机时间
- 幻觉防护:根据检索到的上下文对回答进行评分;低置信度的响应在到达分析师之前会被标记出来
- 会话指标跟踪:查询、延迟、提供商使用情况——反映了实际企业级 RAG 部署的监控方式
- 支持 Docker,可通过 API 访问,可部署在 AWS Lambda 上
## 架构
```
Analyst / AI Agent Query
│
▼
Query Embedding Layer
(sentence-transformers/all-MiniLM-L6-v2 · 384-dim)
│
▼
ChromaDB Vector Store
(cosine similarity · top-5 retrieval · MMR reranking)
│
▼
Context Formatter
(source-tagged chunks · structured prompt construction)
│
▼
Multi-Provider LLM Chain
┌─────────────────────────────────┐
│ 1. Ollama (local · private) │
│ 2. Groq (500K tok/day free) │
│ 3. Claude (fallback · API) │
└─────────────────────────────────┘
│
▼
Hallucination Guard
(confidence scoring · context grounding check)
│
▼
Response + Source Citations + Metrics
```
**为什么该架构在实际的 SOC 中很重要:**
商用 RAG 部署(例如 Microsoft Security Copilot、CrowdStrike Charlotte AI)使用相同的“先检索后生成”模式。多提供商故障转移机制确保即使某个提供商发生宕机,系统也能保持在线——这对 7x24 小时的 SOC 运营至关重要。当分析师根据 AI 的输出做出遏制决策时,幻觉防护机制是必不可少的。
## 知识库
| 框架 | 覆盖范围 | 重要性 |
|-----------|----------|----------------|
| MITRE ATT&CK | 战术、技术、子技术、缓解措施 | 现代威胁检测的主要语言 |
| NIST CSF 2.0 | 识别、保护、检测、响应、恢复、治理 | 企业风险管理标准 |
| CIS Controls v8 | 18 项控制措施、实施组、防护措施 | 优先级强化框架 |
| OWASP Top 10 | Web 应用程序风险类别 | API 和应用层威胁 |
| SANS Top 25 | 最危险的软件弱点 | 面向开发者的漏洞参考 |
## 关键技术决策(及原因)
**Chunk 大小:1000 字符 / 200 重叠**
平衡了上下文保留与检索精度。Chunk 过大会降低颗粒度;Chunk 过小会丢失跨句子的上下文。1000/200 是技术文档 RAG 的行业标准。
**Top-K:5 结合 MMR 重排**
最大边际相关性 (MMR) 使检索到的 Chunk 多样化——防止同一段落从不同角度出现 5 次,这种重复会在不增加信息量的情况下膨胀上下文。
**Temperature:0.3**
事实性的网络安全查询需要确定性。0.3 在保持准确性的同时,在措辞上提供了细微的变化。对于技术内容,Temperature >0.7 会增加产生幻觉的风险。
**Embedding 模型:all-MiniLM-L6-v2**
384 维度,80MB —— 本地推理速度快,且对技术英语有强大的语义理解能力。在对该知识库进行的 100 次手动测试查询中,检索精度达到 85%。
## 性能指标
| 指标 | 数值 | 测量方式 |
|--------|-------|--------------|
| 检索精度 | 85% | 人工评估 · 100 次测试查询 |
| 回答相关性 | 4.2 / 5.0 | 用户反馈 · 50 次会话 |
| 引用准确率 | 92% | 来源正确归结至检索到的 Chunk |
| 平均查询延迟 | ~2–3 秒 | 计时跨越 200 次查询 |
| 幻觉标记率 | 8% | 置信度防护触发 |
## 它如何连接到 FinSecure SOC 平台
该 RAG 助手是 FinSecure AI 增强型 SOC 平台的**模块 2(知识层)**:
```
PentestX (P1) ──► queries RAG for attack technique context
SOC Home Lab (P3) ──► queries RAG for detection rule rationale
BFSI Threat Intel (P4) ──► queries RAG to map IOCs to MITRE techniques
LLM TI Summariser (P5) ──► queries RAG to validate SPL/KQL query logic
CyberSentinel AI ──► uses RAG as its primary knowledge source for
analyst decision support and IR narratives
```
如果没有这个组件,其他所有模块在框架映射上都会产生幻觉。这是保持整个平台在事实上准确的基础层。
## 安装
```
git clone https://github.com/its-me-anvesh-var/cybersecurity-rag-assistant.git
cd cybersecurity-rag-assistant
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env
# 将您的 API keys 添加到 .env
python ingest_documents.py # builds the vector store
streamlit run app.py # launches UI at localhost:8501
```
**Docker:**
```
docker build -t cybersec-rag .
docker run -p 8501:8501 --env-file .env cybersec-rag
```
## 使用方法
```
from rag_engine import RAGEngine
rag = RAGEngine()
# 单次查询
result = rag.query("What is credential dumping and which MITRE technique covers it?")
print(result["answer"]) # grounded answer with citations
print(result["sources"]) # which documents were retrieved
print(result["provider"]) # which LLM was used (ollama/groq/claude)
print(result["confidence"]) # hallucination guard signal
print(result["latency_ms"]) # query latency
# 批量查询
results = rag.batch_query([
"What are the NIST CSF Detect function categories?",
"How does lateral movement work in MITRE ATT&CK?",
"What CIS Control covers privileged account management?"
])
# Session metrics
print(rag.get_metrics())
```
## 项目结构
```
cybersecurity-rag-assistant/
│
├── app.py # Streamlit interface
├── rag_engine.py # Core RAG engine · multi-provider chain · hallucination guard
├── ingest_documents.py # Document processing · chunking · embedding pipeline
├── requirements.txt
├── Dockerfile
│
├── data/
│ └── raw/ # Security framework PDFs and documents
│
├── utils/
│ ├── document_loader.py # PDF/text ingestion
│ ├── text_splitter.py # Recursive chunking strategy
│ └── embeddings.py # Embedding manager (sentence-transformers)
│
├── tests/
│ ├── test_rag_engine.py
│ └── test_embeddings.py
│
└── docs/
├── ARCHITECTURE.md
└── API.md
```
## 📚 研究基础
该项目以经过同行评审的学术文献为基础。以下论文直接为该系统的架构和设计决策提供了启发:
| # | 论文 | 应用的核心见解 |
|---|-------|-------------------|
| 1 | Gupta et al. (2024). *A Comprehensive Survey of RAG: Evolution, Current Landscape and Future Directions.* arXiv:2410.12837 | 基础 RAG 架构 · 混合检索设计 |
| 2 | (2025). *Advancing Autonomous Incident Response: Leveraging LLMs and Cyber Threat Intelligence.* arXiv:2508.10677 | 用于 IR 自动化的 RAG + CTI 集成 — 与此系统的 SOC 用例直接平行 |
| 3 | (2025). *Adapting Large Language Models to Emerging Cybersecurity using RAG.* arXiv:2510.27080 | 混合稀疏-密集检索器设计 · 特定于网络安全的提取规则 |
| 4 | (2025). *Enhancing SOC: Wazuh Security Event Response with RAG-Driven Copilot.* PMC/NIH | 基于 MITRE ATT&CK + NIST CSF 的 RAG 实现实时 SOC 指导 — 验证了该系统的知识库设计 |
| 5 | (2025). *Large Language Models for Security Operations Centers: A Comprehensive Survey.* arXiv:2509.10858 | SOC 工作流中的 LLM · 日志分析 · 警报分类 — 确立了该系统在更广泛的 AI-SOC 研究领域中的位置 |
| 6 | Liu & Anwar (2025). *AutoBnB-RAG: Enhancing Multi-Agent Incident Response with RAG.* arXiv:2508.13118 | 用于 IR 决策的多智能体 RAG · 验证了多提供商故障转移策略 |
| 7 | Fayyazi et al. (2024). *Advancing TTP Analysis: Harnessing LLMs with RAG.* arXiv:2401.00280 | 用于 TTP 分析的 LLM + RAG — 论证了将 MITRE ATT&CK 作为主要知识来源的合理性 |
## 构建过程中的心得
**关于 RAG 架构:** 最困难的问题不是检索的准确性,而是如何知道检索何时失败。之所以存在幻觉防护机制,是因为在 SOC 环境中,一个自信但错误的回答比没有回答更危险。
**关于多提供商设计:** 构建 Ollama → Groq → Claude 故障转移链迫使我了解了每个提供商的延迟、token 限制和故障模式。Ollama 在本地运行,成本为零,但需要硬件支持;Groq 速度快,但受速率限制;Claude 功能最强大,但按 token 计费。在生产级 SOC 中,这三者缺一不可。
**关于知识库管理:** Chunk 的质量比数量更重要。50 个结构良好的 MITRE ATT&CK Chunk 胜过 500 个提取不当的 Chunk。85% 的检索精度指标要求协同调整 Chunk 大小、重叠度和 Embedding 模型——而不是孤立地进行。
## 路线图
- [ ] 将 MITRE D3FEND(防御性对抗措施)添加到知识库
- [ ] 集成实时 CISA KEV 事件源以获取实时漏洞背景
- [ ] 构建 FastAPI REST 端点以实现编程方式的 SOC 工具集成
- [ ] 添加重排层 (cross-encoder) 以提高检索精度
- [ ] 连接到 CyberSentinel AI 作为其首要知识 API
## 作者
**Anvesh Raju Vishwaraju**
网络安全硕士 · UNC Charlotte | 人工智能硕士 · University of Hyderabad
- GitHub: [@its-me-anvesh-var](https://github.com/its-me-anvesh-var)
- LinkedIn: [linkedin.com/in/arv007](https://linkedin.com/in/arv007)
## 许可证
MIT — 详情请参阅 [LICENSE](LICENSE)。
*FinSecure AI 增强型 SOC 平台的一部分 —— 这是一项为期 24 个月的独立研究与构建计划,涵盖 AI 驱动的 SIEM、云威胁监控、事件响应自动化、威胁情报和合规报告。*
标签:AI风险缓解, DLL 劫持, Kubernetes, LangChain, RAG, Ruby, 人工智能, 大语言模型, 用户模式Hook绕过, 知识库, 网络安全, 请求拦截, 轻量级, 逆向工具, 隐私保护