bi-sec-pub/wazuh-visualizer
GitHub: bi-sec-pub/wazuh-visualizer
将 Wazuh 检测规则之间的依赖关系解析为交互式 SVG 图表的 PowerShell 可视化工具,帮助管理员理清复杂规则集的继承与引用结构。
Stars: 0 | Forks: 0
# 显示 WazuhRuleDeps
将 Wazuh 检测规则之间的依赖关系可视化为交互式 SVG 图表。
该脚本会解析目录中的所有 Wazuh 规则 XML 文件,构建一个全局的规则 ID 索引,并为每个 XML 文件生成一个 SVG 依赖关系图。跨多个 XML 文件的依赖关系会自动解析,并且所有生成的图表都会建立交叉链接,以便于导航。
## 功能
- 解析目录中的所有 Wazuh `*.xml` 规则文件
- 构建全局规则 ID 索引
- 为每个 XML 文件生成一个交互式 SVG 依赖关系图
- 解析跨不同 XML 文件的依赖关系
- 显示:
- 规则 ID
- `if_sid` 依赖关系
- `if_matched_sid` 依赖关系
- 可点击的规则 ID,可直接跳转到包含所引用规则的 SVG
- 生成一个中央 `index.xml`
- 全文搜索涵盖:
- 规则 ID
- `if_sid`
- `title` 字段值
- 可选自动打开生成的 index 文件
## 环境要求
- PowerShell 7.x(推荐)
- Wazuh 规则 XML 文件
不需要任何外部模块。
## 用法
```
.\Show-WazuhRuleDeps.ps1 `
-InputFolder .\rules `
-OutputFolder .\svg-out
```
自动打开生成的 index 文件:
```
.\Show-WazuhRuleDeps.ps1 `
-InputFolder .\rules `
-OutputFolder .\svg-out `
-Open
```
## 参数
| 参数 | 描述 |
|-----------|-------------|
| `InputFolder` | 包含 Wazuh XML 规则文件的目录。 |
| `OutputFolder` | 写入 SVG 文件和 `index.xml` 的目录。 |
| `Open` | 在生成后打开 `index.xml`。 |
## 输出结果
输出目录示例:
```
svg-out/
├── 0010-rules.svg
├── 0020-sysmon.svg
├── 0030-windows.svg
├── ...
└── index.xml
```
每个 XML 文件生成一个 SVG,包含:
- rule 块
- 依赖关系
- 指向其他 SVG 中被引用规则的超链接
生成的 `index.xml` 提供:
- 导航至每一个生成的 SVG
- 对已索引的规则元数据进行全文搜索
- 浏览所有生成图表的中央入口
## 工作原理
1. 扫描所有 XML 规则文件。
2. 为每个规则 ID 构建全局索引。
3. 解析所有文件中的 `if_sid` 和 `if_matched_sid` 引用。
4. 为每个 XML 生成一个 SVG 依赖关系图。
5. 插入用于跨文件导航的超链接。
6. 生成 `index.xml` 用于导航和搜索。
## 示例
```
Rule 100100
│
├── if_sid → Rule 18107
│ │
│ └── defined in windows_rules.xml
│
└── referenced by Rule 100110
```
选择一个被引用的规则会打开包含其定义的 SVG。
## 典型用例
- 探索大型 Wazuh 规则集
- 理解规则继承
- 追踪检测链
- 导航自定义和上游规则
- 分析跨文件依赖关系
- 文档说明和架构审查
## 许可证
MIT。免费使用或复制。不提供任何担保。
标签:AI合规, IPv6, Libemu, PowerShell, Wazuh, 代码分析, 凭证管理, 规则解析