前言¶
小型 Linux 服務器上,SSH 爆破和可疑 Web 請求往往靠人工翻日誌、手寫 iptables 規則處理。完整 SIEM 或重型 EDR 對 VPS、個人節點來說成本偏高;純腳本又難和日常用的 AI Agent 工作流對齊。下面介紹 SkillHub 上的 Mini-HIDS:把輕量主機檢測與封禁能力封裝成通用 Skill,讓 Agent 通過本地 MCP 查詢狀態、讀告警、執行封禁。
這是什麼¶
Mini-HIDS 在 SkillHub 上的座標爲 @user_9a8108cb/minihids,當前版本 v1.2.6,來源爲社區(community),分類 it-ops-security(子類含服務器運維、安全掃描),發佈者爲 user_9a8108cb(頁面展示作者 netkr)。官方一句話說明是:使用 Agent 來接管您的服務器防火牆(將鏈接發給 Agent 封裝爲 skill)。
Skill 包內基於標準 SKILL.md 格式,底層對應 GitHub 項目 netkr/mini-hids:用 Python 標準庫實現的輕量 Linux 主機入侵檢測,側重單機、可審計、Agent 原生集成。SkillHub 標籤標明 requires_api_key=false,安裝 Skill 本身不依賴額外 API Key。
核心功能¶
以下能力均來自 Skill 包內 SKILL.md 與模塊劃分說明,僅列已寫明的能力。
- 日誌與檢測:滑動時間窗口統計 SSH 登錄失敗;從 Web 訪問日誌識別明顯攻擊載荷;對常見腳本目錄做增量 Webshell 啓發式掃描。
- 封禁與持久化:封禁狀態寫入 SQLite;支持 iptables、nftables、fail2ban 等防火牆後端(可自動檢測或顯式配置)。
- Agent / MCP:
mcp_server.py以 stdio 暴露 MCP 工具,供 Agent 調用,而非面向人的 CLI 主入口。 - MCP 工具(當前暴露列表):
-mini_hids_status
-mini_hids_get_alerts
-mini_hids_get_blacklist
-mini_hids_ban_ip
-mini_hids_unban_ip
-mini_hids_scan_webshell
主要代碼角色:mini_hids.py 守護進程;hids_core.py 控制面 API;hids_common.py 配置、持久化與防火牆邏輯;config.json 爲 daemon 與 MCP 共用配置。
SkillHub 頁面側欄顯示該 Skill 約 1168 次下載;騰訊安全相關掃描結論在頁面元數據中爲「安全,無風險」(具體報告鏈見 SkillHub 詳情頁)。
安裝與啓用¶
通過 SkillHub 安裝到 Agent¶
官方頁面給出的安裝提示爲:先閱讀 SkillHub 安裝文檔,再安裝本 Skill。
請根據 https://skillhub.cn/install/skillhub.md,安裝 @user_9a8108cb/minihids。
若已安裝 skillhub CLI,需把 Skill 裝到當前 Agent 的 skills 目錄(文檔要求使用 --dir,否則默認 ./skills/ 可能不被識別)。示例:
command -v skillhub && skillhub --version
skillhub install @user_9a8108cb/minihids --dir <你的 Agent skills 目錄>
常見路徑(摘自 SkillHub 安裝文檔):
- Cursor:
~/.cursor/skills/ - Claude Code:
~/.claude/skills/ - Codex:
~/.codex/skills/或項目下.agents/skills/
也可從 SkillHub 下載 Zip(頁面鏈接形如 https://api.skillhub.cn/api/v1/download?slug=@user_9a8108cb/minihids,包名對應 v1.2.6),解壓後把 Skill 目錄放到上述 skills 路徑。頁面還提供「安裝到本地 Agent」入口(標註支持 WorkBuddy 等客戶端)。
在目標服務器上跑檢測與 MCP¶
Skill 說明中的典型服務器側步驟如下。
- 按環境修改
config.json(日誌路徑、Web 根目錄、封禁時長、TRUSTED_IPS等)。 - 啓動守護進程(需要讀日誌、寫防火牆時通常需 root):
sudo python3 mini_hids.py
- 啓動本地 MCP 服務:
python3 mcp_server.py
- 在 MCP 客戶端中配置 stdio 啓動方式,例如:
{
"mcpServers": {
"mini-hids": {
"command": "python3",
"args": ["/absolute/path/to/mini-hids/mcp_server.py"]
}
}
}
Skill 包內另有 examples/claude_desktop_mcp.json 可作路徑替換參考。
另一種入門方式(Skill 內寫明):把 https://github.com/netkr/mini-hids 發給 Agent,並要求「幫我把這個項目封裝成 skill」,由 Agent 完成克隆與 MCP 封裝。這與 SkillHub 已封裝版本可二選一,以你實際工作流爲準。
典型用法¶
封裝後首次部署:編輯 config.json 中的 LOG_PATHS、WEB_ROOT、MAX_FAILURES、WINDOW_SECONDS、BAN_TIME 等,再 sudo python3 mini_hids.py 拉起 daemon。
Agent 查狀態:通過 MCP 調用 mini_hids_status,返回結構化 JSON,例如:
{
"success": true,
"data": {
"is_running": true,
"pid": 12345,
"firewall_backend": "iptables"
}
}
響應安全事件:Agent 可讀 mini_hids_get_alerts、查 mini_hids_get_blacklist,再按需 mini_hids_ban_ip / mini_hids_unban_ip;需要即時掃 Web 目錄時可調 mini_hids_scan_webshell。
配置項應只改 config.json,勿手改 Python 源碼。TRUSTED_IPS 中的 IP 不會被 daemon 或 MCP 封禁;FIREWALL_BACKEND 留空表示自動檢測。
適用場景與注意¶
適合:VPS、小型業務機、個人運維節點;希望檢測邏輯簡單可讀;希望 AI Agent 在本地高權限環境下通過 MCP 做查詢與封禁編排。
不適合(Skill 內明確寫出):多主機關聯分析、內核級遙測、對誤報率要求極高的生產級安全平臺。
注意:
- 誤封風險:
TRUSTED_IPS維護不當可能把自己鎖在機器外;封禁類操作應視爲高權限。 - Web 攻擊與 Webshell 檢測爲啓發式規則,告警宜作信號而非最終裁決。
- MCP 與 daemon 應部署在能訪問本地日誌與防火牆的同一側;遠程 Agent 需自行解決 SSH 與權限邊界,Skill 文檔強調本地或服務器側 MCP 纔是合理接入方式。
結尾¶
Mini-HIDS Skill 把單機日誌檢測、SQLite 黑名單與防火牆動作收斂成 Agent 可調用的 MCP 工具集,適合在 SkillHub 一鍵安裝進 Cursor、Claude Code 等客戶端,再在目標 Linux 主機上按 config.json 啓動 daemon 與 mcp_server.py。
官方入口:
- SkillHub 頁面:https://www.skillhub.cn/skills/user_9a8108cb/minihids
- API 座標:https://api.skillhub.cn/user_9a8108cb/minihids
- 上游項目:https://github.com/netkr/mini-hids