Unfixer/Watchtower-AI
GitHub: Unfixer/Watchtower-AI
Watchtower AI 是一个基于多智能体架构的自主安全运营指挥中心,通过 AI 自动完成告警分诊、威胁关联、攻击重建和响应计划生成,解决 SOC 团队告警疲劳与调查效率低下的问题。
Stars: 0 | Forks: 0
# Watchtower AI - 自主网络威胁指挥中心
Watchtower AI 是一个企业级、AI 原生的安全运营中心 (SOC) 指挥中心,专为安全分析师和高管设计。它不仅仅是简单地记录警报,Watchtower AI 还能对警报进行分诊,丰富网络/身份指标,重建按时间顺序排列的攻击故事,映射 MITRE ATT&CK 战术,预测攻击者目标,计算定量风险画像,并起草遏制计划。
该平台使用 **FastAPI**、**Next.js 15**、**LangGraph** 和 **Microsoft Azure AI Foundry** 构建,已准备好在黑客马拉松中获胜并保护生产环境。
## 🛠️ 技术栈
- **前端:** Next.js 15 (React 19)、TypeScript、Tailwind CSS、Framer Motion (微动画)、Recharts (风险遥测)
- **后端:** FastAPI (Python 3.12)、WebSockets (实时协作流)、SQLAlchemy
- **AI 核心:** LangGraph (多智能体状态协调)、LangChain、Azure OpenAI
- **数据库:** PostgreSQL (包含用于 RAG 匹配的 `pgvector`)、Redis (情报缓存)
- **容器:** Docker、Docker Compose
- **云端目标:** Azure Container Apps、Azure Database for PostgreSQL
## 🚀 架构工作流
Watchtower AI 通过 **LangGraph State Graph** 协调 10 个专门的安全智能体:
```
[ALERT INGEST]
│
▼
1. Alert Intake Agent (Normalizes JSON & isolates raw indicators)
│
▼
2. Threat Intel Agent (Enriches malicious IPs/domains via AbuseIPDB & VT)
│
▼
3. MITRE ATT&CK Agent (Maps behavior footprints to ATT&CK matrix columns)
│
▼
4. Attack Reconstruction Agent (Assembles horizontal timeline narratives)
│
▼
5. Adversary Reasoning Agent (Infers targets' goal and next step)
│
▼
6. Knowledge Retrieval Agent (RAG queries NIST containment directives)
│
▼
7. CVE Analysis Agent (Locates software CVE exposure on systems)
│
▼
8. Risk Assessment Agent (Calculates business severity and financial cost)
│
▼
9. Incident Response Agent (Compiles custom mitigation playbooks)
│
▼
10. Executive Reporting Agent (Finalizes PDF-ready markdown summaries)
```
## 💻 本地快速启动
### 选项 A:统一 Docker Compose (推荐)
您可以通过单个命令启动整个技术栈 (Postgres + Redis + Backend API + Next.js Portal)。
1. 确保已安装并正在运行 Docker Desktop。
2. 在根目录下,启动编排文件:
docker-compose up --build
3. 运行后,访问各项服务:
- **前端门户:** `http://localhost:3000`
- **后端 API 文档:** `http://localhost:8000/docs`
- **WebSocket 流:** `ws://localhost:8000/ws/agent-status/{incident_id}`
### 选项 B:本地开发运行 (手动)
如果您不想使用 Docker 运行:
**1. 数据库设置**
启动本地 PostgreSQL 服务器并创建一个名为 `watchtower` 的数据库。运行 `db/schema.sql` 中的 SQL 命令以初始化 schema 表。
**2. 后端 API 设置**
```
cd backend
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
uvicorn app.main:app --reload --port 8000
```
**3. 前端 Next.js 设置**
```
cd frontend
npm install
npm run dev
```
打开 `http://localhost:3000` 即可与指挥中心进行交互!
## 🌐 连接真实的 Azure OpenAI 密钥
如果您想绕过模拟回退逻辑并查询处于活动状态的 Azure OpenAI 部署:
1. 打开 `backend/app/config.py` (或在 Docker Compose 中设置环境变量)。
2. 设置以下变量:
AZURE_OPENAI_API_KEY=your-azure-key
AZURE_OPENAI_ENDPOINT=https://your-endpoint.openai.azure.com/
AZURE_OPENAI_DEPLOYMENT_NAME=your-gpt4-deployment
3. 设置 `MOCK_MODE=False`。重启后端服务。
标签:AI智能体, Python, TypeScript, 威胁情报, 安全插件, 安全运营, 库, 应急响应, 开发者工具, 扫描框架, 搜索引擎查询, 无后门, 测试用例, 自动化攻击, 请求拦截