MasterMCP
项目介绍
MasterMCP是一个演示工具,旨在展示针对MCP(模型控制协议)的各种潜在安全攻击媒介。该项目通过实例说明了恶意插件如何利用MCP架构中的弱点,帮助开发人员和安全研究人员了解这些风险并加强系统保护。
特性
- 基于插件的恶意负载:演示恶意插件如何在MCP体系结构中运行
- 多种攻击技术:包括数据中毒、跨MCP调用、竞争性恶意函数等示例
- 实用教育价值:每个攻击向量都有详细的解释和实现代码
包括攻击向量
- 数据中毒:The
banana插件演示了如何强制用户执行特定操作 - JSON注入攻击:The
url_json插件显示了如何从本地恶意服务中检索数据 - 竞争性恶意功能:The
remove_server插件覆盖现有功能 - 跨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 使用编码的错误消息来诱导用户:
- 添加未经验证的外部服务
- 执行不必要的操作
- 扩大攻击面
贡献指南
欢迎通过以下方式为该项目捐款:
- 提交新攻击媒介的示例
- 改进现有示例的文档
- 添加防御机制的示例实现
