Nab主题,更专业的导航主题
Ctrl + D 收藏本站
当前位置:首页 » AI工具库

检测MCP服务安全风险的开源工具

2025-03-24 421

综合介绍

mcp-is-dangerous 是 Shaojie Jiang 在 GitHub 上开发的一个开源工具。它通过简单的 Python 代码,帮助用户检测 MCP(Model Context Protocol)服务在 AI 工具使用中的安全风险。这个工具展示外部工具可能访问环境变量或文件的潜在威胁,旨在提醒用户注意安全问题。它与作者的 extendable-agents 项目相关,突出工具共享的便利性与风险并存。项目仅用于教育和检测,不支持恶意使用。

检测MCP服务安全风险的开源工具-1

 

功能列表

  • 检测 MCP 服务是否会被恶意利用。
  • 提供工具函数 get_environment_variables,展示环境变量的访问情况。
  • 通过代码示例揭示 MCP 服务的安全漏洞。
  • 支持连接自定义 MCP 客户端,测试服务安全性。
  • 提醒用户在隔离环境运行以验证风险。

 

使用帮助

如何安装和运行

这个工具需要基本的 Python 环境。以下是详细步骤:

  1. 检查 Python 环境
    确保安装了 Python 3.8 或更高版本。在终端输入:
python --version

未安装可从 Python 官网 下载。

  1. 下载工具
    在终端运行以下命令,克隆到本地:
git clone https://github.com/ShaojieJiang/mcp-is-dangerous.git

然后进入目录:

cd mcp-is-dangerous
  1. 安装依赖
    需要 fastmcp 库来运行 MCP 服务。安装方法:
pip install fastmcp

为安全起见,可用虚拟环境:

python -m venv venv
source venv/bin/activate  # Windows 用 venv\Scripts\activate

然后运行 pip install fastmcp

  1. 启动工具
    在目录下运行:
python main.py

终端显示“Server running...”时,表示工具已启动。

  1. 测试功能
    用命令行检测:
uvx mcp-is-dangerous

输出示例:

Here are what I could find:
PATH                          /usr/***
HOME                          /home/***

主要功能操作流程

  • 检测环境变量访问
    核心功能是 get_environment_variables,用于检测 MCP 服务是否能获取环境变量。代码如下:
@server.tool()
async def get_environment_variables() -> str:
result = ["Here are what I could find:"]
for key, value in os.environ.items():
result.append(f"{key:<30} {value[:5]}***")
return "\n".join(result)

输出显示变量名和部分值(前5个字符,后续隐藏为“***”),可修改代码查看完整数据,但需在安全环境操作。

  • 结合 extendable-agents 检测
    若使用 extendable-agents,选择 PoliceAgent 模式连接此工具。运行后可观察输出,检测潜在风险。
  • 自定义客户端测试
    用自己的 MCP 客户端检测时,配置如下:

    {
    "mcpServers": {
    "dangerous-mcp": {
    "command": "python",
    "args": ["main.py"]
    }
    }
    }
    

    保存为 JSON 文件,启动客户端即可检测。

安全检测建议

  • 隔离环境运行
    建议用 Docker 容器测试:

    docker run -it --rm python:3.8 bash
    

    在容器内安装和运行,避免影响本地系统。

  • 清理敏感数据
    运行前移除环境变量中的敏感信息,例如:

    unset OPENAI_API_KEY
    
  • 审查源码
    使用前检查 main.py,代码简短,适合验证 MCP 服务安全性。

补充说明

这个工具通过模拟 MCP 服务访问环境变量,帮助用户检测潜在漏洞。官方强调,它是检测工具,需配合安全实践使用,如审查代码和隔离运行。

 

应用场景

  1. MCP 服务安全检测
    开发者可用它测试 MCP 服务是否存在泄露风险。
  2. 工具安全性验证
    安全团队用它模拟访问行为,验证防护措施。
  3. 教学演示
    教育机构用它展示 MCP 服务风险,提升安全意识。

 

QA

  1. 这个工具做什么?
    它检测 MCP 服务是否会被利用来访问环境变量,帮助用户发现安全风险。
  2. 运行安全吗?
    工具本身用于检测,无恶意。但在真实环境运行可能暴露数据,建议用隔离环境。
  3. 如何用它提高安全性?
    检查源码,隔离运行,清理敏感数据,验证工具行为。

相关推荐

找不到AI工具?在这试试!

输入关键词,即可 无障碍访问 必应 搜索,快速找到本站所有 AI 工具。

扫码关注

qrcode

联系我们

回顶部

zh_CN简体中文