mcpField
E
elicitation-auditor

elicitation-auditor

ローカル
github.com/GuardBeeセキュリティ2今日更新

elicitation-auditor について

elicitation-auditorは、MCPサーバーのソースコードを静的解析し、elicitationのセキュリティ上のアンチパターンを検査するツールです。フォーム内の秘密情報、認可URL、本人確認、キャンセル処理などを確認します。

主な機能

  1. 01elicitationのセキュリティ上の問題をスキャン
  2. 02フォームが秘密情報を要求するか確認
  3. 03認可URLやURL内の機密データを検出
  4. 04フォーム回答を本人確認に使うコードを確認
  5. 05拒否やキャンセルを無視するコードを検出

活用シーン

  1. 01MCPサーバーの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

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 つのサーバーを複数のクライアントで再利用できます。