网络安全中的人工智能 第9: 部分如何测试MCP 服务器的安全漏洞

phantom

版主

phantom Rep
0
0
0
Rep
0
phantom Vouches
Vouches
0
8 MONTHS
8 8 MONTHS OF SERVICE
phantom 获得
0
0
0
获得
0
phantom 凭证
0
0
0
凭证
0
主题
27
点赞
1
HakB
8
在社区成长 8 月
LEVEL 90 100 XP
 
Print Friendly, PDF & Email
欢迎回来,有抱负的网络战士!
越来越多的人工智能应用程序正在使用模型上下文协议(MCP)服务器,它让人工智能代理可以处理文件、运行命令并访问敏感信息。但随之而来的是一些严重的安全风险。
通常的安全扫描器不会查找该协议的问题,从而在我们的防御中留下了一个大漏洞。由于MCP 服务器通常具有顶级权限并且可以访问关键的系统资源,因此问题变得更加严重。如果AI 代理连接到受感染的MCP 服务器,攻击者不仅可以扰乱服务器,还可以扰乱代理所连接的任何系统。这可能会引发多米诺骨牌效应,一个小漏洞就会危及整个基础设施。
在本文中,我们将深入研究一个旨在帮助我们发现MCP 服务器中的漏洞的工具。让我们开始吧!

什么是 Mcpwn​

Mcpwn 是一款安全扫描器,旨在识别模型上下文协议服务器中的漏洞。与主要关注系统崩溃和内存问题的传统安全工具不同,Mcpwn 分析服务器如何响应以检测成功攻击的迹象。它可以发现一系列安全问题,包括通过命令注入远程执行代码、文件处理中的路径遍历弱点以及与提示注入相关的风险。

第 1 步:在系统上安装 Mcpwn​

使用以下命令从GitHub 克隆Mcpwn 存储库:
kali git clone https://github.com/Teycir/Mcpwn.git
jkqp5pm2er424.webp
要验证一切是否正常工作,让我们运行help 命令来查看所有可用选项:
kali ./mcpwn.py –help
fwifebvyqfq25.webp
Mcpwn 现已安装并准备好开始寻找漏洞。

第 2 步:了解 Mcpwn 的检测功能​

在开始扫描实际的MCP 服务器之前,让我们尝试了解Mcpwn 正在寻找什么以及它如何发现漏洞。
udxcnn0wuzl26.webp
来源: Mcpwn 的GitHub 页面Mcpwn 通过寻找实际迹象而不是依赖崩溃或错误来检测漏洞。对于远程代码执行,它发送id 或whoami 等有效负载,并检查“uid=1000”或“root:x:0:0”等模式,以确认命令执行是可能的。在路径遍历检测中,它尝试使用“./././etc/passwd”等序列访问预期目录之外的文件。成功访问是通过特定标记来确认的,至少需要两个标记才能最大程度地减少误报。

第 3 步:运行首次安全扫描​

让我们对真实的MCP 服务器运行第一次扫描。在本教程中,我将使用NPM 注册表中的不同公共MCP 服务器。
基本命令结构很简单:
kali ./mcpwn.py npx -y target
1y5vd0luabo27.webp
在这种情况下,Mcpwn输出能力验证绕过和能力DoS。结果不错,但有时我们不需要全面的审核,在这些情况下,我们可以使用快速标志。快速模式对扫描过程进行了两项重大更改。首先,它将每个请求的超时时间从默认的10 秒减少到仅5 秒。其次,更重要的是,快速模式一旦发现第一个工具注入漏洞就会停止。由于导致远程代码执行的工具注入通常是最严重的漏洞类型,因此找到一个漏洞通常足以确定服务器需要立即关注。
kali ./mcpwn.py –quick npx -y target
13y3ioh430y28.webp
为了使扫描速度更快,我们可以使用–rce-only 标志专门关注远程代码执行漏洞:
kali ./mcpwn.py –quick –rce-only npx -y target
0amrhh5o5dz29.webp
在这种情况下,我们没有发现任何RCE(远程代码执行)漏洞。因此,让我们从使用公共MCP 服务器过渡到您可以自己开发的服务器。例如,如果您有一个基于Python的MCP服务器,您可以使用以下命令测试它:
kali ./mcpwn.py –quick python3 target
yu4d5djvw4a30.webp
对于Node.js 服务器,您将使用:
kali python3 mcpwn.py 节点目标

摘要​

在本文中,我们探讨了如何安装Mcpwn 以及如何有效使用它。随着AI 代理变得更加先进以及MCP 服务器数量的增加,攻击面显着扩大。为了领先于潜在威胁,将安全测试作为MCP 开发工作流程的标准组成部分非常重要。
 
顶部