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 规则。



## 🚀 功能特性
- **✔ 现代 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解析, 威胁检测, 安全运营, 扫描框架, 文件索引, 无后门, 渗透测试辅助, 规则管理, 逆向工具