智能安全运维仪表板

一个结合生成式AI与Wazuh API的智能安全运维仪表板,提供实时监控、威胁猎捕和自动化风险评估功能。

  • by Akizuki-fju
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Akizuki-fju/Wazuh-AI-MCP-Server

使用说明

Wazuh AI Security Ops Dashboard

An Intelligent SIEM Interface powered by Generative AI (Llama-3) & Wazuh API

結合生成式 AI 與資安監控,實現自動化威脅獵捕與戰情分析。

專案簡介

本專案實作了一個標準化的 Wazuh MCP Server (Model Context Protocol)。

將 Wazuh SIEM 複雜的 API 封裝為 AI 模型可理解的 工具 與 資源,透過此伺服器,大型語言模型 (如 Llama-3) 可以直接與 Wazuh Manager 進行互動,自主執行查詢 Agent 狀態、撈取 Log、分析威脅警報等操作。

專案內含一個 Streamlit 戰情儀表板 作為 MCP Client 的參考實作,展示如何利用 AI Agent 進行全自動化的資安維運。

核心功能

  • **即時戰情儀表板 **
    • 可視化呈現系統監控覆蓋率。
    • 即時統計活躍主機與離線主機數量。
  • 威脅獵捕
    • 自動對接 Wazuh API,擷取 MITRE ATT&CK 框架下的高風險警報。
    • 偵測異常程序與未授權的網路連接埠。
  • AI 資安智囊
    • 利用 LLM 自動分析 JSON 格式的原始日誌。
    • 生成全中文的風險評估報告與防禦建議。
  • 企業級整合
    • 支援 Wazuh Token 自動化認證管理。
    • 相容於Self-signed Cert的內部環境。

技術架構

  • Frontend: Streamlit
  • Backend: Wazuh API (v4.x)
  • Protocol: Model Context Protocol (MCP)
  • Language: Python 3.11+
  • AI Engine: NVIDIA NIM (Llama-3.1-70b-instruct)
  • Environment: Docker / VirtualBox (Ubuntu Server & Windows Agent)

快速開始

1. 安裝

您可以選擇直接安裝套件,或是使用 requirements.txt 安裝:

方法一:使用 requirements.txt

pip install -r requirements.txt

方法二:手動安裝所有套件

pip install streamlit requests python-dotenv langchain-openai langchain-community

2. 環境設定

本專案已附帶一個 .env 範本檔案(內容為 ******),請在專案根目錄確認 .env 檔案存在,並將其中的內容修改為您真實的 NVIDIA API Key:

請將下方的星號替換為您的真實 Key,例如: nvapi-xxxxx... NVIDIA_API_KEY="nvapi-********************************",另外Wazuh 連線資訊與帳號密碼已內建於 app.py 中,請將****改成自己的帳密

3. 啟動系統

在Terminal 或 PowerShell 輸入以下指令啟動:

python -m streamlit run app.py

4. 系統截圖

截圖一:

功能說明: 此畫面展示了系統的即時監控覆蓋率(戰情儀表板)、活躍主機數量,以及偵測到的威脅戰術統計,下方可看到 JSON 原始資料結構欄。


截圖二:

功能說明: 此畫面展示 JSON 原始資料結構欄內的內容


截圖三:

功能說明: 此畫面展示了 AI 扮演資安長 (CISO) 角色,針對當前警報數據所生成的全中文風險評估報告與防禦建議。