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-community2. 環境設定
本專案已附帶一個 .env 範本檔案(內容為 ******),請在專案根目錄確認 .env 檔案存在,並將其中的內容修改為您真實的 NVIDIA API Key:
請將下方的星號替換為您的真實 Key,例如: nvapi-xxxxx... NVIDIA_API_KEY="nvapi-******************************",另外Wazuh 連線資訊與帳號密碼已內建於 app.py 中,請將**改成自己的帳密
3. 啟動系統
在Terminal 或 PowerShell 輸入以下指令啟動:
python -m streamlit run app.py4. 系統截圖
截圖一:
功能說明: 此畫面展示了系統的即時監控覆蓋率(戰情儀表板)、活躍主機數量,以及偵測到的威脅戰術統計,下方可看到 JSON 原始資料結構欄。
截圖二:
功能說明: 此畫面展示 JSON 原始資料結構欄內的內容
截圖三:
功能說明: 此畫面展示了 AI 扮演資安長 (CISO) 角色,針對當前警報數據所生成的全中文風險評估報告與防禦建議。
