mcpField
E
elicitation-auditor

elicitation-auditor

本地服务
github.com/GuardBee安全11 天前更新

关于 elicitation-auditor

elicitation-auditor 是面向开发者的 MCP 服务,用于检查 MCP 服务源代码中的 elicitation 安全与规范问题。它采用静态分析,可扫描文本、单个文件或目录。

主要功能

  1. 01检测表单模式中索取的秘密
  2. 02标记直接指向第三方的授权 URL
  3. 03查找 URL 中的凭据和个人数据
  4. 04检查明文 HTTP 和表单中的链接
  5. 05检查身份处理及拒绝、取消结果
  6. 06扫描文本、文件或目录

适用场景

  1. 01发布前审查 elicitation 代码
  2. 02查找嵌入 elicitation URL 的凭据
  3. 03检查提交身份和取消结果的处理

MCP 相关

它向 MCP 客户端提供 scan_text、scan_file、scan_directory 和 list_patterns 工具,用于审计 MCP 服务源代码。

配置

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

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

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

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

工具

4

收录的工具列表 · 更新于 2 周前

参数类型必填说明
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 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。