前言¶
小型 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