mcpField
E
elicitation-auditor

elicitation-auditor

ローカル
github.com/GuardBeeセキュリティ11 日前に更新

elicitation-auditor について

elicitation-auditorは、MCPサーバーのソースコードにあるelicitationのセキュリティ上および仕様上の問題を調べるMCPサーバーです。静的解析でテキスト、ファイル、ディレクトリをスキャンします。

主な機能

  1. 01フォームモードでの秘密情報要求を検出
  2. 02第三者の認可URLへの直接遷移を検出
  3. 03URL内の認証情報や個人データを検出
  4. 04平文HTTPとフォーム内リンクを検査
  5. 05本人確認と拒否・キャンセル結果を検査
  6. 06テキスト、ファイル、ディレクトリをスキャン

活用シーン

  1. 01リリース前のelicitationコードの確認
  2. 02elicitation URLに埋め込まれた認証情報の検出
  3. 03送信された本人情報やキャンセル結果の処理確認

MCP 対応

MCPクライアント向けに、MCPサーバーのソースを監査するscan_text、scan_file、scan_directory、list_patternsツールを提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの 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

2026-07-28仕様におけるエリシテーションのアンチパターンをMCPサーバーのソースから検出するMCPサーバーです。

この改訂では、サンプリングとルートが非推奨になりました。サーバーがクライアントに何かを要求する手段として残っているのは、エリシテーションだけです。フォームモードでは、クライアントを通じて構造化データを収集します。URLモードでは、クライアントが読み取ってはならないページにユーザーを誘導します。仕様では、この2つを明確に区別しています。

テレメトリはデフォルトでオフです。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は秘密情報として扱われません。
  • サードパーティーへの認可の直接誘導。 URLモードのurlパスにauthorize、oauth、oauth2が含まれている場合です。ただし、そのパスが独自の/connectルートを経由する場合を除きます。これは仕様で示されている、転送リンクを使ったフィッシングのケースです。リンクを開くユーザーは、リダイレクトが行われる前にMCPユーザーと照合されなければなりません。
  • URL内の認証情報または個人データ。 access_token、code、emailなどのクエリキーが対象です。URLはMCPクライアントに表示されます。
  • localhostと127.0.0.1を除く、暗号化されていないHTTP。
  • フォーム内のクリック可能なURL。 HTTPリンクを含むフォームメッセージまたはフィールドの説明です。仕様では、そのリンクはURLモードに置くよう定められています。
  • フォームの回答をユーザー識別に使用。 送信されたメールアドレスまたはユーザー名をfindUserやloginAsに渡すか、トークンのsubクレームと比較せずにreq.userへ割り当てている場合です。
  • 拒否やキャンセルを無視。 コードが.contentを読み取る一方で、.action、decline、cancelを確認していない場合です。action !== "accept"を確認すれば十分です。通知先としてメールアドレスを送信することは、ユーザー識別の確認とは見なされません。

ツール

ツール用途
scan_textソース文字列をスキャン
scan_file1つのファイルをスキャン
scan_directoryディレクトリを再帰的にスキャン
list_patternsチェック項目を一覧表示

CLI

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でスレッドを立てるか、issueを作成してください。GuardBeeが役に立った場合は、リポジトリに⭐を付けていただくと、ほかの人にも見つけてもらいやすくなります。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。