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仪表盘, 告警分诊, 安全运营, 实时日志分析, 家庭实验室, 扫描框架, 本地大模型, 现代安全运营, 网络安全, 网络安全, 自托管, 误报过滤, 请求拦截, 逆向工具, 隐私保护, 隐私保护