使用说明
Wazuh MCP CLI Client
一個功能完整的 Python CLI 工具,用於透過 JSON-RPC over HTTP 與 Wazuh MCP 伺服器通訊。專為網路安全和威脅獵捕操作而設計。
功能特色
- ✅ 完整的 MCP 協議支援(initialize, notifications, tools/list, tools/call)
- ✅ HTTP 傳輸層(JSON-RPC 2.0)
- ✅ 多種 CLI 命令(init, tools, alerts, test, hunt)
- ✅ 自動化測試功能(agents, risks, connectivity)
- ✅ OpenAI LLM 整合的威脅獵捕分析
- ✅ 美觀的表格輸出(使用 Rich 庫)
- ✅ 完整的類型提示和錯誤處理
安裝
依賴套件
pip install -r requirements.txt
或手動安裝:
pip install requests openai rich
設定 OpenAI API Key(用於 hunt 命令)
export OPENAI_API_KEY="your-api-key-here"
或在命令中直接指定:
python wazuh_mcp_cli.py hunt --openai-key "your-api-key-here"
使用方法
1. 初始化 MCP 會話
python wazuh_mcp_cli.py init
這會執行 MCP initialize 流程並顯示伺服器資訊。
2. 列出可用工具
python wazuh_mcp_cli.py tools
顯示所有可用的 Wazuh MCP 工具及其輸入架構。
3. 檢索警報
python wazuh_mcp_cli.py alerts --limit 20
檢索並顯示 Wazuh 警報(預設顯示 10 條)。
4. 測試代理程式
python wazuh_mcp_cli.py test agents
列出所有 Wazuh 代理程式,並分類顯示線上/離線狀態。
5. 測試高風險代理程式
python wazuh_mcp_cli.py test risks --limit 100
分析警報並識別高風險主機,顯示前 5 名高風險代理程式。
6. 測試連線性
python wazuh_mcp_cli.py test connectivity
驗證 MCP 端點的連線性。
7. 威脅獵捕(使用 OpenAI LLM)
python wazuh_mcp_cli.py hunt --limit 50 --model gpt-4o-mini
使用 OpenAI LLM 進行自動化威脅獵捕分析。
命令參考
全域選項
--endpoint URL: MCP 伺服器端點 URL(預設:http://127.0.0.1:8080/mcp)
命令
init
初始化 MCP 會話並顯示伺服器資訊。
tools
列出所有可用的 Wazuh MCP 工具及其輸入架構。
alerts
檢索 Wazuh 警報。
選項:
--limit N: 要檢索的警報數量(預設: 10)
test agents
測試 Wazuh 代理程式,列出線上/離線狀態。
test risks
分析警報以識別高風險主機。
選項:
--limit N: 要分析的警報數量(預設: 100)
test connectivity
測試 MCP 端點的連線性。
hunt
使用 OpenAI LLM 進行自動化威脅獵捕。
選項:
--openai-key KEY: OpenAI API 金鑰(或設定OPENAI_API_KEY環境變數)--limit N: 要分析的警報數量(預設: 50)--model MODEL: 要使用的 OpenAI 模型(預設:gpt-4o-mini)
範例輸出
初始化會話
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ✓ MCP Session Initialized ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
列出工具
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Available Wazuh MCP Tools ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ Tool Name │ Description │ Input Schema ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ get_wazuh_alert_summary│ Retrieve Wazuh alerts │ {"limit": {"type":...} ┃
┃ list_wazuh_agents │ List all Wazuh agents │ {} ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
架構說明
MCPHttpClient 類別
處理與 Wazuh MCP 伺服器的所有 JSON-RPC 通訊:
initialize(): 初始化 MCP 會話list_tools(): 列出可用工具call_tool(): 呼叫 MCP 工具send_request(): 發送 JSON-RPC 請求send_notification(): 發送 JSON-RPC 通知
風險評分演算法
test risks 命令使用以下公式計算風險評分:
風險評分 = (高級別警報數 × 10) + (總警報數 × 0.5) + (唯一規則數 × 2)
高風險主機的識別標準:
- 警報級別 >= 7
- 同一代理程式的重複警報
- MITRE ATT&CK 戰術映射
未來擴展建議
-
IOC 掃描: 掃描警報中的已知威脅指標(IOC)
- 基於雜湊的 IOC 匹配
- IP 地址信譽檢查
- 網域名稱分析
-
JA3 指紋分析: 實作 SSL/TLS 指紋檢測
- 分析網路流量警報
- 匹配已知惡意 JA3 指紋
- 檢測殭屍網路通訊模式
-
橫向移動檢測: 增強關聯引擎
- 追蹤跨主機的身份驗證模式
- 檢測異常 SMB/RDP 連線
- 識別權限提升鏈
-
即時監控: 添加串流警報監控
- WebSocket 支援即時警報
- 警報過濾和路由
- 自訂警報規則
-
報告生成: 匯出威脅獵捕報告
- PDF 報告生成
- JSON/CSV 匯出以整合 SIEM
- 自動化電子郵件通知
-
代理程式管理: 擴展代理程式操作
- 遠端代理程式配置
- 代理程式健康監控
- 自動化補救操作
授權
本專案採用 MIT 授權。
