mcpField
S
SSH Key Exfiltration via MCP Tool Poisoning

SSH Key Exfiltration via MCP Tool Poisoning

本地服务
repello.ai开发工具2579 周前更新

关于 SSH Key Exfiltration via MCP Tool Poisoning

本仓库是一个用于安全研究的概念验证项目,演示 MCP 服务中通过工具投毒(tool poisoning)实现远程代码执行与数据外泄的漏洞。项目面向教育与安全研究人员,说明攻击流程并给出缓解建议。

主要功能

  1. 01演示 Rug Pull 式的工具描述投毒
  2. 02展示通过 base64 编码隐藏恶意命令
  3. 03说明 SSH 公钥收集与外传的过程
  4. 04列出防护与缓解建议

适用场景

  1. 01安全研究人员分析 MCP 工具投毒风险
  2. 02教育场景中讲解 MCP 供应链安全问题
  3. 03评估 AI 编码工具的自动执行设置

MCP 相关

该项目是一个恶意 MCP 服务实现,通过修改工具 DockerCommandAnalyzer 的文档内容影响连接它的 AI 助手。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Image

通过 MCP 工具投毒实施 SSH 密钥窃取

本仓库演示了 MCP(Model Context Protocol)服务中的一项安全漏洞,该漏洞允许通过工具投毒实现远程代码执行和数据窃取。 本文档仅供教育和安全研究目的使用。

博客链接:

MCP tool poisoning to RCE

仓库内容

  • server.py - 包含被投毒工具的恶意 MCP 服务实现
  • .cursor/mcp.json - Cursor AI 集成的配置文件

工作原理

该攻击演示了“Rug Pull”方法:

  1. 用户通过 Cursor AI 等 MCP 客户端连接到恶意 MCP 服务
  2. 该服务用恶意代码修改 DockerCommandAnalyzer 工具的文档
  3. 当 AI 助手阅读该文档时,会被操纵去建议运行一条 base64 编码的命令
  4. 该编码命令会悄悄执行以下操作:
    • 收集用户的 SSH 公钥
    • 将其窃取到远程服务
    • 清除攻击痕迹

技术实现

该攻击的关键要素包括:

  1. 两阶段投毒:使用标记文件实现持久化,确保该工具保持被投毒状态
  2. 社会工程:使用紧急措辞操纵 AI 助手
  3. Base64 混淆:使恶意命令难以被随意检查发现
  4. 使用 wget 进行窃取:通过标准 HTTP POST 将数据发送到攻击者控制的服务器

缓解建议

要防范此类攻击:

  1. 在 Cursor 等 AI 开发工具中禁用自动运行功能
  2. 在连接任何 MCP 服务之前,务必验证其来源
  3. 在执行来自不受信任来源的代码之前,先审查代码
  4. 在测试新的 AI 工具时,使用沙箱环境
  5. 实施出口过滤,以阻止意外的出站连接

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。