注入类漏洞检测
检测工具参数未经净化直接进入系统命令的拼接写法,也能识别 eval()、exec() 这类把用户输入当代码执行的动态调用。
拖动滑块完成拼图,通过后发送验证码
独立第三方 AI 评测平台 · 只用实测数据
mcpscan.ai 是一款面向 MCP(Model Context Protocol)服务器的安全扫描器,定位是帮助用户在部署 MCP 服务器前发现常见漏洞。它按三类风险组织检测能力:服务器实现类(命令注入、代码注入、路径遍历、资源耗尽、IDOR)、工具定义与生命周期类(工具投毒、定义静默变更、跨服务器工具遮蔽)、交互与数据流类(间接提示注入等)。站内提供了公开的漏洞知识库,逐条列出漏洞描述与扫描器的检测动作。局限同样明显:部分风险(如工具行为的动态变更)静态扫描难以覆盖,跨服务器遮蔽检测需要客户端侧全部连接信息,且定价与额度未公布。
mcpscan.ai 是一个针对 Model Context Protocol 服务器的安全扫描器。MCP 让模型能够调用外部工具与数据源,能力变强的同时也把服务器代码、工具元数据和数据流暴露成了攻击面。这款工具要解决的问题是:在把某个 MCP 服务器接入客户端之前,先扫一遍它的常见漏洞。
站内公开了一份漏洞知识库,把风险分成三大类。第一类是服务器实现漏洞,与模型交互无关,包括命令注入、代码注入、路径遍历、资源耗尽和不安全的直接对象引用(IDOR)。第二类是工具定义与生命周期漏洞,包括在工具描述里埋恶意指令的「工具投毒」、用户批准后偷改定义的「拉地毯」、以及恶意服务器用同名工具覆盖可信工具的跨服务器遮蔽。第三类是交互与数据流漏洞,典型代表是间接提示注入。
对普通用户,它更像一道接入前的检查关口:先把服务器扫一遍再决定装不装。对开发者,漏洞知识库的分条说明和对应检测动作可以直接对照自己的实现自查。团队使用时,跨服务器工具重名这类问题需要结合客户端侧连接情况一起排查。
检测工具参数未经净化直接进入系统命令的拼接写法,也能识别 eval()、exec() 这类把用户输入当代码执行的动态调用。
识别缺少路径规范化与校验的文件操作,以及资源密集型操作上缺失的内存、CPU、磁盘用量上限。
针对依据用户提供的标识符直接访问内部对象或资源、却没有鉴权校验的写法进行检查。
分析工具描述与参数描述里是否藏有害关键词或指令模式,结合启发式规则与 LLM 分类器判断,防止用户在批准时被描述文字误导。
持续比对 MCP 服务器的工具 schema 与描述是否发生变化,用来发现用户批准后服务器静默改写自身定义的「拉地毯」行为,需要状态跟踪能力。
检查不同服务器之间是否存在同名或同签名的工具,避免恶意服务器借重名拦截、覆盖对可信服务器的正常调用。
公开逐条列出 MCP 服务器的漏洞分类,每条包含描述、易受攻击与安全写法的代码示例,以及扫描器对应的检测动作,可当自查清单用。
把 MCP 服务器接入客户端或生产环境之前想先过一遍常见漏洞,这款工具值不值得用取决于你要查什么。它的强项在静态可查的那部分:命令注入、代码注入、路径遍历、资源上限缺失、IDOR,以及工具描述里的投毒模式和定义被静默改写,这些都有明确的检测动作和代码示例对照,接入前扫一遍能拦掉一批低级的危险写法。短板在需要运行时或全局视野的部分:工具行为随外部因素动态变化这件事,静态扫描基本无能为力;跨服务器工具遮蔽也需要掌握客户端连接的服务器全貌才好判断。价格与免费额度未公布,先用之前得先确认费用和授权范围。
漏洞分类按实现、工具定义、数据流三层组织,每层都有检测动作和正反代码示例,可以当自查清单逐条过自己的实现。
在把外部 MCP 服务器接进客户端之前扫一遍,能拦下命令注入、工具描述投毒这类最常见的问题,属于低成本的前置检查。
工具行为动态变化、间接提示注入这类问题,单靠服务器静态扫描很难覆盖,这类需求还要另外配运行时监控手段。
价格与免费额度未公布,若评估流程要求先有明确费率和授权范围,需要先与服务方确认再推进。
按公开的漏洞分类,覆盖三层:服务器实现层的命令注入、代码注入、路径遍历、资源耗尽和不安全的直接对象引用;工具定义与生命周期层的工具投毒、静默改写定义、跨服务器工具遮蔽;交互与数据流层的间接提示注入等问题。每类都写明了对应的检测动作。
工具投毒指把恶意指令写进工具的描述或参数描述里,等模型读到后照着执行,而用户在批准安装时未必看得出来。扫描器会分析这些描述文本,用有害关键词与指令模式的启发式规则配合 LLM 分类器来判断。
指用户批准或安装之后,服务器偷偷改掉工具的定义、描述或参数,把原本无害的工具变成有恶意的。检测办法是持续监控 MCP 服务器的工具 schema 与描述有没有变化,需要状态跟踪,所以单次扫描看不到,得有历史基线做对比。
这是「跨服务器工具遮蔽」:恶意服务器定义与可信服务器同名或同签名的工具,借机拦截或覆盖正常调用。要判断这类问题,需要能看到客户端连接的全部服务器,检查不同服务器之间是否存在重复的工具名。只扫一个服务器时信息不完整。
比较难。这类工具的行为会随外部因素或隐藏状态变化,而这些变化不会体现在静态定义里,官方把它归为主要靠运行时检测的问题,静态扫描能做的有限。这类服务器建议配合运行时日志与行为观测一起判断。
价格与免费额度未公布,也无从判断是否可以长期免费使用。涉及付费或商用授权时,需要先与服务方确认费用和授权范围。