Hospital WAF MCP
A Model Context Protocol server that exposes a hospital-oriented web application firewall engine for AI assistants. It enables request inspection against curated security rules and provides tools for rule management and security testing.
README
Hospital WAF Management System MCP Server
English | 中文
医院 Web 应用防火墙 MCP 服务器,为 AI 助手提供 WAF 规则检测能力。支持 SQL 注入、XSS、命令注入、路径遍历检测,内置医院场景专项规则。
✨ 功能特性
- 🔒 SQL 注入检测 — 识别常见 SQLi 攻击模式(UNION注入、布尔盲注、时间盲注、报错注入)
- 🎯 XSS 跨站脚本检测 — 检测反射型/存储型 XSS(script标签、事件处理器、JS URI)
- ⚡ 命令注入检测 — 识别 Unix/Windows 系统命令执行攻击
- 📁 路径遍历检测 — 检测目录穿越攻击及编码绕过
- 🏥 医院专项规则 — 覆盖 HIS/PACS/LIS/RIS 常见漏洞模式
- 🔄 热重载规则 — 修改规则后无需重启服务
- 🧪 自检测试 — 内置攻击样例验证引擎能力
- ⚡ 轻量运行 — 纯 Python 正则引擎,无外部依赖
🚀 快速开始
1. 安装
# 克隆仓库
git clone https://github.com/12211725-star/hospital-waf-mcp.git
cd hospital-waf-mcp
# 安装依赖
pip install -r requirements-mcp.txt
2. 集成到 MCP 客户端
在 MCP 客户端配置文件中添加:
{
"mcpServers": {
"hospital-waf-mcp": {
"command": "python",
"args": ["-m", "waf_mcp"],
"env": {
"WAF_MCP_LOG_LEVEL": "INFO"
}
}
}
}
Docker 方式
{
"mcpServers": {
"hospital-waf-mcp": {
"command": "docker",
"args": ["run", "--rm", "-i", "hospital-waf-mcp"],
"env": {
"WAF_MCP_LOG_LEVEL": "INFO"
}
}
}
}
Streamable HTTP 远程部署
export WAF_MCP_TRANSPORT=http
export WAF_MCP_HOST=0.0.0.0
export WAF_MCP_PORT=8000
python -m waf_mcp
MCP 端点:http://<host>:8000/mcp
健康检查:GET /health
📖 使用方法
检测 SQL 注入
在 Claude / Cursor / 其他 MCP 客户端中:
请帮我检测这个请求是否有安全问题:
URL: https://example.com/search?q=1' OR '1'='1
AI 会调用 waf_check_request 工具,返回:
[
{
"rule_id": "sqli-001",
"category": "SQL Injection",
"severity": "high",
"matched": "1' OR '1'='1",
"description": "检测到 SQL 注入特征"
}
]
检测 XSS 攻击
检测这个 POST 请求的 body:
<script>alert('xss')</script>
查看规则统计
当前 WAF 引擎加载了多少规则?
🎯 提示词指南
安全评估场景
我需要对一个请求进行安全检测,
URL 是 https://hospital.example.com/api/patient?id=1 UNION SELECT,
请帮我分析是否存在攻击特征。
规则运维场景
我刚刚更新了 WAF 规则文件,
请帮我重新加载规则并确认加载成功。
引擎验证场景
请运行 WAF 引擎自检测试,
确认 SQL 注入和 XSS 检测功能正常。
日志分析场景
帮我检测这个可疑请求的完整参数:
URL: https://api.hospital.com/query
Method: POST
Body: {"filter": "'; DROP TABLE users; --"}
Headers: {"Content-Type": "application/json"}
🛠️ 工具列表
| 工具 | 描述 | 参数 |
|---|---|---|
waf_check_request |
WAF 请求检测 | url: 请求URL, method: HTTP方法, headers: 请求头, body: 请求体, cookies: Cookie |
waf_rule_stats |
规则统计 | 无参数 |
waf_reload_rules |
热重载规则 | 无参数 |
waf_run_self_tests |
自检测试 | 无参数 |
📖 环境变量
| 变量 | 说明 | 默认值 |
|---|---|---|
WAF_MCP_TRANSPORT |
传输协议 (stdio/http/sse) | stdio |
WAF_MCP_HOST |
HTTP 监听地址 | 127.0.0.1 |
WAF_MCP_PORT |
HTTP 监听端口 | 8000 |
WAF_MCP_LOG_LEVEL |
日志级别 | INFO |
WAF_RULES_FILE |
规则文件路径 | waf_mcp/rules/waf_rules.mcp.json |
📋 检测能力
SQL 注入检测
| 风险类型 | 严重程度 | 检测条件 |
|---|---|---|
| UNION 注入 | High | UNION SELECT 等 |
| 布尔盲注 | High | AND/OR 布尔表达式 |
| 时间盲注 | High | SLEEP/BENCHMARK 等 |
| 报错注入 | High | EXTRACTVALUE/UPDATEXML 等 |
| 堆叠查询 | High | 分号分隔多条 SQL |
XSS 检测
| 风险类型 | 严重程度 | 检测条件 |
|---|---|---|
| script 标签 | High | <script> 标签注入 |
| 事件处理器 | High | onclick/onerror 等 |
| JavaScript URI | Medium | javascript: 协议 |
| SVG 注入 | Medium | <svg onload> 等 |
命令注入检测
| 风险类型 | 严重程度 | 检测条件 |
|---|---|---|
| Unix 命令注入 | Critical | ; | & $ ` 管道连接 |
| Windows 命令注入 | Critical | & | ^ 命令连接 |
| 危险命令 | Critical | cat/ls/wget/curl 等 |
路径遍历检测
| 风险类型 | 严重程度 | 检测条件 |
|---|---|---|
| 目录穿越 | High | ../ 路径穿越 |
| URL 编码绕过 | High | %2e%2e/ 等编码 |
| 双重编码绕过 | High | %252e%252e/ 等 |
医院场景专项
| 系统类型 | 关键词 |
|---|---|
| HIS | 医院信息系统、门诊、住院、挂号 |
| PACS | 影像、DICOM、放射 |
| LIS | 检验、实验室、生化 |
| RIS | 放射信息系统、影像诊断 |
| EMR | 电子病历、病程记录 |
🔧 开发
git clone https://github.com/12211725-star/hospital-waf-mcp.git
cd hospital-waf-mcp
pip install -e .
# 运行测试
python scripts/run_functional_tests.py
# 本地运行
python -m waf_mcp
📁 项目结构
hospital-waf-mcp/
├── waf_mcp/ # MCP 服务包
│ ├── __init__.py
│ ├── __main__.py
│ ├── config.py
│ ├── server.py
│ ├── version.py
│ ├── waf_engine.py
│ └── rules/
│ └── waf_rules.mcp.json
├── scripts/ # 脚本工具
├── modelscope.yaml # 魔搭配置
├── mcp.json # MCP 元数据
├── mcp_config.json # MCP 客户端配置
├── pyproject.toml # Python 项目配置
└── README.md
📄 许可证
MIT License
🔗 链接
- GitHub: https://github.com/12211725-star/hospital-waf-mcp
- Issues: https://github.com/12211725-star/hospital-waf-mcp/issues
- 魔搭 MCP 广场: https://modelscope.cn/mcp/servers
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。