MCP Security Scanner
一个基于 LangGraph ReAct 架构的 MCP (Model Context Protocol) 安全扫描工具,用于自动化检测 MCP 服务的安全漏洞。
功能特性
自动化安全扫描:自动发现 MCP 服务暴露的工具并进行安全测试
多种攻击检测:
命令注入 (Command Injection)
代码执行 (Code Execution)
SQL 注入 (SQL Injection)
SSRF (Server-Side Request Forgery)
路径遍历 (Path Traversal)
越权访问 (IDOR)
过度数据暴露 (Excessive Data Exposure)
敏感业务数据泄露
硬编码凭据检测
工具描述注入
智能 Payload 生成:根据工具类型和参数自动生成针对性测试载荷
异步任务管理:支持后台扫描,实时查询进度
双模式扫描:
fast模式:快速并发扫描full模式:完整 LLM 引导扫描
详细报告:生成包含 POC 和修复建议的安全报告
安装
依赖
Python 3.10+
langgraph
fastmcp
httpx
mcp
快速开始
启动 MCP 服务器
使用方式
1. 启动扫描
无Token:
有Token:
2. 查询进度
输入“继续”:
3. 获取结果
输入“获取扫描详情”:
项目结构
配置
LLM 配置
在 llm.py 中配置 LLM 提供商:
通义千问 (默认)
Azure OpenAI
攻击载荷
在 config.py 中自定义:
MCP_INJECTION_PAYLOADS:各类攻击载荷SENSITIVE_PATTERNS:敏感信息检测模式TOOL_TYPE_PATTERNS:工具类型识别规则
检测能力
漏洞类型 | 严重程度 | 说明 |
命令注入 | CRITICAL | 检测系统命令执行 |
代码执行 | CRITICAL | 检测任意代码执行 |
SQL 注入 | HIGH | 检测数据库注入 |
SSRF | HIGH | 检测内网资源访问 |
路径遍历 | HIGH | 检测文件系统访问 |
IDOR | HIGH | 检测越权访问 |
数据暴露 | MEDIUM | 检测大量数据返回 |
敏感数据 | HIGH/CRITICAL | 检测 PII/HR/财务数据 |
硬编码凭据 | HIGH | 检测 Schema 中的凭据 |
输出示例
许可证
MIT License
免责声明
本工具仅用于授权的安全测试。请勿用于未经授权的系统。使用者需自行承担使用本工具的所有风险和责任。