Aphifer07/triagewall

GitHub: Aphifer07/triagewall

面向自建 SOC 的本地 LLM 告警分诊工具,通过 Ollama 在本地对 Suricata 和 Wazuh 产生的海量告警进行智能筛选和优先级排序,帮助安全分析师从告警洪流中快速定位高价值威胁。

Stars: 0 | Forks: 0

# Triagewall **适用于自建 SOC 的本地 LLM 告警分诊工具。** 将其指向你的 Suricata `eve.json` 和 Wazuh API,告别告警洪流。完全在你的硬件上运行。无遥测数据。不依赖云。AGPL-3.0。 ## 为什么开发这个工具 如果你在家庭实验室中运行 Suricata,你就会知道问题所在。ET Open 规则集每天会产生数百个告警,其中绝大多数是噪音——TLS SNI 匹配、正常 CDN 的 DNS 查询、你自己的扫描行为、你孩子的游戏流量。有价值的信号就隐藏其中,但你不可能在晚上 11 点通过逐个阅读每一条告警来找到它们。 商业 XDR 产品通过基于云的机器学习解决了这个问题,但每月需支付 500 美元的账单。开源 SIEM 技术栈(Wazuh、TheHive、Cortex)为你提供了数据,但缺少分诊层。Triagewall 就是这缺失的一层,专为那些已经自建安全栈并希望继续保持这种方式的人而设计。 ## 功能特性 - **实时读取 Suricata `eve.json`** - **通过 Wazuh API 读取 Wazuh 告警**(可选) - **使用本地 LLM 对每条告警进行分诊**(通过 Ollama,默认模型:`gemma4:e4b`) - **使用精选的 SID 白名单预过滤已知无害规则**(即“我已经知道什么是 STUN 流量了,别再提醒我”过滤器) - **从你的判定中学习** — 将告警标记为误报一次,类似告警就会被自动预过滤 - **在简洁的 Web 仪表板中突出显示重要内容** - **发送每日摘要**至 Discord、Slack、ntfy 或电子邮件(计划中) ## 它不做什么 - 它不会阻断流量。Triagewall 是只读的——它只进行分诊,不执行操作。如果你想要自动阻断,请使用 Wazuh Active Response 或你的防火墙,而不是这个。 - 它不能取代 SOC 分析师。它能把 200 条告警缩减为 5 条。但这 5 条告警仍然需要你来处理。 - 默认情况下,它不会调用 OpenAI、Anthropic 或任何云端 LLM。如果你想为复杂案例启用云端扩展层,这是一个需手动开启的选项——在你切换之前,它始终处于关闭状态。 ## 快速开始(计划在 v0.1 中推出) ``` git clone https://github.com/Aphifer07/triagewall.git cd triagewall cp .env.example .env # 编辑 .env:设置 OLLAMA_HOST 和 EVE_PATH docker compose up -d ``` ## 性能与准确性 在运行 OPNsense → Suricata(ET Open 规则集,仅告警模式)→ Triagewall 的家庭实验室中测得。 | 指标 | 数值 | |---|---| | 每天获取的告警数 | ~62,000–80,000 | | 预过滤(零 LLM 开销) | ~90% | | LLM 分类的告警 | ~10% | | 每条告警的平均 LLM 延迟 | ~2–10 秒 | | 守护进程内存占用(不包括 Ollama) | ~13 MB | 这些是开发环境中的真实数据。你的实际数据会因你的网络、Suricata 规则集以及预过滤调优情况而异。 ## 路线图 - [x] Suricata `eve.json` 获取 - [x] Wazuh API 集成 - [x] 带有反馈循环的 LLM 分诊 - [x] Web 仪表板(基础版) - [x] 针对已知无害签名的精选预过滤器 - [ ] Docker compose 打包(v0.1) - [ ] 带有匿名化样本数据的演示模式(v0.1) - [ ] 仅通过 `.env` 进行配置(无需修改代码)(v0.1) - [ ] 带有陈旧数据检测的健康检查端点(v0.1) - [ ] Discord webhook 摘要(v0.1) - [ ] 调查代理 — 跨来源关联标记的告警(v0.2) - [ ] Pi-hole DNS 关联(v0.2) - [ ] 多主机集群模式(团队版) ## 免费版与托管版 Triagewall **对自建的单节点使用永久免费**。遵循 AGPL-3.0 协议。 如果你不想自己运维 Triagewall 节点,**Triagewall Cloud**(每月 15 美元,计划于 2026 年底推出)可以为你提供托管服务——相同的代码,在你选择的区域运行,应用本身无任何遥测数据。专为那些只想获取告警而不想维护系统的家庭实验室用户设计。 对于团队,多主机集群、SSO 和共享判定数据库将在 **Triagewall Team**(每月 49 美元)中提供。为涉密环境和物理隔离网络提供单租户本地部署许可证——请联系 licensing@triagewall.io。 ## 贡献 Triagewall 尚处于预发布阶段,代码库正在快速迭代。我们欢迎各种贡献,但在提交大型 PR 之前,请先开启一个 Issue 进行讨论。 - 错误报告 → [Issues](https://github.com/Aphifer07/triagewall/issues) - 功能建议 → [Discussions](https://github.com/Aphifer07/triagewall/discussions) - 安全漏洞披露 → security@triagewall.io - 通用联系方式 → hello@triagewall.io 开发设置请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。 ## 许可证 AGPL-3.0。详见 [LICENSE](LICENSE)。 针对需要在不遵守 AGPL §13 合规要求的情况下交付 Triagewall 的组织,我们提供商业许可证——请发送电子邮件至 licensing@triagewall.io。 ## 致谢 基于 [Wazuh](https://wazuh.com)、[Suricata](https://suricata.io)、[Ollama](https://ollama.com)、[FastAPI](https://fastapi.tiangolo.com) 以及更广泛的自建安全社区打造。灵感来源于 [SOCFortress CoPilot](https://github.com/socfortress/CoPilot) 以及社区成员发布的各种 Wazuh+Suricata 分诊实验——这些都解决了该问题的相邻部分,并深刻影响了 Triagewall 解决该问题的方式。
标签:AI风险缓解, Homelab, Linux运维, LLM, LLM评估, Metaprompt, Ollama, Suricata, Unmanaged PE, Wazuh, Web仪表盘, 告警分诊, 安全运营, 实时日志分析, 家庭实验室, 扫描框架, 本地大模型, 现代安全运营, 网络安全, 网络安全, 自托管, 误报过滤, 请求拦截, 逆向工具, 隐私保护, 隐私保护