satyamshashwat/CyberSec-Copilot
GitHub: satyamshashwat/CyberSec-Copilot
基于 LangGraph 多代理工作流与 Google Gemini 构建的 AI 网络安全调查助手,聚合多源威胁情报平台实现自动化 IOC 调查、检测规则生成与安全文档 RAG 问答。
Stars: 0 | Forks: 0
# 🛡️ CyberSec Copilot
### AI 驱动的网络安全调查与威胁情报助手
基于 **LangGraph • Google Gemini • Streamlit • ChromaDB • MISP • VirusTotal • AbuseIPDB • URLScan • NVD** 构建
一个 AI 驱动的网络安全 Copilot,通过智能的多代理工作流,自动化 **威胁情报调查**、**检测工程** 以及 **基于 RAG 的安全知识检索**。
# 概述
安全分析师通常需要花费大量时间手动检查多个威胁情报平台、搜索安全文档并编写检测规则。
CyberSec Copilot 通过使用 **LangGraph** 将用户请求智能路由到专门的 AI 工作流,从而自动化这些重复性任务。
该应用程序可以:
- 调查 IP 地址
- 调查域名
- 调查 URL
- 调查 CVE
- 调查文件哈希
- 根据上传的安全策略回答问题(RAG)
- 生成 Sigma 规则
- 生成 YARA 规则
- 将威胁映射到 MITRE ATT&CK
# 功能
## 威胁情报调查
自动调查:
- IP 地址
- URL
- 域名
- 文件哈希
- CVE
使用多个威胁情报提供商。
## 威胁情报集成
该应用程序聚合来自以下来源的情报:
- VirusTotal
- AbuseIPDB
- URLScan.io
- 国家漏洞数据库 (NVD)
- MISP 威胁情报平台
所有情报都会被合并到一份 AI 生成的调查报告中。
## AI 威胁评估
Google Gemini 会分析收集到的证据并生成:
- 执行摘要
- 威胁严重程度
- 置信度评分
- IOC 摘要
- 安全建议
## 检索增强生成 (RAG)
上传安全文档,例如:
- 安全策略
- 合规性文档
- 框架文档
- PDF 文件
助手将文档嵌入存储在 **ChromaDB** 中,并使用检索增强生成来回答问题。
## 检测工程
自动生成:
- Sigma 规则
- YARA 规则
- MITRE ATT&CK 映射
基于安全事件和威胁描述。
## 智能路由
应用程序不将每个请求发送到单个 LLM prompt,而是使用 **LangGraph StateGraph** 将用户请求智能路由到专门的工作流中。
# 系统架构
CyberSec Copilot 使用 LangGraph 多代理工作流构建,其中的路由器会动态选择合适的安全 pipeline。
---
# 威胁情报工作流
```
User Query
│
▼
Extract IOC
│
▼
VirusTotal
│
▼
AbuseIPDB
│
▼
URLScan
│
▼
MISP
│
▼
NVD
│
▼
Merge Evidence
│
▼
Gemini Threat Assessment
```
# 项目演示
该代码库包含展示完整工作流的演示视频。
### 威胁情报调查
演示内容:
- IOC 提取
- VirusTotal 查询
- AbuseIPDB 查询
- URLScan 查询
- MISP 查询
- AI 威胁摘要
### RAG 助手
演示内容:
- 上传安全策略
- ChromaDB 检索
- 基于 Gemini 的回答
### 检测工程
演示内容:
- Sigma 规则生成
- YARA 规则生成
- MITRE ATT&CK 映射
# 技术栈
### 编程
- Python
### AI
- Google Gemini
- LangChain
- LangGraph
### 向量数据库
- ChromaDB
### 前端
- Streamlit
### 威胁情报
- VirusTotal
- AbuseIPDB
- URLScan
- MISP
- NVD
### 检测工程
- Sigma
- YARA
- MITRE ATT&CK
# 项目结构
```
CyberSec-Copilot
│
├── assets/
├── docs/
├── src/
│ ├── core/
│ ├── graph/
│ ├── rag/
│ ├── tools/
│ └── tests/
│
├── app.py
├── requirements.txt
├── README.md
├── LICENSE
└── .env.example
```
# 安装说明
克隆代码库
```
git clone https://github.com/satyamshashwat/CyberSec-Copilot.git
```
进入项目
```
cd CyberSec-Copilot
```
创建虚拟环境
```
python -m venv .venv
```
激活环境
Windows
```
.venv\Scripts\activate
```
Linux / macOS
```
source .venv/bin/activate
```
安装依赖项
```
pip install -r requirements.txt
```
使用 `.env.example` 创建 `.env` 文件。
运行应用程序
```
streamlit run app.py
```
# 必需的 API 密钥
创建 `.env` 文件并添加:
```
GEMINI_API_KEY=
VIRUSTOTAL_API_KEY=
ABUSEIPDB_API_KEY=
URLSCAN_API_KEY=
MISP_URL=
MISP_API_KEY=
```
# 工作原理
1. 用户提交网络安全查询。
2. LangGraph 路由器确定意图。
3. 选择合适的工作流。
4. 执行威胁情报 API 或 RAG pipeline。
5. Gemini 分析收集到的证据。
6. 显示最终调查报告。
# 未来改进
- Shodan 集成
- GreyNoise 集成
- AlienVault OTX 集成
- 混合搜索
- 多代理协作
- SIEM 集成
- 自动化事件响应
- 恶意软件沙箱集成
# 学习成果
这个项目帮助我获得了以下方面的实践经验:
- Agentic AI
- LangGraph
- LangChain
- 检索增强生成 (RAG)
- Prompt 工程
- 威胁情报
- 检测工程
- API 集成
- 向量数据库
- Streamlit 开发
# 许可证
该项目基于 **MIT License** 授权。
# 作者
## Satyam Shashwat
**B.Tech 电子与通信工程**
🔗 LinkedIn
https://www.linkedin.com/in/satyam-shashwat-38a5a6259
如果您觉得这个项目有趣,请考虑给它点个 star!
标签:AI智能助手, DLL 劫持, IP 地址批量处理, Kubernetes, 域名收集, 多智能体, 大语言模型, 威胁情报, 开发者工具, 检索增强生成, 网络信息收集, 网络安全, 自动化分析, 跨站脚本, 逆向工具, 隐私保护