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事件日志, 可视化界面, 回归测试, 日志采集, 目标导入, 网络流量审计, 通知系统