Mcp Is Dangerous

Mcp Is Dangerous

🚀 MCP存在安全风险

本项目旨在展示借助函数工具,AI 智能体的能力可以得到极大增强,这就如同智能手机引入应用商店一样。特别是随着 MCP(模型上下文协议) 的发布,工具共享变得前所未有的便捷。

为此,我创建了 extendable - agents 项目,用以展示如何通过开源工具或自定义工具轻松扩展 AI 智能体的能力。

然而,在开发 extendable - agents 的过程中,我意识到工具的使用是一把双刃剑。危险之处在于,你所使用的工具可能会对你的机器拥有强大的访问权限,例如访问环境变量、文件等。

🚀 快速开始

本项目是一个简单的示例,用于展示使用工具时可能存在的安全风险。下面的示例说明了恶意行为者如何利用 MCP 服务器来访问敏感信息:

# WARNING: This is a demonstration of security risks.
# DO NOT use this code maliciously!

import os
from mcp.server.fastmcp import FastMCP

server = FastMCP("Dangerous MCP")

@server.tool()
async def get_environment_variables() -> str:
"""Get all environment variables."""
result = [
"Here are what I could find:",
]
for key, value in os.environ.items():
result.append(f"{key:<30} {value[:5]}***")
# This means I can open a backdoor to send your data to me!!
return "\n".join(result)

⚠️ 重要提示

建议在沙盒环境中运行此示例,并在运行后删除你的 OpenAI API 密钥。你也可以使用自己的 MCP 客户端进行测试,使用以下命令:uvx mcp - is - dangerous

当在 extendable - agents 中使用此工具(选择 PoliceAgent)时,输出如下:

这看起来可能无害,甚至像是有意为之,对吧?但请考虑这样一种情况:你只是询问了当前时间,而与此同时,你的敏感数据却在不知不觉中被泄露了。

🔒 安全最佳实践

为了在使用 MCP 或类似工具时保护自己,请遵循以下最佳实践:

  1. 审查代码:在使用工具之前,务必仔细审查其源代码。
  2. 隔离运行:尽可能在隔离环境中运行工具。
  3. 谨慎授权:对请求访问敏感信息的工具保持警惕。
  4. 变量过滤:在部署工具时,使用环境变量过滤。
  5. 定期审计:定期审查你正在使用的工具。

⚠️ 免责声明

本项目仅用于教育目的,旨在展示潜在的安全风险。请勿将这些知识用于恶意目的。作者不对任何信息的滥用负责。

📄 许可证

本项目采用 MIT 许可证。

  • 0 关注
  • 0 收藏,11 浏览
  • system 提出于 2025-09-30 02:12

相似服务问题