mcpField
E
elicitation-auditor

elicitation-auditor

本地服务
github.com/GuardBee安全2今天更新

关于 elicitation-auditor

elicitation-auditor 是用于静态分析 MCP 服务源代码的安全审计工具,面向开发者检查 elicitation 交互中的规范反模式。它覆盖表单收集秘密、授权 URL、身份判断和取消处理等风险。

主要功能

  1. 01扫描 elicitation 安全反模式
  2. 02检查表单是否索取秘密
  3. 03检测授权 URL 与 URL 中的敏感数据
  4. 04检查表单答案是否被当作身份
  5. 05发现未处理拒绝或取消的代码

适用场景

  1. 01审查 MCP 服务的 elicitation 实现
  2. 02在提交前检查源代码安全问题
  3. 03以文本、JSON 或 SARIF 格式输出扫描结果

MCP 相关

作为 MCP 服务,向客户端提供文本、单文件和目录扫描工具,以及检查规则列表。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"guardbee-elicitation-auditor": {
"command": "npx",
"args": [
"-y",
"@guardbee/mcp-elicitation-auditor"
]
}
}
}
启动命令npx -y @guardbee/mcp-elicitation-auditor

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@guardbee/mcp-elicitation-auditor0.3.1

工具

4

收录的工具列表 · 更新于 今天

参数类型必填说明
labelstring否在发现结果中显示的可选标签(例如文件名)
contentstring是要扫描的代码内容

详细介绍

@guardbee/mcp-elicitation-auditor

🇬🇧 English | 🇹🇷 Türkçe | 🇨🇳 中文 | 🇯🇵 日本語 | 🇰🇷 한국어 | 🇧🇷 Português | 🇪🇸 Español | 🇩🇪 Deutsch

npm version npm downloads License: MIT

一个 MCP 服务,用于扫描 MCP 服务源代码,查找2026-07-28 规范中的 elicitation 反模式。

该修订弃用了 sampling 和 roots。Elicitation 是服务向客户端请求内容的唯一剩余方式。表单模式通过客户端收集结构化数据。URL 模式会将用户引导至一个客户端不得读取的页面。规范对两者作出了明确区分。

遥测默认关闭。设置 GUARDBEE_TELEMETRY=1 后,它会发送服务、工具、成功状态、持续时间和较短的参数值(例如文件路径);较长的字符串以及 content、token 或 password 等字段会替换为占位符。请参阅 @guardbee/mcp-telemetry。

Claude ──► elicitation-auditor ──► MCP server source
              │
              ├─ form-secrets   (form mode asks for a password, API key, token, or card, or embeds a link)
              ├─ url-binding    (URL mode opens a third-party /authorize endpoint directly)
              ├─ url-exposure   (credential or email embedded in the elicitation URL)
              ├─ transport      (cleartext http URL outside localhost)
              ├─ identity       (a form answer is treated as who the user is)
              └─ completion     (the result is used without checking decline or cancel)

检查内容

  • 表单模式中的机密信息。 当 elicitInput / ctx.elicit / elicitation/create 未指定模式或指定为 form,且其架构要求提供 password、apiKey、access_token、cvv 等同类信息时,会触发标记。规范允许姓名和电子邮件表单,因此不会标记。secretQuestion 不会被视为 secret。
  • 直接跳转至第三方授权页面。 URL 模式的 url 路径包含 authorize、oauth 或 oauth2,但路径经过你自己的 /connect 路由时除外。这是规范中提到的转发链接钓鱼场景:在发生任何重定向之前,必须检查打开链接的用户是否与 MCP 用户匹配。
  • URL 中包含凭据或个人数据。 例如 access_token、code 或 email 等查询键。URL 会显示给 MCP 客户端。
  • 明文 HTTP,localhost 和 127.0.0.1 除外。
  • 表单中的可点击 URL。 表单消息或字段说明中包含 http 链接。规范规定,这类链接应使用 URL 模式。
  • 将表单答案用作身份标识。 提交的电子邮件或用户名被传递给 findUser、loginAs,或赋值给 req.user,且未与令牌的 sub 声明进行比对。
  • 忽略拒绝/取消操作。 代码读取 .content,却从不检查 .action、decline 或 cancel。检查 action !== "accept" 即可。将电子邮件用作通知地址不视为身份验证。

工具

工具用途
scan_text扫描源代码字符串
scan_file扫描单个文件
scan_directory递归扫描
list_patterns列出检查项

命令行

npx @guardbee/mcp-elicitation-auditor scan <path> [--fail-on=any] [--format=text|json|sarif]

guardbee.yml:

elicitation-auditor:
  fail-on: high
  max-files: 5000
  exclude:
    - ".test.ts"

无需 API 密钥。仅进行静态分析。

反馈

有疑问、想法或发现误报?请在 GitHub Discussions 中发起讨论,或提交问题。如果 GuardBee 对你有帮助,在项目仓库点个 ⭐,能帮助其他人发现它。

评论

支持 Markdown

第一次接触 MCP?

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

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