Elicitation Auditor

io.github.4hmetuyar由 GitHub 账号 4hmetuyar 发布v0.1.1更新于 Oct 24, 2026

MCP elicitation anti-patterns: secrets in forms, third-party authorize URLs, credentials in URLs

已验证STDIO仅桌面开发者工具安全与监控

概览

AI 生成的概览

本地 MCP 服务器,静态扫描 MCP 服务器源码中的 elicitation 反模式,例如表单中索取密钥、URL 中携带凭据。

可以做什么
  • 扫描源码字符串、单个文件或递归扫描整个目录,查找 elicitation 反模式
  • 列出内置检查项(表单模式索取密钥、第三方 authorize 链接、URL 中嵌入凭据、明文 HTTP、表单中的可点击链接、把表单答案当作身份、忽略 decline/cancel)
  • 输出检查结果供审阅,命令行还可输出 text、JSON 或 SARIF 格式
适用场景
适合在开发或审查使用 elicitation 的 MCP 服务器时,按 2026-07-28 规范中表单模式与 URL 模式的界限做一次快速静态检查。
运行要求
以 npm 包 @guardbee/mcp-elicitation-auditor 通过 stdio 在本机运行,需要 Node.js 与 npx。无需 API 密钥,未声明环境变量,也不需要认证。
安装前请注意
仅做静态分析;它会读取你指定的源码,避免扫描包含无关敏感文件的目录。遥测默认关闭,但设置 GUARDBEE_TELEMETRY=1 后会把服务器、工具、成功与否、耗时以及文件路径等短参数值发送给第三方,较长字符串及 content、token、password 等字段会替换为占位符。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Elicitation Auditor,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

@guardbee/mcp-elicitation-auditor

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

[npm version] [npm downloads] [License: MIT]

An MCP server that scans MCP server source for elicitation anti-patterns in the 2026-07-28 specification.

That revision deprecated sampling and roots. Elicitation is the remaining way a server asks the client for something. Form mode collects structured data through the client. URL mode sends the user to a page the client must not read. The spec draws a hard line between them.

Telemetry is off by default. With GUARDBEE_TELEMETRY=1 it sends the server, tool, success, duration and short parameter values such as a file path; longer strings and fields like content, token or password are replaced with a placeholder. See @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)

What it flags

  • Form-mode secrets. elicitInput / ctx.elicit / elicitation/create with mode omitted or form, whose schema asks for password, apiKey, access_token, cvv, and the same family. A name and email form is allowed by the spec and is not flagged. secretQuestion is not treated as secret.
  • Direct third-party authorize. URL mode whose url path contains authorize, oauth, or oauth2, unless the path goes through your own /connect route. That is the forwarded-link phishing case in the spec: the user who opens the link must be checked against the MCP user before any redirect.
  • Credential or personal data in the URL. Query keys such as access_token, code, or email. The URL is shown to the MCP client.
  • Cleartext HTTP, except localhost and 127.0.0.1.
  • Clickable URL in a form. A form message or field description that contains an http link. The spec says that link belongs in URL mode.
  • Form answer used as identity. The submitted email or username is passed to findUser, loginAs, or assigned to req.user, with no comparison to the token sub claim.
  • Ignored decline/cancel. Code reads .content and never looks at .action, decline, or cancel. Checking action !== "accept" is enough. Sending the email as a notification address is not treated as an identity check.

Tools

ToolPurpose
scan_textScan a source string
scan_fileScan one file
scan_directoryRecursive scan
list_patternsList the checks

CLI

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

guardbee.yml:

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

No API key. Static analysis only.

Feedback

Questions, ideas, or a false positive? Start a thread in GitHub Discussions or open an issue. If GuardBee is useful to you, a ⭐ on the repository helps others find it.

来源:packages/elicitation-auditor/README.md,提交 82be7b9

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.1最新Sep 30, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分