安全数据访问桥接器

Wazuh-OpenSearch MCP Bridge是一款高性能的模型上下文协议服务器,通过FastMCP构建,为AI代理提供直接、实时的Wazuh安全数据访问。

  • by manjeetmk12
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 manjeetmk12/wazuh-mcp-soc-automation

使用说明

Wazuh OpenSearch MCP桥

高性能 模型上下文协议(MCP) 服务器构建于 FastMCP 通过OpenSearch为AI代理提供对Wazuh安全数据的直接、实时访问。

目录

概述

此桥允许代理AI框架(如OpenWebUI或自定义LangGraph设置)直接查询安全遥测。它旨在支持:

  • SOC自动化: 自动增强警报。
  • 漏洞管理: 人工智能驱动的扫描和优先级排序。
  • 代理IR: 使“执行器”代理能够提取日志以进行事件响应。

特性

  • 原始日志搜索: 查询 wazuh-archives-* 进行深入的法医分析。
  • 警报监控: 通过严重性过滤获取实时警报。
  • 特工情报: 检索特定Wazuh代理的状态和元数据。
  • 漏洞查询: 有针对性地搜索漏洞检测器组。

先决条件

  • Python 3.8或更高版本
  • 访问Wazuh OpenSearch实例
  • 所需的Python包(请参阅 需求.txt)

安装

  1. 克隆存储库:

    git clone https://github.com/manjeetmk12/wazuh-mcp-soc-automation.git
    cd wazuh-mcp-soc-automation
    
  2. 创建虚拟环境(推荐):

    python -m venv venv
    source venv/bin/activate  # On Windows use `venv\Scripts\activate`
    
  3. 安装所需的依赖项:

    pip install -r requirements.txt
    

配置

在运行服务器之前,您需要配置与OpenSearch实例的连接:

  1. 复制示例环境文件:

    cp .env.sample .env
    
  2. 编辑 .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,可选):要查询的代理的ID
  • agent_name (str,可选):要查询的代理的名称

退货: 代理数据(状态、版本等)

搜索脆弱性

使用可选查询、时间范围和最低严重级别在OpenSearch中搜索漏洞。

参数:

  • query (str,可选):搜索查询字符串(默认值:“*”)
  • time_range (str,可选):搜索的时间范围(默认值:“1h”)
  • min_level (int,可选):最小漏洞级别(默认值:7)

退货: 符合条件的漏洞列表

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

贡献

欢迎投稿!请随时提交拉取请求。

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/AmazingFeature)
  3. 提交您的更改(git commit -m 'Add some amazing feature')
  4. 推到分支(git push origin feature/AmazingFeature)
  5. 打开拉取请求

支持

如需支持,请在GitHub存储库上打开问题或联系维护人员。