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, 告警归一化, 告警疲劳, 多线程, 安全运营, 扫描框架, 自定义脚本