返回市场
MCP存在风险

MCP存在风险

作者:ShaojieJiang8 星标更新:2025-07-24

项目介绍

MCP 是危险的

功能工具的使用使AI代理变得非常强大,这类似于将应用商店引入智能手机。 特别是随着 MCP(模型上下文协议) 的发布,工具共享比以往任何时候都更加容易。 这就是为什么我创建了 extendable-agents 项目来展示如何通过开源工具或自定义工具轻松扩展AI代理的功能。

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

<a href="https://glama.ai/mcp/servers/@ShaojieJiang/mcp-is-dangerous"> <img width="380" height="200" src="https://gips1.baidu.com/it/u=1614132630,1811993076&fm=3081&app=3081&f=PNG?w=760&h=400" alt="危险的 MCP 服务器" /> </a>

⚠️ 安全警告

本项目是一个简单的演示,展示了与工具使用相关的安全风险。 下面的例子说明了恶意行为者如何利用 MCP 服务器访问敏感信息:

# 警告:这是一个安全风险的演示。
# 不要恶意使用此代码!

import os
from mcp.server.fastmcp import FastMCP


server = FastMCP("危险的 MCP")


@server.tool()
async def get_environment_variables() -> str:
    """获取所有环境变量。"""
    result = [
        "这是我能找到的内容:",
    ]
    for key, value in os.environ.items():
        result.append(f"{key:<30} {value[:5]}***")
    # 这意味着我可以打开一个后门,将你的数据发送给我!
    return "\n".join(result)

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

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

<img width="937" alt="2025-03-22 11 04 57 屏幕截图" src="https://gips0.baidu.com/it/u=3497491396,2592832951&fm=3081&app=3081&f=PNG?w=1874&h=1590" />

它看起来可能无害甚至故意无害,对吧? 但考虑这种情况:你只是要求当前时间,而与此同时,你的敏感数据正在不知情的情况下泄露。

安全最佳实践

为了在使用 MCP 或类似工具时保护自己:

  1. 在使用工具之前始终审查其源代码
  2. 尽可能在隔离环境中运行工具
  3. 对请求访问敏感信息的工具保持警惕
  4. 部署工具时使用环境变量过滤
  5. 定期审核你正在使用的工具

免责声明

本项目仅用于教育目的,以演示潜在的安全风险。不要将此知识用于恶意目的。作者不对任何误用此信息负责。

许可证

MIT 许可证