vastlimits/pySigma-backend-uberAgent
GitHub: vastlimits/pySigma-backend-uberAgent
一个将 Sigma 通用检测规则转换为 uberAgent uAQL 查询语言的后端插件,支持多版本兼容和配置块输出。
Stars: 0 | Forks: 1



# pySigma uberAgent 后端
这是 pySigma 的 uAQL 后端。它提供了 `sigma.backends.uberAgent` 包,其中包含 `uberAgentBackend` 类。
此外,它在 `sigma.pipelines.uberAgent` 中包含以下处理管道:
* uberagent: 兼容最新发布的 uberAgent 版本。
* uberagent-7.4.0: 兼容 uberAgent 7.4.0 的事件和属性。
* uberagent-7.5.0: 兼容 uberAgent 7.5.0 的事件和属性。
* uberagent-develop: 兼容即将发布的 uberAgent 版本。
它支持以下输出格式:
* default: 生成普通 uAQL 查询。
* conf: 生成 `[ThreatDetectionRule]` 配置块。
此后端目前由以下人员维护:
* [vast limits GmbH](https://github.com/vastlimits/)
# 使用说明
此后端提供了与 [sigma-cli](https://github.com/SigmaHQ/sigma-cli) 工具包的集成。
虽然 sigma-cli 的官方文档全面介绍了其功能,但本指南特别侧重于其与 uberAgent 后端结合使用的说明。
安装 uberAgent 后端:
```
poetry add pySigma-backend-uberAgent
```
通过以下方式验证安装:
```
sigma list pipelines
+-------------------+----------+---------------------+-----------+
| Identifier | Priority | Processing Pipeline | Backends |
+-------------------+----------+---------------------+-----------+
| uberagent-7.4.0 | 20 | uberAgent 7.4.0 | uberagent |
| uberagent-7.5.0 | 20 | uberAgent 7.5.0 | uberagent |
| uberagent-develop | 20 | uberAgent develop | uberagent |
+-------------------+----------+---------------------+-----------+
```
## 使用示例
### 转换为最新的 uberAgent 版本
要为最新版本的 uberAgent 转换 `process_creation` 规则,请使用以下命令:
```
sigma convert -s -f conf -p uberagent -t uberagent "..\sigma\rules\windows\process_creation\" > process_creation.conf
```
其中,
- `-f conf` 指定输出格式为配置块。
- `-p uberagent` 确保与最新的 uberAgent 版本兼容。
### 针对旧版 uberAgent
如果您想针对旧版本的 uberAgent,请在管道中指定所需的版本。
例如:
```
sigma convert -s -f conf -p uberagent-7.0.0 -t uberagent "..\sigma\rules\windows\process_creation\" > process_creation.conf
```
此命令将生成兼容 uberAgent 版本 7.0.0 的配置,而不是最新版本。
## 简化使用指南
一旦设置好 sigma-cli 和 pySigma-uberAgent-backend 的环境,您就可以利用实用脚本简化规则生成过程。
### 默认规则生成
执行以下命令,为当前发布的 uberAgent 版本复制并转换 Sigma 规则:
```
cd pySigma-backend-uberAgent
mkdir build
cd build
../copy-rules.py "/path/to/sigma/rules"
../convert-rules.sh $(pwd)
```
### 指定 uberAgent 版本
要为特定版本的 uberAgent(例如 uberAgent 6.0.0)生成规则,请执行以下步骤:
```
cd pySigma-backend-uberAgent
mkdir build
cd build
../copy-rules.py "/path/to/sigma/rules"
../convert-rules.sh $(pwd) uberagent-7.5.0
```
# 开发指南
## 单元测试
我们通过单元测试为此后端维护严格的测试制度。在引入新功能时,请确保同时添加相应的单元测试。
要运行单元测试,请执行:
```
poetry run pytest --cov=sigma --cov-report term --cov-report xml:cov.xml -vv
```
## 与 sigma-cli 集成
当您更新此后端时,请记得:
1. 在 `pyproject.toml` 中增加版本号
2. 使用以下命令编译包:
```
poetry build
```
在 `sigma-cli` 环境中,使用以下命令将 uberAgent 作为本地后端集成:
```
poetry add ..\pySigma-backend-uberAgent\dist\pysigma_backend_uberagent-X.Y.Z.tar.gz
```
确保将 **X.Y.Z** 替换为更新后的版本号,并调整路径以指向构建包的位置。
标签:AMSI绕过, DevSecOps, EDR, pySigma, Reconnaissance, Sigma规则, uAQL, uberAgent, vast limits, 上游代理, 云计算, 后端转换器, 威胁检测, 安全规则引擎, 查询生成, 目标导入, 端点安全, 网络安全, 脆弱性评估, 补丁管理, 规则引擎, 逆向工具, 隐私保护