1tsprune/SigOne
GitHub: 1tsprune/SigOne
SigOne 是一个数据源无关的安全告警标准化与每日摘要 pipeline,通过 n8n 和 Postgres 将多源 SIEM/EDR 告警归一化并以 LLM 生成可操作简报来缓解告警疲劳。
Stars: 0 | Forks: 0
# SigOne
任何 SIEM,一份每日简报。一个基于 n8n、Postgres 和结构化 LLM 输出构建的、与数据源无关的安全警报摘要 pipeline。
许可证:MIT · 平台:n8n · 状态:MVP v0.1
## 如果你是... 从这里开始
| 如果你是... | 从这里开始 |
| --- | --- |
| 第一次接入你的 SIEM | [`sources//source-card.md`](./sources/) |
| 为不受支持的 SIEM 编写映射 | [`docs/mapping-config-spec.md`](./docs/mapping-config-spec.md) |
| 想要查看摘要格式的 SOC 管理员 | [`examples/sample-digest.md`](./examples/sample-digest.md) |
| 拥有多个客户 SIEM 的 MSSP | [`methodology/01-source-onboarding.md`](./methodology/01-source-onboarding.md) |
| 查看 MITRE 映射策略是什么 | [`methodology/04-mitre-passthrough-policy.md`](./methodology/04-mitre-passthrough-policy.md) |
| 招聘人员 / 招聘经理 | README + 一个[Source Card](./sources/) + [示例摘要](./examples/sample-digest.md) |
## 这是什么
SigOne 从任何 SIEM 或 XDR 摄取安全警报,通过每个源特定的映射 config 将其标准化为一个通用 schema,并将结构化的每日简报发送至 WhatsApp、Slack 或 Telegram。它从不虚构 MITRE ATT&CK 映射——它只透传源已提供的内容,否则将该字段留空(null)。添加新的 SIEM 只需编写映射 config,而无需修改新的 workflow 逻辑。
## 快速开始
1. 在你的 PostgreSQL 实例中执行 [`db/schema.sql`](./db/schema.sql)。
2. 将 [`workflows/`](./workflows/) 目录中的 workflow 导入你的 n8n 实例。
3. 在 `source_registry` 表中配置你的 SIEM(例如 Wazuh)。使用 [`sources/`](./sources/) 中提供的 `mapping.json` 文件。
4. 将你的 SIEM webhook 指向 `sigone-ingest` webhook endpoint(确保设置了认证 headers)。
## 支持的来源
- **Wazuh** (v0.1) — MITRE 标记:*Null,除非手动标记*
- **Splunk HEC** (v0.2) — MITRE 标记:*Null,除非通过 ES/CIM 手动标记*
- **Generic JSON** (v0.2) — MITRE 标记:*用户自定义 fallback*
- **Microsoft Sentinel** (v0.3) — MITRE 标记:*原生提取*
- **CrowdStrike Falcon** (v0.3) — MITRE 标记:*原生提取*
- **Elastic Security** (v1.0) — MITRE 标记:*条件性原生提取*
## 工作原理
1. **摄取(实时):**你的 SIEM 将警报发送至通用 webhook。SigOne 会查找数据源的映射 config,将 payload 标准化为通用 schema,并将其 upsert 到 Postgres 中。
2. **总结(计划批处理):**每日摘要 workflow 会遍历活动数据源,使用 SQL 计算精确统计数据(不使用 LLM),仅使用 LLM 将事件总结为可操作的主题,并通过配置的频道(默认:Telegram)发送摘要。
## 添加新来源
添加新数据源无需编写新的 n8n workflow 逻辑。只需编写新的 JSON 映射 config。有关语法、null-fallback 逻辑以及所需的数组扁平化行为,请参见 [`docs/mapping-config-spec.md`](./docs/mapping-config-spec.md)。
然后,你可以通过内置的 [`sigone-admin.json`](./workflows/sigone-admin.json) webhook 表单添加你的数据源,而无需手动操作 SQL 数据库。
## 示例输出
有关典型的每日简报,请参见 [`examples/sample-digest.md`](./examples/sample-digest.md)。
## 仓库结构
- [`methodology/`](./methodology/):标准化以及严重性/MITRE 映射背后的原则。
- [`sources/`](./sources/):特定 SIEM/XDR 的 Source Cards 和映射配置。
- [`docs/`](./docs/):规范和 schema 参考。
- [`db/`](./db/):数据库 schemas。
- [`workflows/`](./workflows/):导出的 n8n workflow 定义。
- [`examples/`](./examples/):示例输出和原始数据 fixtures。
- [`tests/`](./tests/):映射配置测试脚本。
## MITRE ATT&CK 策略
我们**绝不**猜测。我们要么从源 payload 中提取,要么将其留空(null)。详情请参见 [`methodology/04-mitre-passthrough-policy.md`](./methodology/04-mitre-passthrough-policy.md)。
## 路线图
- **v0.1:**核心 pipeline、Postgres schema、Telegram 支持、Wazuh 预设。
- **v0.2:**数据源无关验证(Splunk HEC、Generic JSON)、UI 管理表单。
- **v0.3:**MSSP 支持(多租户)、Sentinel、CrowdStrike、Slack 支持。
- **v1.0:**稳定版发布、Elastic 支持、最终版文档。
## 安全与隐私
所有 API 密钥、数据库凭证和 bot tokens 仅存储在 n8n 凭证库中。数据库的 `raw` 列保留了原始事件 payload 以供审计,但 LLM 仅接收有限的、字段提取后的摘要 payload。
## 作者
**Eky Januarta** — [1tsprune.com](https://1tsprune.com)
## 许可证
MIT 许可证。
标签:C2, Homebrew安装, n8n, Postgres, 告警归一化, 告警疲劳, 多线程, 安全运营, 扫描框架, 自定义脚本