loading…
Search for a command to run...
loading…
A real security scanning MCP server for medical information systems, supporting port scanning, vulnerability detection, medical system identification, and compl
A real security scanning MCP server for medical information systems, supporting port scanning, vulnerability detection, medical system identification, and compliance report generation.
English | 中文
医院漏洞扫描 MCP 服务器,为 AI 助手提供医疗信息系统真实安全扫描能力。支持端口扫描、漏洞检测、医疗系统识别、合规报告生成等 14 个工具。
# 使用 uvx(推荐)
uvx hospital-vuln-mcp
# 或使用 pip
pip install hospital-vuln-mcp
在 MCP 客户端配置文件中添加:
{
"mcpServers": {
"hospital-vuln-mcp": {
"command": "uvx",
"args": ["hospital-vuln-mcp"],
"env": {
"HOSPITAL_VULN_MCP_LOG_LEVEL": "INFO"
}
}
}
}
{
"mcpServers": {
"hospital-vuln-mcp": {
"command": "docker",
"args": ["run", "--rm", "-i", "hospital-vuln-mcp"],
"env": {
"HOSPITAL_VULN_MCP_LOG_LEVEL": "INFO"
}
}
}
}
hospital-vuln-mcp --transport http --host 0.0.0.0 --port 8000
# 安装 nmap(端口扫描增强)
# macOS
brew install nmap
# Ubuntu/Debian
sudo apt install nmap
# Windows
choco install nmap
# 安装 nuclei(漏洞扫描增强)
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
💡 提示:不安装也能用,会自动降级到 Python 原生扫描。
在 Claude / Cursor / 其他 MCP 客户端中:
请帮我扫描 192.168.1.100 这台服务器
AI 会调用 start_scan 工具,返回:
{
"task_id": "abc123",
"status": "completed",
"open_ports": [
{"port": 22, "service": "SSH"},
{"port": 3306, "service": "MySQL"},
{"port": 8080, "service": "HTTP-Alt"}
],
"vulnerabilities": [
{"title": "MySQL 服务暴露", "severity": "medium"}
]
}
对 10.0.0.50 进行深度扫描
快速扫描 www.example.com
扫描 192.168.1.1 的 22,80,443,3306 端口
识别 192.168.1.100 运行的医疗系统类型
发现 192.168.1.0/24 网段的活跃主机
我需要对一台新上线的 HIS 系统进行安全评估,
目标 IP 是 192.168.1.200,请帮我进行标准扫描并生成报告。
请帮我巡检内网 10.0.0.0/24 网段的医疗系统安全状况。
我需要为等保测评准备安全扫描报告,
请对目标系统进行深度扫描并导出合规报告。
发现 192.168.1.50 可能有安全风险,
请立即进行快速扫描帮我排查问题。
帮我盘点医院网络中的所有医疗信息系统,
识别系统类型和开放端口。
| 工具 | 描述 | 参数 |
|---|---|---|
start_scan |
启动漏洞扫描 | target: IP/域名/URL, scan_type: quick/standard/deep |
get_scan_status |
查询扫描状态 | task_id: 任务ID |
list_scans |
列出扫描历史 | limit: 数量, status: 状态筛选 |
cancel_scan |
取消扫描 | task_id: 任务ID |
| 工具 | 描述 | 参数 |
|---|---|---|
list_vulnerabilities |
列出漏洞 | severity: 严重程度, status: 状态 |
get_vulnerability |
获取漏洞详情 | vuln_id: 漏洞ID |
update_vulnerability_status |
更新漏洞状态 | vuln_id, status, comment |
| 工具 | 描述 | 参数 |
|---|---|---|
discover_network |
网络发现 | cidr: 网段 |
scan_host_ports |
端口扫描 | host: 主机, ports: 端口列表(可选) |
identify_medical_systems |
医疗系统识别 | target: 目标, ports: 端口列表(可选) |
| 工具 | 描述 | 参数 |
|---|---|---|
generate_report |
生成报告 | scan_id, report_type, format |
list_reports |
列出报告 | limit: 数量 |
| 工具 | 描述 |
|---|---|
get_vuln_stats |
漏洞统计分析 |
get_system_status |
系统状态(含 nmap/nuclei 可用性) |
start_scan()
│
├── 检测 nmap → 有则用于端口扫描
│ └── 无 → Python socket 多线程扫描
│
├── 检测 nuclei → 有则用于漏洞扫描
│ └── 无 → 内置规则检测常见漏洞
│
└── 返回结果
即使没有 nuclei,也能检测以下常见风险:
| 风险类型 | 严重程度 | 检测条件 |
|---|---|---|
| MySQL 服务暴露 | Medium | 3306 端口开放 |
| Redis 未授权访问 | High | 6379 端口开放 |
| MongoDB 未授权访问 | High | 27017 端口开放 |
| RDP 远程桌面暴露 | High | 3389 端口开放 |
| SMBv1 协议风险 | High | 445 端口开放 |
| PHPInfo 信息泄露 | Medium | HTTP 响应含 phpinfo |
| 目录遍历风险 | Medium | HTTP 响应含 "Index of" |
通过 HTTP Banner 和页面特征识别:
| 系统类型 | 关键词 |
|---|---|
| HIS | 医院信息系统、门诊、住院、挂号、处方 |
| PACS | 影像、DICOM、放射、PACS |
| LIS | 检验、实验室、生化、免疫 |
| RIS | 放射信息系统、影像诊断 |
| EMR | 电子病历、病程记录 |
| 变量 | 说明 | 默认值 |
|---|---|---|
HOSPITAL_VULN_MCP_LOG_LEVEL |
日志级别 | INFO |
HOSPITAL_VULN_MCP_SCAN_TIMEOUT |
扫描超时(秒) | 300 |
HOSPITAL_VULN_MCP_MAX_CONCURRENT_SCANS |
最大并发扫描数 | 10 |
git clone https://github.com/12211725-star/hospital-vuln-mcp.git
cd hospital-vuln-mcp
pip install -e ".[dev]"
# 运行测试
pytest
# 本地运行
python -m hospital_vuln_mcp
scan_host_ports 的 ports 参数从字符串改为数组identify_medical_systems 新增可选 ports 参数.env.example 文件hospital-vuln-scanner-mcpMIT License
Run in your terminal:
claude mcp add hospital-vuln-scanner-mcp -- npx Security
Low riskAutomated heuristic from public metadata — not a security guarantee.