Token导航 LogoToken导航TokenDH.com
Insecure MCP Demo logo
安全风控stdio官方级别未说明来源级核验

Insecure MCP Demo

MCP Server

一个展示MCP服务器安全漏洞的教育项目,包括易受攻击的服务器和多个客户端,用于演示SQL注入、任意代码执行等安全问题。

工具数

0

提示词数

0

GitHub Stars

4

资源数

0
代码执行PythonCursor教育工具Cursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

kenhuangus

提供方

kenhuangus

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

不安全的MCP演示

概述

该项目演示了一个易受攻击的MCP服务器和多个客户端,包括一个概念验证攻击客户端和一个好客户端。它旨在用于教育目的,以展示MCP服务器中的潜在安全漏洞。

项目结构

  • vuln-mcp.py:易受攻击的MCP服务器暴露了不安全的工具。
  • good-mcp-client.py:正常交互(插入/查询记录)的常规良好客户端。
  • attack-mcp-client.py:演示利用服务器漏洞的自动攻击客户端。
  • requirements.txt:项目的Python依赖关系。

功能和漏洞

暴露的服务器工具

  1. insert_record

- 将姓名/地址记录插入数据库。 - 脆弱性: 由于将用户输入直接插入到SQL查询中,容易导致SQL注入。

  1. 查询记录

- 列出数据库中的所有记录。 - 脆弱性: 在没有身份验证或访问控制的情况下公开所有数据。

  1. execute_sql

- 执行客户端提供的任意SQL查询。 - 脆弱性: 允许任何SQL命令,包括破坏性命令(例如,数据泄露、模式更改)。

  1. get_env_变量

- 返回所请求的任何环境变量的值。 - 脆弱性: 泄漏敏感的环境变量(例如机密、API密钥)。

如何跑步

1.安装依赖项

pip install -r requirements.txt

2.启动服务器和良好的客户端

在一个终端中:

python good-mcp-client.py vuln-mcp.py

按照提示以交互方式插入/查询记录。

3.运行攻击客户端

在另一个终端中:

python attack-mcp-client.py vuln-mcp.py

这将自动:

  • 尝试SQL注入攻击
  • 执行任意SQL查询
  • 尝试读取几个常见的环境变量

输出示例

  • 攻击客户端将显示哪些有效载荷成功或失败,并打印出数据库内容和环境变量值(如果可以访问)。

已证明的漏洞

  • SQL注入: 用户输入未经消毒,允许攻击者操纵SQL逻辑并插入任意数据。
  • 任意代码执行:execute_sql 该工具允许攻击者运行任何SQL命令,包括数据窃取或销毁。
  • 敏感数据暴露:get_env_variable 该工具允许攻击者读取机密和配置值。
  • 缺乏访问控制: 任何人都可以运行所有工具并访问所有数据,而无需身份验证。

缓解策略

要保护真实世界的MCP服务器,您应该:

  1. 使用参数化查询:

- 对于SQL查询,始终使用参数替换而不是字符串插值来防止注入。 - 示例(安全):

     cursor.execute("INSERT INTO records (name, address) VALUES (?, ?)", (name, address))
  1. 限制危险工具:

- 删除或严格限制工具,如 execute_sqlget_env_variable. - 仅公开必要的功能。

  1. 实施身份验证和授权:

- 要求用户在允许访问敏感工具或数据之前进行身份验证和权限检查。

  1. 验证和消毒输入:

- 检查并清理所有用户输入,特别是与数据库或系统交互的输入。

  1. 限制环境变量访问:

- 只允许访问非敏感变量,或完全删除此工具。

  1. 审核和监控使用情况:

- 记录所有工具调用,并监控可疑或滥用行为。

  1. 最小特权原则:

- 以最低权限运行服务器,并尽可能限制数据库和操作系统访问。

免责声明

本项目仅用于教育和示范目的。 不要在生产环境中部署此代码。

______________________________________________________________________

如有疑问或需要进一步改进,请打开问题或联系项目维护人员。

目录标签

目录标签

代码执行PythonCursor教育工具安全演示本地部署SQL注入漏洞研究

支持客户端

Cursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

部署方式(deploymentType,部署类型)

local-only

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiononelocal-only

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP