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, 代码分析, 凭证管理, 规则解析