Tooltrust Scanner について
Tooltrust Scannerは、MCPツール定義を静的に検査するセキュリティスキャナーです。MCPサーバー、CLI、CIチェックとして動作し、エージェントがツールを使う前にリスク評価とポリシー判定を行います。
主な機能
- 01MCPツール定義の静的解析
- 02プロンプトインジェクションと権限リスクの検出
- 03サプライチェーンやパッケージ脅威の検出
- 04A–F評価と実施ポリシーの提示
- 05設定、サーバー、JSON定義のスキャン
活用シーン
- 01インストール前のMCPサーバー監査
- 02CIでのツール定義チェック
- 03ローカルMCP設定の確認
- 04高リスクツールのブロックや承認要求
MCP 対応
MCPサーバーとして、設定、稼働中サーバー、JSON定義のスキャン、ルール一覧、ディレクトリ評価の照会を行うツールを公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
5掲載時のツール一覧 · 3 週間前に更新
このツールにパラメーターはありません。
詳細
ToolTrust スキャナー
MCP ツール定義向けの静的セキュリティスキャナー
エージェントがツールを呼び出す前に信頼度(A~F)を判定 — MCP サーバー、CLI、またはCIチェックとして実行できます。
エージェントが呼び出すすべてのMCPツールは、プロンプトインジェクション、データ流出、権限昇格、サプライチェーンのバックドアといった攻撃対象になります。ToolTrustは、エージェントがツールを信頼する前にツール定義をスキャンし、リスクを把握できるよう信頼度(A~F)を割り当てます。ToolTrustはMCPサーバーであり、CLI/CIツールです。ホスト、ゲートウェイ、ランタイムプロキシではありません。現在のMCP中心のワークフローにとどまらず、対応範囲を拡大しています。スキルやその他のエージェントツール形式への対応もロードマップに含まれています。
ToolTrust Directoryを今すぐ見る — インストール前に信頼度とスキャンに基づくレポートを確認できます。
MCPのデモ:エージェントから設定全体をスキャンします。

