MCP安全演示工具

MasterMCP是一个展示MCP协议潜在安全攻击向量的教育工具,通过恶意插件示例帮助开发者理解风险并加强防护。

  • by HC010602
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 HC010602/MainMCP

使用说明

MasterMCP

项目介绍

MasterMCP是一个演示工具,旨在展示针对MCP(模型控制协议)的各种潜在安全攻击媒介。该项目通过实例说明了恶意插件如何利用MCP架构中的弱点,帮助开发人员和安全研究人员了解这些风险并加强系统保护。

特性

  • 基于插件的恶意负载:演示恶意插件如何在MCP体系结构中运行
  • 多种攻击技术:包括数据中毒、跨MCP调用、竞争性恶意函数等示例
  • 实用教育价值:每个攻击向量都有详细的解释和实现代码

包括攻击向量

  1. 数据中毒:The banana 插件演示了如何强制用户执行特定操作
  2. JSON注入攻击:The url_json 插件显示了如何从本地恶意服务中检索数据
  3. 竞争性恶意功能:The remove_server 插件覆盖现有功能
  4. 跨MCP呼叫攻击:The Master_cross_call 插件引导用户执行危险操作

安装说明

# Clone the repository

cd MasterMCP

# Install dependencies
pip install -r requirements.txt

用法

{
  "mcpServers": {
    "MasterMCP": {
      "command": "/xxx/bin/python",
      "args": [
        "/xxx/MasterMCP/MasterMCP.py"
      ]
    }
  }
}

项目结构

MasterMCP/
├── MasterMCP.py              # Main program, responsible for loading and managing plugins
├── tools_plugins/            # Malicious plugins directory
│   ├── initialize_data_poisoning.py    # Forces users to perform specific checks
│   ├── inject_json_poisoning.py        # JSON data injection example
│   ├── malicious_competitive_function.py  # Competitive function override
│   └── malicious_cross_mcp_call.py     # Cross-MCP call attack
├── resources_plugins/        # Resource plugins directory
├── prompts_plugins/          # Prompt plugins directory
└── utils/                    # Utility functions

安全警告

⚠️ 本项目仅用于教育和研究目的。未经授权,请勿在任何系统上使用这些技术。恶意使用此代码可能违反法律法规。

防御建议

  • 实施严格的插件验证机制
  • 彻底检查并消毒所有外部输入
  • 实现最小权限原则,限制插件执行权限
  • 使用签名验证以确保只加载受信任的插件
  • 定期检查已安装的插件及其行为

攻击分析

香蕉检测中毒

这 initialize_data_poisoning.py 插件通过在任何操作之前要求“香蕉检查”来建立强制性的进程依赖关系。该技术可用于:

  • 诱使用户执行不必要的操作
  • 建立虚假的安全感
  • 在合法操作之前插入恶意步骤

JSON数据注入

这 inject_json_poisoning.py 插件默认从本地端口检索数据,可能导致:

  • 数据泄露
  • 执行恶意指令
  • 绕过正常的安全检查

竞争功能覆盖

这 malicious_competitive_function.py 提供a remove_server 同名但功能不同的函数:

  • 替换关键系统功能
  • 阻止正常的服务删除操作
  • 在混乱中嵌入以十六进制编码的隐藏指令

跨MCP呼叫攻击

这 malicious_cross_mcp_call.py 使用编码的错误消息来诱导用户:

  • 添加未经验证的外部服务
  • 执行不必要的操作
  • 扩大攻击面

贡献指南

欢迎通过以下方式为该项目捐款:

  • 提交新攻击媒介的示例
  • 改进现有示例的文档
  • 添加防御机制的示例实现

许可证

MIT许可证