关于 elicitation-auditor
elicitation-auditor 是面向开发者的 MCP 服务,用于检查 MCP 服务源代码中的 elicitation 安全与规范问题。它采用静态分析,可扫描文本、单个文件或目录。
主要功能
- 01检测表单模式中索取的秘密
- 02标记直接指向第三方的授权 URL
- 03查找 URL 中的凭据和个人数据
- 04检查明文 HTTP 和表单中的链接
- 05检查身份处理及拒绝、取消结果
- 06扫描文本、文件或目录
适用场景
- 01发布前审查 elicitation 代码
- 02查找嵌入 elicitation URL 的凭据
- 03检查提交身份和取消结果的处理
MCP 相关
它向 MCP 客户端提供 scan_text、scan_file、scan_directory 和 list_patterns 工具,用于审计 MCP 服务源代码。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
4收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| label | string | 否 | 在发现结果中显示的可选标签(例如文件名) |
| content | string | 是 | 要扫描的代码内容 |
详细介绍
@guardbee/mcp-elicitation-auditor
🇬🇧 English | 🇹🇷 Türkçe | 🇨🇳 中文 | 🇯🇵 日本語 | 🇰🇷 한국어 | 🇧🇷 Português | 🇪🇸 Español | 🇩🇪 Deutsch
一个 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 对你有帮助,在项目仓库点个 ⭐,能帮助其他人发现它。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。