ping2A/sigmazero
GitHub: ping2A/sigmazero
一款纯 Rust 实现的高性能 Sigma 规则评估工具,支持并行处理海量安全日志并输出结构化告警,无需完整 SIEM 即可在本地完成检测规则匹配与验证。
Stars: 2 | Forks: 1

Sigma Zero

[](LICENSE)
# Sigma (Zero) 规则评估器
一款高性能的 Rust 应用程序,用于通过并行处理能力针对海量安全日志评估 Sigma 检测规则。
## 功能特性
- ⚡ **并行处理**:利用 Rayon 发挥所有 CPU 核心性能以实现最大吞吐量
- 📊 **高扩展性**:通过流式和批处理高效处理超大日志文件
- 🎯 **灵活的规则支持**:支持标准 Sigma 规则 YAML 格式
- 🔍 **模式匹配**:包含通配符匹配、正则表达式支持,以及 IP/域名检测
- 🚀 **极速运行**:尽可能采用零拷贝解析进行速度优化
- 📝 **JSON 输出**:结果采用结构化 JSON 格式,便于轻松集成
- **嵌入式测试规则 (JSONL)**:每行可选的 `_sigma_injected_rule` / `_sigma_injected_rules` 字段,用于将 Sigma YAML 封装在日志中并对其进行独立评估(无需全局规则文件;适用于测试和 CI)
## 安装说明
### 前置条件
- Rust 1.70+(从 https://rustup.rs 安装)
### 从源码构建
```
# 克隆或下载项目
cd sigmazero
# 在 release 模式下构建以获得最大性能
cargo build --release
# 二进制文件将位于 target/release/sigma-zero
```
## 使用说明
### 基本用法
```
sigma-zero --rules-dir ./examples/rules --logs ./examples/logs
```
如果每一行需要匹配的日志都通过 [`_sigma_injected_rule`](#embedded-test-rules-in-logs) 提供了自身的规则(参见 `examples/logs/injection_test.jsonl`),则可省略 `--rules-dir`。
### 命令行选项
```
Options:
-r, --rules-dir
Directory or file of Sigma rules (YAML). Optional if logs use
only per-line _sigma_injected_rule / _sigma_injected_rules
-l, --logs Path to log file or directory (JSON/JSONL; one object per line)
-c, --correlation-rules Optional correlation rules directory
-w, --workers Parallel workers (default: CPU count)
-o, --output Output file (default: stdout)
-f, --format [default: text]
--validate Parse rules and exit (no log evaluation)
--filter-tag / --filter-level / --filter-id
--field-map 标签:AMSI绕过, API安全, JSON输出, Rust, Sigma规则, YAML解析, 云计算, 可视化界面, 威胁检测, 安全日志分析, 并行处理, 开源安全工具, 日志解析, 时序数据库, 流式处理, 目标导入, 网络安全, 网络流量审计, 规则引擎, 证书伪造, 逆向工程平台, 通知系统, 隐私保护, 零拷贝, 高性能计算