Community编程与开发github.com

sushant-me/mcpaudit-mcp-security

在代理连接 MCP 服务器之前检查其声明内容——工具描述中的提示注入文本、不可见 Unicode(包括零宽度编码可打印 ASCII 的标签块)、相似或重复的工具名称、框架名称冲突以及不受约束的 shell 参数。适用于审查 MCP 服务器、安装 MCP 集成、评估第三方工具提供商,或当有人问“这个 MCP 服务器安全吗?”或“审计这些工具定义”。

mcpaudit-mcp-security 是什么?

此技能用于审计 MCP 服务器的工具声明,确保代理在连接前了解其暴露的风险。它执行 11 项检查,涵盖关键(如框架保留名称冲突:工具名称被定义为框架内置的原始操作,静默替换标准功能)、高危(指令注入、不可见字符、相似工具名、破坏性只读声明、重复工具名)以及中/低风险(易混淆工具名、缺少注释、无约束参数、URL 包含在描述中、未记录的工具)。该工具可解码零宽度 Unicode 标签块,并检测在标准化后与 ASCII 相同的欺骗性名称,从而发现仅靠肉眼审查无法察觉的问题。支持从 `tools.json` 文件或管道输入运行。它只审计声明而非行为,因此无法保证实现正确性,但可帮助审查人员快速批准安全的服务器。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/sushant-me/mcpaudit-mcp-security/tree/HEAD/plugins/mcp-tool-audit/skills/mcp-tool-audit

Installed? Explore more 编程与开发 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

检查 MCP 服务器声明的内容

工具描述并非文档。客户端在 tools/list 收到工具名称和描述,是在任何工具被调用之前,它们会进入模型的上下文——因此描述在唯一有意义的层面上是可执行的:它可以携带指令。

何时应用

  • 向代理添加 MCP 服务器并希望了解它将暴露的内容
  • 安全审查询问代理可以调用哪些第三方工具
  • 代理行为异常,而工具描述是可疑原因

运行方式

pip install "git+https://github.com/sushant-me/mcpaudit"
mcpaudit audit tools.json        # 存在发现时退出码为 1,干净时为 0

请从仓库安装,不要从 PyPI 安装——PyPI 上的 mcpaudit 是另一个不相关的项目,其 CLI 不接受文件参数。

获取客户端收到的 tools.json:mcp-client --list > tools.json,或使用供应商发布的声明文件(最佳方式,因为不会执行任何代码)。管道方式也有效:mcp-client --list | mcpaudit audit -

11 项检查

critical — reserved-name-collision:工具名称使用了框架在工具表外部安装的名称(set_model_response、google_search、finish),从而静默替换了基本操作。

high — instruction-in-declaration、invisible-characters、look-alike-tool-names、destructive-declared-read-only、duplicate-tool-name。

medium / low — confusable-tool-name、missing-annotations、unconstrained-sink-parameter、url-in-description、undocumented-tool。

其中两项无法通过阅读声明看到。Unicode 标签块将可打印 ASCII 编码为零可见宽度的文本,mcpaudit 会报告它解码后的内容。两个标准化为相同 ASCII 的名称(search / ѕearch)可以绕过基于记忆的允许列表。

分诊

按严重性从上到下处理。critical 发现是阻止项:解决它,或在连接前获得书面风险接受。干净的结果就是一个结果——行为良好的服务器不会产生任何发现,这能让审查者快速批准。

限制

此工具仅读取声明,而非行为。它无法判断服务器的实现是否正确,只能判断它所宣传的内容对模型来说是否安全。

想要执行部分

将批准的工具集固定为策略文件,从而使静默修改描述后通过审查的服务器在 CI 中失败而非静默更改——这是付费版本:MCP Server Security Review,列在 Agensi 上。在该列表上线前,带有工作示例的规则参考位于 https://github.com/sushant-me/mcpaudit-mcp-security

限制

此工具仅读取声明,而非行为。它无法判断服务器的实现是否正确,只能判断它所宣传的内容对模型来说是否安全。

相关技能