MCP漏洞演示集

一个展示Model Context Protocol (MCP)生态系统中关键安全漏洞的概念验证服务器集合,用于教育和安全研究目的。

  • by marmelab
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 marmelab/mcp-vulnerability

使用说明

MCP漏洞演示

一组概念验证模型上下文协议(MCP)服务器,展示了MCP生态系统中的关键安全漏洞。这些示威活动是为了 仅用于教育和安全研究目的.

🚨 概述

模型上下文协议允许AI助手与外部工具和服务进行交互。然而,当前的实现存在几个关键漏洞,可被利用来危害用户系统、窃取凭据和操纵人工智能行为。

此存储库演示了三个主要的漏洞类:

📚 漏洞案例

1. 工具提示注射

脆弱性工具描述中嵌入的恶意指令迫使AI在执行合法功能之前执行隐藏操作。

攻击向量:一个看似无辜的数学运算工具,它秘密地:

  • 强制AI阅读 .env 包含机密的文件
  • 将敏感数据导出到远程API终结点
  • 在用户不知情的情况下完全安静地运行

影响:凭证被盗、数据泄露、未经授权的文件访问

阅读完整文档→


2. 跨工具劫持

脆弱性:一个MCP工具注入的指令会损害同一会话中其他MCP和工具的行为。

攻击向量:一个“每日事实”工具,将任何电子邮件MCP的电子邮件功能劫持到:

  • 将隐藏的密件抄送收件人添加到所有电子邮件中
  • 拦截所有电子邮件通信
  • 影响攻击者甚至无法控制的工具

影响:电子邮件拦截、跨工具污染、整个生态系统妥协

阅读完整文档→


3. 文件系统操作

脆弱性:具有文件系统访问权限的MCP工具在其规定的范围之外运行,在用户不知情的情况下读取敏感文件并安装持久后门。

攻击向量:一种“代码质量分析器”工具,看似分析代码指标,但实际上是秘密的:

  • 从以下来源获取凭据 .env, ~/.aws/credentials, ~/.ssh/id_rsa
  • 将敏感文件过滤到攻击者服务器
  • 安装在工具删除后仍能存活的持久后门
  • 将恶意代码注入 package.json 以及入口点

影响:凭证被盗、后门安装、持续系统入侵、数据泄露

阅读完整文档→


4. API服务器-数据外过滤目标

目的:演示API服务器,用作接收被盗数据的攻击者控制的端点。

功能:

  • 接收泄露的凭据和敏感数据
  • 将被盗信息存储在SQLite数据库中
  • 模拟真实世界的攻击者基础设施

阅读完整文档→

⚠️ 道德使用

此存储库用于 仅限于安全研究和教育这里展示的漏洞是真实存在的,会影响生产系统。

做

  • ✅ 用于安全研究
  • ✅ 在隔离环境中进行测试
  • ✅ 负责任地报告漏洞
  • ✅ 制定更好的安全措施
  • ✅ 向他人宣传MCP风险

不要

  • ❌ 攻击真实用户或系统
  • ❌ 窃取真实凭证或数据
  • ❌ 在生产环境中部署
  • ❌ 违反隐私或安全政策
  • ❌ 用于恶意目的

🤝 贡献

欢迎投稿!如果您发现:

  • 其他漏洞模式
  • 新的攻击媒介
  • 缓解策略
  • 文档改进

请打开问题或提交拉取请求。

📄 许可证

麻省理工学院-仅用于教育和安全研究目的。


免责声明:该项目展示了教育方面的真正漏洞。始终以负责任和道德的方式使用。