30秒で環境をスキャン
ToolTrustをMCPサーバーとして追加し、エージェントに自身のツールを監査させます(stdioトランスポート — ネットワークリスナーは不要です。ホストがサブプロセスとして起動します)。
{
"mcpServers": {
"tooltrust": {
"command": "npx",
"args": ["-y", "tooltrust-mcp"]
}
}
}
次にエージェントに 「tooltrust_scan_configを実行して」 と尋ねます。
MCP設定を読み込み、各サーバーに並列で接続してすべてのツールをスキャンし、信頼度と適用判断を含むリスクレポートを数秒ですべて返します。
または、CLIを使用します。
curl -sfL https://raw.githubusercontent.com/AgentSafe-AI/tooltrust-scanner/main/install.sh | bash
tooltrust-scanner scan --server "npx -y @modelcontextprotocol/server-filesystem /tmp"
スナップショットの例(調査対象群)
公開されている**ToolTrust Directoryでは、スキャンの拡大に伴う最新の信頼度と集計値を確認できます。公表済みの調査の一例から問題の様子がわかります。MCPサーバー207件、ツール3,235件**を対象とした調査であり、現在スキャンしている対象すべての網羅的な件数ではありません。
| 指標 | 件数 |
|---|---|
| 調査対象群のMCPサーバー数 | 207 |
| 分析した個別ツール数 | 3,235 |
| セキュリティ上の問題の合計 | 3,613 |
| 問題が1件以上見つかったサーバー数 | 145(70%) |
| 問題のないグレードAのサーバー数 | 22(10%) |
| 任意コード実行が可能なサーバー数 | 16 |
この調査対象群で問題のないグレードAだったサーバーは、わずか10%でした。 ディレクトリ全体の最新の結果は**tooltrust.dev**をご覧ください(この表はスナップショットとして明記されたものに限ってご利用ください)。
🔍 検出項目
ToolTrust は、このリポジトリ内の 16 個の静的なツール定義ルール(AS-001–AS-011、AS-013–AS-017)に加え、組み込み MCP 実装を対象とする 2 個のソーススキャンルール(AS-018、AS-019)を実行します。AS-012(ツールの差分)は、ToolTrust Directory で、新しいスキャン結果と以前の実行結果を比較する際に評価されます。
| ID | 重大度 | 検出内容 |
|---|---|---|
| 🛡️ AS‑001 | Critical | ツールポイズニング — ツールの説明に隠された敵対的なプロンプト(ignore previous instructions、<INST>) |
| 🔑 AS‑002 | High/Low | 権限の範囲 — 記載された目的を超える exec、network、db、fs の権限、または過度に広範な入力スキーマ |
| 📐 AS‑003 | High | スコープの不一致 — ツール名が権限と矛盾している(例:exec 権限を持つ read_config) |
| 📦 AS‑004 | High/Critical | サプライチェーンの CVE — OSV を通じて、バンドルされた依存関係に既知の CVE があるかを検出 |
| 🔓 AS‑005 | High | 権限昇格 — admin/:write OAuth スコープ、説明内の sudo/impersonate |
| ⚡ AS‑006 | Critical | 任意コード実行 — evaluate_script、_evaluate サフィックス、execute javascript、page.evaluate() のパターン |
| ℹ️ AS‑007 | Info | ツールデータ不足 — ツールに有効な説明またはスキーマがない |
| 🚨 AS‑008 | Critical | 侵害が確認されたパッケージ — サプライチェーン攻撃が確認されたパッケージを対象とする、オフライン組み込みブラックリスト(LiteLLM 1.82.7/1.82.8、Trivy v0.69.4-v0.69.6、Langflow <1.9.0、Axios 1.14.1/0.30.4)。レイテンシーはゼロで、ネットワーク接続は不要です。 |
| 🔤 AS‑009 | Medium | タイポスクワッティング — ツール名が広く知られている MCP ツール名と編集距離 2 以内にあり、なりすましが疑われる |
| 🗝️ AS‑010 | Medium | シークレットの取り扱い — API キーやパスワードを受け付ける入力パラメーター、安全でない方法でログに記録される認証情報 |
| ⚡ AS‑011 | Low | DoS 耐性 — ネットワーク/exec ツールにレート制限、タイムアウト、リトライの設定がない |
| 🔄 AS‑012 | High | ラグプル — バージョン番号が変わっていないのに、同じバージョンをスキャンした結果、ツールセットが変更されている (Directory パイプラインのみ) |
| 👥 AS‑013 | High/Medium | ツールのシャドーイング — 重複または類似するツール名によって、信頼できるツール宛ての呼び出しが乗っ取られる |
| ℹ️ AS‑014 | Info | 依存関係インベントリを利用できない — MCP サーバーが metadata.dependencies も repo_url も公開していないため、サプライチェーンのカバレッジが限定され、不完全なものとして扱う必要がある |
| ⚠️ AS‑015 | Medium/High | 疑わしい NPM ライフサイクルスクリプト — npm 依存関係が preinstall/postinstall などのインストール時スクリプトを公開している。リモート取得やインライン実行のパターンがある場合、重大度が上がる |
| 🚨 AS‑016 | Critical | 疑わしい NPM IOC 依存関係 — 公開された npm メタデータまたはインストール時スクリプトが、plain-crypto-js のような既知の悪意ある IOC パッケージ、ドメイン、URL、レビュー済みのスクリプトパターンを参照している。トップレベルのパッケージ名が新しい場合も検出される |
| ⚠️ AS‑017 | Medium | 疑わしいデータ流出の説明 — ツールの説明が、プロンプトインジェクションとして分類せずに、ユーザーデータ、コンテンツ、会話履歴を外部またはリモートのエンドポイントへ送信することを明示的に示唆している |
| ℹ️ AS‑018 | Info | 組み込み MCP サーバーを検出 — ソースレベルで MCP SDK の使用が見つかったものの、マニフェストやライブハンドシェイクからツールを列挙できなかったため、引き続き手動レビューが必要 |
| 🔓 AS‑019 | High | 認証されていない MCP ルートの公開 — 組み込み MCP HTTP ルートが、同等の認証ミドルウェアなしで同じハンドラーを公開している |
ルールの詳細:docs/RULES.md
仕組み
- 解析 — 稼働中の MCP サーバーに接続する(または JSON ファイルを読み込む)ことで、すべてのツール定義を抽出します
- 分析 — 各ツールの名前、説明、スキーマ、権限に対してツール定義ルールを実行します。ソーススキャンでは、組み込まれた MCP 実装チェックも追加で行います
- 評価 — ツールごとに数値のリスクスコアと A〜F の評価を割り当てます
- 適用 — 各評価をゲートウェイポリシー(
ALLOW、REQUIRE_APPROVAL、BLOCK)に対応付けます
純粋な静的解析です。LLM の呼び出しはありません。データがマシンの外部に送信されることはありません(任意の CVE 照会を除く)。ミリ秒単位で実行されます。結果は決定論的で再現可能です。
インストール
# One-line install (macOS / Linux)
curl -sfL https://raw.githubusercontent.com/AgentSafe-AI/tooltrust-scanner/main/install.sh | bash
# Go
go install github.com/AgentSafe-AI/tooltrust-scanner/cmd/tooltrust-scanner@latest
# npx (no install needed)
npx -y tooltrust-mcp
MCP ツール
MCP サーバーとして実行すると、ToolTrust はエージェントに次のツールを提供します。
| ツール | 機能 | データアクセス |
|---|---|---|
tooltrust_scan_config | .mcp.json または ~/.claude.json 内のすべての MCP サーバーをスキャンします | ローカル設定を読み込み、各サーバーをサブプロセスとして起動します |
tooltrust_scan_server | コマンドを指定して、特定の MCP サーバーを起動・スキャンします | ユーザーが指定したコマンドをサブプロセス(stdio)として実行します |
tooltrust_scanner_scan | ツール定義の JSON 生データをスキャンします | メモリー内のみで処理します。サブプロセスもネットワークも使用しません |
tooltrust_lookup | ToolTrust Directory でサーバーの信頼性評価を照会します | ToolTrust Directory API へのネットワークリクエスト |
tooltrust_list_rules | 組み込みのセキュリティルールをすべて一覧表示します | ローカルカタログのみ |
CI / GitHub Actions
パイプラインでリスクの高い MCP サーバーをブロックします。
- name: Audit MCP Server
uses: AgentSafe-AI/tooltrust-scanner@main
with:
server: "npx -y @modelcontextprotocol/server-filesystem /tmp"
fail-on: "approval"
デプロイとセキュリティ
デプロイには、インストールに記載されたインストール方法、またはCI / GitHub Actionsのワークフロー例を使用してください。脆弱性の報告方法と開示ポリシーについては、docs/SECURITY.mdを参照してください。
インストール前のスキャンゲート
信頼できない MCP サーバーを設定に追加することがないようにしましょう。
# Scans the server, then auto-installs if Grade A/B, prompts on C/D, blocks on F
tooltrust-scanner gate @modelcontextprotocol/server-memory -- /tmp
# Replace `claude mcp add` with a scanned install
alias mcp-add='tooltrust-scanner gate'
ゲートの全オプションと pre-commit フックの設定については、docs/USAGE.mdを参照してください。
プロジェクトに信頼性バッジを追加する
お使いの MCP サーバーが ToolTrust の審査に合格したら、そのことを知らせましょう。
[](https://www.tooltrust.dev/)
サプライチェーンに関する警告: ToolTrust は、LiteLLM v1.82.7/8(TeamPCP バックドア)、Trivy v0.69.4–v0.69.6、Langflow < 1.9.0 など、侵害が確認されたパッケージを検出してブロックします。ルール AS-008 による評価 F が表示された場合は、ただちにパッケージを削除し、すべての認証情報をローテーションしてください。
使用ガイド · 開発者ガイド · コントリビューション · デプロイとセキュリティ · 変更履歴 · セキュリティ · ライセンス:MIT
脆弱性照会の完全性
OSV の照会に失敗した場合(レート制限、サービスエラー、不正な形式のレスポンス、タイムアウトを含む)、成功レポートやセキュリティ評価を出すのではなく、スキャンは scan incomplete で失敗します。一部の照会が失敗した場合も、スキャンは失敗します。CLI はゼロ以外の終了コードを返し、MCP のスキャン呼び出しはツールエラーを返し、ゲートはサーバーをインストールしません。これは、利用可能性よりも未完了の結果を明示することを意図的に優先する設計です。OSV が停止すると、依存関係が宣言されたツールのスキャンを実行できない場合があります。
TOOLTRUST_OSV_URL を指定すると、OSV 互換の照会エンドポイントを選択できます(デフォルト:https://api.osv.dev/v1/query)。信頼できるサービスのみを使用してください。宣言された依存関係の名前とバージョンが、そのサービスに送信されます。HTTPS が必須です。ただし、ローカル統合テスト用フィクスチャでは、数値形式のループバック HTTP を使用できます。埋め込み認証情報とフラグメントは拒否されます。オーバーライド先でエラーが発生しても、公開 API へのフォールバックはありません。
プロジェクト専用の検証スキルは、GitHub Actions で CLI and MCP Verification として実行され、ベースラインパス、検出機能のリグレッション、管理下のループバック OSV フィクスチャを検証します。レポートとコマンドのトランスクリプトは、失敗時もアップロードされます。このジョブでは、公開 OSV のリアルタイムの可用性と MCP HTTP トランスポートは対象外です。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。