frack113/sigmacatch

GitHub: frack113/sigmacatch

Sigmacatch 通过实时捕获 Windows 事件并与 Sigma 规则匹配,自动生成用于 SigmaHQ 规则库的回归测试数据。

Stars: 1 | Forks: 0

# Sigmacatch 通过 **Windows Event Log API** (`winevt`) 捕获真实的 Windows 事件,将它们与 [SigmaHQ](https://github.com/SigmaHQ/sigma) 规则进行匹配,并输出准备用于 SigmaHQ PR 的结构化回归数据。 ## 功能简介 ``` SigmaHQ rules (auto-cloned) ↓ WinevtCollector (live Windows events) ↓ Sigma engine evaluation (every event against all rules) ↓ regression_data// ├── .json ← flat event (Sigma keys) ├── .evtx ← valid EVTX (via EvtWriteFile) └── info.yml ← SigmaHQ-compatible metadata ``` ## 快速开始 ``` cargo build --release ./target/release/sigmacatch ``` 首次运行时,将创建一个包含默认值的 `config.yaml`: ``` author: "your-username" once: false offline: false log: level_file: "debug" clear_on_start: true ``` ### CLI 标志 | 标志 | 描述 | |------|-------------| | `--author ` | 覆盖检测到的用户名 | | `--once` | 执行单次循环后退出 | | `--offline` | 使用现有的 SigmaHQ 仓库(不进行 git fetch) | | `--create-config` | 创建包含默认值的 `config.yaml` | ## 环境要求 - **Windows** 且已安装 [Sysmon](https://docs.microsoft.com/en-us/sysinternals/downloads/sysmon) —— 这是获取丰富事件(ParentImage、CommandLine、哈希等)所必需的 - Rust 2021 edition (1.70+) - 访问 `Security` 和 `System` Event Log 通道的管理员权限 ## 交叉编译 (Linux → Windows) ``` rustup target add x86_64-pc-windows-gnu cargo build --release --target x86_64-pc-windows-gnu ``` 在 Linux/macOS 上,收集器是一个 stub(返回空的 vec)—— pipeline 仍可进行端到端运行以供测试。 ## 文档 | | English | Francais | |---|---|---| | 架构 | [EN](docs/en/architecture.md) | [FR](docs/fr/architecture.md) | | 架构参考 | [EN](docs/en/architecture-reference.md) | [FR](docs/fr/architecture-reference.md) | | 构建 | [EN](docs/en/build.md) | [FR](docs/fr/build.md) | | 输出格式 | [EN](docs/en/output-format.md) | [FR](docs/fr/output-format.md) | | 回归数据格式 | [EN](docs/en/regression-data-format.md) | [FR](docs/fr/regression-data-format.md) | ## 许可证 MIT
标签:Rust, SIEM检测, Sigma规则, Windows事件日志, 可视化界面, 回归测试, 日志采集, 目标导入, 网络流量审计, 通知系统