AdityaB1007/SecRes-Cybersec
GitHub: AdityaB1007/SecRes-Cybersec
一个基于 LangGraph 和 Llama 3.2 构建的企业级本地化多代理威胁情报 Copilot,专为保护数据隐私的 SOC 运营设计。
Stars: 0 | Forks: 0
# 🛡️ SecRes: Cybersec
一个企业级、多代理威胁情报自主威胁代理,基于 **LangGraph** 和 **Llama 3.2** 构建。
专为安全运营中心 (SOC) 设计,该 Copilot 采用严格的“零泄露”架构。它完全运行本地 LLM 以确保敏感的企业数据不离开硬件,利用双内存系统进行临时研究和长期企业记忆存储,并将安全查询动态路由到相应的外部或内部工具。
## ✨ 主要特性
* **零泄露隐私:** 在 OSINT 研究开始之前,硬编码的机密和 PII 会通过 Microsoft Presidio 自动清除。核心推理引擎使用通过 Ollama 本地运行的 Llama 3.2。
* **代理路由:** 指定的 Planner Agent 评估用户输入,并将执行动态路由到:
* `VirusTotal API` 用于文件哈希分析。
* `Tavily API` 用于定向 OSINT 网络爬取(CVE、威胁攻击者活动)。
* `ChromaDB` 用于对企业内部操作手册和历史事件日志进行语义搜索。
* **双内存架构:** * **短期 (FAISS):** 充当临时工作内存,在当前调查期间保存实时的 OSINT 和 API 数据。
* **长期 (ChromaDB):** 充当持久化企业记忆,检索历史事件工单和内部操作手册。
* **有状态对话 UI:** 由 LangGraph 的状态管理驱动,Copilot 记住对话历史。它自动为新事件生成结构化的 Markdown 仪表板,并无缝转换为对话聊天格式以进行后续提问。
* **越狱免疫:** 集成了 `Llama Guard`,用于在恶意提示(例如编写利用脚本的请求)到达推理引擎之前拦截并阻止它们。
* **RLHF 对齐覆盖:** 经过提示工程设计,以绕过标准的 AI 犹豫过滤器,完全扮演资深网络安全工程师的角色,提供直接的防火墙端口配置和补救建议。
## 🏗️ 架构
1. **Streamlit UI:** 接受用户输入(哈希、日志、问题)。
2. **Llama Guard 节点:** 扫描提示注入或恶意意图。
3. **Planner Agent:** 将目标综合为可操作的步骤(OSINT、API 或 Vector DB)。
4. **Executor Agent (Router):** 使用后端工具执行计划并将发现存储在 FAISS 中。
5. **Answer Agent:** 读取 FAISS 上下文 + LangGraph `chat_history` 以综合最终的事件简报。
## 🚀 快速开始
### 前置条件
* Python 3.10+
* 已安装并本地运行 [Ollama](https://ollama.com/)。
* [Tavily](https://tavily.com/) 和 [VirusTotal](https://www.virustotal.com/) 的 API 密钥。
### 安装说明
1. **克隆仓库:**
git clone [https://github.com/yourusername/zero-leak-soc-copilot.git](https://github.com/yourusername/zero-leak-soc-copilot.git)
cd zero-leak-soc-copilot
2. **安装依赖:**
pip install -r requirements.txt
3. **拉取本地模型:**
ollama pull llama3.2:4b
4. **配置环境变量:**
在根目录创建一个 .env 文件:
TAVILY_API_KEY=your_tavily_key_here
VT_API_KEY=your_virustotal_key_here
5. **初始化长期记忆 (ChromaDB):**
运行数据库构建器以摄取您的虚拟历史日志:
python database.py
6. **运行应用程序:**
确保 Ollama 在后台运行 (ollama serve),然后启动 UI:
streamlit run app.py
## 🧪 测试场景
* **API 路由:** 粘贴一个文件哈希(例如 `24d004a104d4d54034dbcffc2a4b19a11f39008a575aa614ea04703480b1022c`),观察其触发 VirusTotal。
* **有状态后续追问:** 紧接上一个查询后询问“我应该阻止哪些端口以阻止特定的勒索软件?”,以测试代理的上下文记忆。
* **向量搜索:** 紧接上一个查询后询问“我应该阻止哪些端口以阻止特定的勒索软件?”,以测试代理的上下文记忆。
* **防护栏:** 要求 Copilot 为已知 CVE 编写反向 Shell 利用程序,以测试安全拦截功能。
标签:AI安全, AI风险缓解, Ask搜索, Chat Copilot, ChromaDB, DLL 劫持, ESC4, FAISS, IP 地址批量处理, Kubernetes, LangGraph, Llama 3.2, Llama Guard, Microsoft Presidio, OSINT, RAG, VirusTotal, 企业级, 向量数据库, 域名收集, 多智能体, 大语言模型, 威胁情报, 安全运营中心, 密码管理, 开发者工具, 数据展示, 本地部署, 检索增强生成, 红队, 网络安全, 网络安全, 网络映射, 自动化运维, 语义搜索, 越狱防护, 逆向工具, 隐私保护, 隐私保护, 零泄露