Wazuh OpenSearch MCP桥

高性能 模型上下文协议(MCP) 服务器构建于 FastMCP 通过OpenSearch为AI代理提供对Wazuh安全数据的直接、实时访问。
目录
- search_raw_logs - 搜索警报 - 获取代理数据 - 搜索脆弱性
概述
此桥允许代理AI框架(如OpenWebUI或自定义LangGraph设置)直接查询安全遥测。它旨在支持:
- SOC自动化: 自动增强警报。
- 漏洞管理: 人工智能驱动的扫描和优先级排序。
- 代理IR: 使“执行器”代理能够提取日志以进行事件响应。
特性
- 原始日志搜索: 查询
wazuh-archives-*进行深入的法医分析。 - 警报监控: 通过严重性过滤获取实时警报。
- 特工情报: 检索特定Wazuh代理的状态和元数据。
- 漏洞查询: 有针对性地搜索漏洞检测器组。
先决条件
- Python 3.8或更高版本
- 访问Wazuh OpenSearch实例
- 所需的Python包(请参阅 需求.txt)
安装
- 克隆存储库:
git clone https://github.com/manjeetmk12/wazuh-mcp-soc-automation.git
cd wazuh-mcp-soc-automation- 创建虚拟环境(推荐):
python -m venv venv
source venv/bin/activate # On Windows use `venv\Scripts\activate`- 安装所需的依赖项:
pip install -r requirements.txt配置
在运行服务器之前,您需要配置与OpenSearch实例的连接:
- 复制示例环境文件:
cp .env.sample .env- 编辑
.env包含您的OpenSearch凭据的文件:
OPENSEARCH_HOST="localhost"
OPENSEARCH_PORT=9200
OPENSEARCH_USER=admin
OPENSEARCH_PASSWORD="your-opensearch-password"用法
要启动MCP服务器,请运行:
python src/main.py服务器将启动并监听来自连接的AI代理的MCP请求。
API工具
search_raw_logs
根据查询和时间范围在OpenSearch中搜索原始日志。
参数:
query(str):搜索查询字符串time_range(str,可选):搜索的时间范围(默认值:“1h”)
退货: 与查询匹配的日志条目列表
搜索警报
在OpenSearch中搜索具有指定最低严重级别的Wazuh警报。
参数:
query(str):搜索查询字符串time_range(str,可选):搜索的时间范围(默认值:“1h”)min_level(int,可选):最低警报级别(默认值:0)
退货: 符合条件的警报列表
获取代理数据
从OpenSearch检索代理数据。需要agent_id或agent_name。
参数:
agent_id(str,可选):要查询的代理的IDagent_name(str,可选):要查询的代理的名称
退货: 代理数据(状态、版本等)
搜索脆弱性
使用可选查询、时间范围和最低严重级别在OpenSearch中搜索漏洞。
参数:
query(str,可选):搜索查询字符串(默认值:“\*”)time_range(str,可选):搜索的时间范围(默认值:“1h”)min_level(int,可选):最小漏洞级别(默认值:7)
退货: 符合条件的漏洞列表
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
贡献
欢迎投稿!请随时提交拉取请求。
- 分叉存储库
- 创建功能分支(
git checkout -b feature/AmazingFeature) - 提交您的更改(
git commit -m 'Add some amazing feature') - 推到分支(
git push origin feature/AmazingFeature) - 打开拉取请求
支持
如需支持,请在GitHub存储库上打开问题或联系维护人员。
