MCP Hub
Back to servers

MCP-Security-Scanner

A specialized security auditing MCP server built on LangGraph that automates vulnerability scanning for other MCP services by detecting injection, SSRF, and path traversal flaws.

Updated
Dec 19, 2025

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 和修复建议的安全报告

安装

pip install -r requirements.txt
推荐使用uv环境
uv init MCP  
cd MCP
echo "3.13" > .python-version
uv venv
source .venv/bin/activate
uv add "mcp[cli]" httpx

依赖

  • Python 3.10+
  • langgraph
  • fastmcp
  • httpx
  • mcp

快速开始

启动 MCP 服务器

python main.py
使用uv安装:uv run main.py
服务器默认运行在 `http://0.0.0.0:8000/sse`

使用方式

通过 MCP 客户端(如 Cherry Studio/Kiro/Cursor/Trae)连接:
{
  "mcpServers": {
    "Security-Scanner": {
      "url": "http://10.0.xx.xx:8000/sse"
    }
  }
}

1. 启动扫描

无Token:

对该MCP进行安全扫描
http://xxx.xxx.xxx:7777/sse
image

有Token:

对该MCP进行安全扫描
https://xxx.xxx.xxx/mcp-servers/plant-monitor-getproductionorder/sse
Authorization=Bearer apikey-693xxxxxxxxxxxxx
image

2. 查询进度

输入“继续”: image

3. 获取结果

输入“获取扫描详情”: image

项目结构

├── agent.py          # ReAct 智能体实现
├── config.py         # 攻击载荷和检测规则配置
├── graph.py          # LangGraph 工作流定义
├── llm.py            # LLM 客户端(支持通义千问/Azure OpenAI)
├── server.py         # FastMCP 服务器
├── state.py          # 状态定义
├── task_manager.py   # 异步任务管理器
├── tools.py          # 安全检测工具函数
└── system_prompt.md  # 系统提示词

配置

LLM 配置

llm.py 中配置 LLM 提供商:

  • 通义千问 (默认)
  • Azure OpenAI

攻击载荷

config.py 中自定义:

  • MCP_INJECTION_PAYLOADS:各类攻击载荷
  • SENSITIVE_PATTERNS:敏感信息检测模式
  • TOOL_TYPE_PATTERNS:工具类型识别规则

检测能力

漏洞类型严重程度说明
命令注入CRITICAL检测系统命令执行
代码执行CRITICAL检测任意代码执行
SQL 注入HIGH检测数据库注入
SSRFHIGH检测内网资源访问
路径遍历HIGH检测文件系统访问
IDORHIGH检测越权访问
数据暴露MEDIUM检测大量数据返回
敏感数据HIGH/CRITICAL检测 PII/HR/财务数据
硬编码凭据HIGH检测 Schema 中的凭据

输出示例

{
  "status": "completed",
  "target": "http://example.com/sse",
  "risk_level": "HIGH",
  "summary": {
    "tools_discovered": 10,
    "injectable_tools": 5,
    "attacks_executed": 30,
    "vulnerabilities_found": 3
  },
  "vulnerabilities_by_severity": {
    "HIGH": {
      "count": 2,
      "details": [...]
    },
    "MEDIUM": {
      "count": 1,
      "details": [...]
    }
  }
}

许可证

MIT License

免责声明

本工具仅用于授权的安全测试。请勿用于未经授权的系统。使用者需自行承担使用本工具的所有风险和责任。

Reviews

No reviews yet

Sign in to write a review