secmon-lab/warren

GitHub: secmon-lab/warren

AI 原生的安全告警管理平台,通过多 Agent 架构自动执行告警分类、威胁情报丰富化和调查工作,帮助安全团队降低噪音、加速响应。

Stars: 96 | Forks: 6

# Warren AI 原生的安全告警管理 —— 不仅仅是 AI 辅助,而是从头构建,旨在让 AI Agent 执行安全分析师的工作。

1. **告警摄入** — 安全产品 (GuardDuty, SIEM, EDR 等) 通过 webhook 将告警发送到 Warren 2. **AI 诊断** — LLM 生成摘要,查询威胁情报以进行丰富化,并分配严重性 3. **调查** — 经过丰富化的告警在 Slack 或 Web UI 中以工单形式出现。团队成员可以审查它们,并与 AI Agent 聊天,使用集成工具和数据源深入挖掘

Warren: AI Security Alert Triage

## 为什么选择 Warren? 安全团队淹没在告警中。分析师将大部分时间花在重复性的分类工作上 —— 对告警进行分类、丰富化和关闭,结果却发现它们只是噪音。 Warren 通过 **将安全分析师的工作流分解为离散的、可组合的阶段**,并将每个阶段重建为 AI 原生流程来解决这个问题: | 传统工作流 | Warren 的方法 | |---|---| | 分析师手动分类传入的告警 | **策略 + AI 丰富化** 自动转换、上下文化并分类告警 | | 分析师逐一查询威胁情报工具 | **AI Agent 编排工具调用** 跨多个来源并行执行 | | 分析师凭记忆撰写发现 | **LLM 综合** 丰富化结果为结构化结论 | | 知识存在于个别分析师的脑海中 | **Agent 记忆系统** 积累并评估组织知识 | | 跨班次的诊断决策不一致 | **诊断策略** 强制执行标准化的决策标准 | 这不是一个生硬添加了安全工具的通用 AI Agent。Warren 是专为安全运营领域量身定制的,具有专为告警调查实际运作方式设计的专门上下文工程、记忆架构和工作流编排。 ## 工作原理 ### 基于 Slack 的多 Agent 调查 Warren 作为 **Slack 原生的多 Agent 系统** 运行。当告警到达时,它会附带 AI 生成的分析发布到 Slack 频道。团队成员直接在 Slack 帖子中与 Warren 互动 —— `@warren` 触发一个调查 Agent,可以将工作并行委派给专门的子 Agent: ``` User asks @warren in Slack thread └─ Orchestrator Agent ├─ BigQuery Agent → query audit logs, access patterns ├─ Falcon Agent → pull EDR endpoint data from CrowdStrike ├─ Slack Agent → search related conversations └─ Direct tools → VirusTotal, OTX, Shodan, AbuseIPDB, URLScan ``` 每个子 Agent 自主决定运行哪些查询以及如何解释结果。Slack 帖子中的实时进度跟踪会显示 Agent 工作时的动态。

Slack integration with interactive investigation

### Agent 记忆 Agent **从每次调查中学习**。每次执行后,LLM 驱动的反思会提取声明 —— 独立的事实,例如 *"来自此 CIDR 范围的 SSH 暴力破解每周出现且总是噪音"*。声明与向量嵌入和质量评分一起存储,这些评分会随时间演变:有帮助的记忆得到增强,有害的记忆受到惩罚并最终被修剪。 结果:Agent 的工作能力随着时间的推移而提高。常见的误报模式被更快地识别。无需人工管理即可积累特定于环境的知识。 ### 告警处理流水线 在告警到达 Slack 之前,它们会经过一个策略驱动的流水线: 1. **摄入策略** (Rego/OPA) — 转换和过滤原始 webhook 数据 2. **元数据生成** — LLM 填充缺失的标题和描述 3. **丰富化** — 并行多 Agent 调查(与上述系统相同) 4. **诊断策略** (Rego/OPA) — 发布、归档或拒绝 策略用 **Rego** 编写,无需代码更改即可部署。告警到达 Slack 时已经过调查和上下文化。 ### Web UI 与持续改进 基于 React 的仪表板,用于告警管理、带有结构化发现的工单工作流以及交互式 AI 聊天。

Warren Dashboard

