aman-amino/Wazuh-rule-manager

GitHub: aman-amino/Wazuh-rule-manager

一款用于索引、搜索和管理 Wazuh XML 规则的现代化 GUI 工具,支持动态 Schema 和增量扫描。

Stars: 0 | Forks: 0

# Wazuh Rule Manager 一款现代化、动态的 GUI 工具,用于索引、搜索和管理 Wazuh XML 规则。 ![Wazuh Rule Manager](https://img.shields.io/badge/Python-3.8+-blue.svg) ![Build](https://img.shields.io/badge/UI-CustomTkinter-orange.svg) ![DB](https://img.shields.io/badge/Database-SQLite-lightgrey.svg) ## 🚀 功能特性 - **✔ 现代 GUI**:采用 `customtkinter` 构建的时尚暗色模式界面。 - **✔ 动态 Schema**:为规则中发现的所有新 XML 标签自动创建数据库列。 - **✔ 递归扫描**:深度扫描文件夹中的所有 `.xml` 规则文件。 - **✔ 智能追踪**:基于 SHA256 哈希的文件状态追踪——仅重新扫描已更改的文件。 - **✔ Group Propagation**:自动处理 `` 标签到各个规则的传播。 - **✔ 全局搜索**:即时搜索所有列(标准标签和自定义标签)。 - **✔ CLI 支持**:为无头环境提供功能完整的命令行界面。 - **✔ 详细规则视图**:在新的详情面板中检查规则的所有属性。 - **✔ 相对路径**:仅存储相对路径,以便在不同系统间更好地移植。 - **✔ 幂等性**:可安全地重新运行扫描;优雅地处理更新和重复项。 - **✔ 单元测试**:针对数据库和解析逻辑的健壮测试。 ## 🛠️ 安装说明 1. **克隆仓库**: git clone https://github.com/aman-amino/Wazuh-rule-manager.git cd Wazuh-rule-manager 2. **安装依赖**: pip install -r requirements.txt ## 📖 使用说明 ### GUI 模式 1. **运行应用程序**: python main.py 2. **选择文件夹**:点击“Select Folder”按钮并选择您的 Wazuh 规则目录(例如 `/var/ossec/ruleset/rules`)。 3. **扫描**:点击“Scan Rules”。该工具将处理所有 XML 文件并将其索引到本地 SQLite 数据库中。 4. **搜索**:使用顶部搜索栏按 ID、描述、匹配字符串或任何其他 XML 标签查找规则。点击规则即可在底部面板中查看其完整详情。 ### CLI 模式 1. **扫描文件夹**: python main.py scan /path/to/rules 2. **搜索规则**: python main.py search "ssh" *在特定列中搜索:* python main.py search "1002" --columns rule_id ### 运行测试 ``` python3 -m unittest discover tests ``` ## 🗄️ 数据库结构 该工具创建一个本地数据库文件: - `wazuh_rules_v2.db`:存储规则和基于 XML 标签动态生成的列。此外,(内部)追踪文件哈希和扫描时间戳以优化性能。 ## 🤝 贡献指南 欢迎贡献!请随时提交 Pull Request。 ## 📄 许可证 本项目采用 MIT 许可证授权。 ## ✅ 待办事项 - [ ] 添加规则编辑器或添加规则的方式
标签:AMSI绕过, CustomTkinter, GUI工具, Python, SQLite, Wazuh, XML解析, 威胁检测, 安全运营, 扫描框架, 文件索引, 无后门, 渗透测试辅助, 规则管理, 逆向工具