每次调查都会反馈到系统中:**Agent 记忆** 捕获模式,**标签系统** 对告警进行分类以进行工作流跟踪,具有结构化结论的 **已解决工单** 构建造福整个团队的组织知识。 ## 快速开始 ``` # 前提条件 export PROJECT_ID=your-gcp-project gcloud auth application-default login gcloud services enable aiplatform.googleapis.com --project=$PROJECT_ID # 运行 Warren (内存存储,无 auth) docker run -d -p 8080:8080 \ -v ~/.config/gcloud:/home/nonroot/.config/gcloud:ro \ -e WARREN_GEMINI_PROJECT_ID=$PROJECT_ID \ -e WARREN_NO_AUTHENTICATION=true \ -e WARREN_NO_AUTHORIZATION=true \ -e WARREN_ADDR=127.0.0.1:8080 \ ghcr.io/secmon-lab/warren:latest serve # 发送测试告警 curl -X POST http://localhost:8080/hooks/alert/raw/test \ -H "Content-Type: application/json" \ -d '{"title": "SSH brute force", "source_ip": "45.227.255.100"}' ``` 访问 http://127.0.0.1:8080 以访问仪表板。 ## 集成 ### 告警摄入 - **Webhook (原始 JSON)** — 任何带有 JSON body 的 HTTP POST - **Google Cloud Pub/Sub** — 订阅告警主题 - **AWS SNS** — 通过 SNS HTTP 端点接收告警 ### 威胁情报工具 - [**VirusTotal**](./pkg/tool/vt/README.md) — IP、域名、文件哈希、URL 信誉查询 - [**AlienVault OTX**](./pkg/tool/otx/README.md) — IPv4/IPv6、域名、主机名、文件哈希指标 - [**URLScan.io**](./pkg/tool/urlscan/README.md) — 提交并分析可疑 URL - [**Shodan**](./pkg/tool/shodan/README.md) — 互联网面向主机、域名和设备搜索 - [**AbuseIPDB**](./pkg/tool/ipdb/README.md) — IP 地址信誉评分 - [**abuse.ch MalwareBazaar**](./pkg/tool/abusech/README.md) — 恶意软件哈希查询 - [**WHOIS**](./pkg/tool/whois/README.md) — 域名和 IP 注册查询 ### 代码与设备工具 - [**GitHub App**](./pkg/tool/github/README.md) — 代码搜索、Issue 搜索、文件内容检索 - [**Microsoft Intune**](./pkg/tool/intune/README.md) — 设备合规状态、登录历史 - [**Slack Message Search**](./pkg/tool/slack/README.md) — 搜索工作区消息以获取上下文 ### 子 Agent - [**BigQuery Agent**](./pkg/agents/bigquery/README.md) — 通过自然语言查询安全日志数据 - [**CrowdStrike Falcon Agent**](./pkg/agents/falcon/README.md) — 查询 EDR 事件、告警和端点事件 - [**Slack Search Agent**](./pkg/agents/slack/README.md) — 搜索和总结 Slack 对话 ### 协作与 UI - **Slack** — 具有交互式按钮、基于帖子的调查、实时进度跟踪的原生机器人 - **Web UI** — 用于告警管理、工单工作流、AI 聊天的 React 仪表板 - **GraphQL API** — 对告警、工单、知识的编程访问 ### 基础设施 - **Vertex AI (Gemini)** — 用于告警分析、元数据生成、Agent 编排的 LLM - **Cloud Firestore** — 告警、工单、知识、Agent 记忆的持久存储 - **Cloud Run** — Serverless 部署 - **Cloud Storage** — 告警数据归档 - **MCP** — 通过 [Model Context Protocol](./doc/operation/mcp.md) 扩展 Agent 工具 ## 文档 | 类别 | 文档 | |----------|-----------| | **从这里开始** | [入门指南](./doc/getting-started.md) — 5 分钟内处理您的第一个告警 | | **概念** | [核心概念](./doc/concepts.md) — Alerts, tickets, pipeline, clustering | | **运维** | [告警调查](./doc/operation/alert-investigation.md) · [策略指南](./doc/operation/policy.md) · [知识管理](./doc/operation/knowledge.md) · [MCP 集成](./doc/operation/mcp.md) | | **部署** | [GCP 设置](./doc/deployment/gcp.md) · [Slack 集成](./doc/deployment/slack.md) | | **参考** | [配置](./doc/reference/configuration.md) · [API & Webhooks](./doc/reference/api.md) | ## 许可证 Apache 2.0 许可证
标签:AI安全, Chat Copilot, DLL 劫持, EDR集成, EVTX分析, Python安全工具, SecOps, SIEM集成, slack集成, 事件调查, 云安全架构, 告警分类, 告警管理, 告警降噪, 大语言模型, 威胁情报, 安全事件响应, 安全运营, 开发者工具, 扫描框架, 日志审计, 结构化提示词, 网络安全, 自动化分类, 请求拦截, 隐私保护