AIツールの急速な普及に伴い、その安全性を確保することが極めて重要になっています。このセキュリティチェックリストは、大規模言語モデル(LLM)を外部ツールやデータソースに接続する重要な架け橋となっているモデルコンテキストプロトコル(MCP)に関連する潜在的なリスクを開発者が特定し、軽減するのに役立つように設計されています。
背景
このセキュリティチェックリストは、@SlowMist_Teamによって作成および維持されており、ブロックチェーンとAIエコシステムのセキュリティを向上させることを目的としています。FENZ.AIのこのリストへの貴重な貢献に感謝します。
概要
2024年末のリリース以来、MCPはClaude DesktopやCursorなどの主流のAIアプリケーションで広く使用されています。しかし、MCPの急速な普及は、新たなセキュリティ上の課題ももたらしています。現在のMCPアーキテクチャは、ホスト(ローカルで実行されるAIアプリケーション環境)、クライアント(サーバーとの通信とツール呼び出しを担当するコンポーネント)、およびサーバー(MCPプラグインに対応するサーバー側)の3つの部分で構成されています。ユーザーはホストを介してAIと対話し、クライアントはユーザーのリクエストを解析してMCPサーバーに転送し、ツールの呼び出しまたはリソースへのアクセスを実行します。複数のインスタンスやコンポーネントが連携して動作するシナリオでは、このアーキテクチャは一連のセキュリティリスクにさらされます。特に、暗号通貨取引やLLMカスタムプラグインのアダプテーションなどの機密性の高いシナリオでは、リスクがさらに高まります。そのため、適切なセキュリティ対策を講じて管理する必要があります。
したがって、包括的なMCPセキュリティチェックリストを作成し、それに従うことが非常に重要です。このチェックリストは、ユーザーインタラクションインターフェイス、クライアントコンポーネント、サービスプラグイン、マルチMCP連携メカニズム、および特定の分野(暗号通貨のシナリオなど)のセキュリティ上の要点を網羅しており、開発者が潜在的なリスクを体系的に特定し、タイムリーに防止するのに役立つように設計されています。これらのセキュリティ対策を実装することで、MCPシステムの全体的な安定性と制御可能性を効果的に向上させ、AIアプリケーションが急速に発展すると同時に、セキュリティも確実に確保されるようにすることができます。
使用方法
このチェックリストは、MCPプロジェクトの監査で発生する可能性のあるリスクに基づいており、開発者がMCP実装のセキュリティを確保するのに役立つことを目的としています。項目の重要度を識別するために、3つのレベルの優先度を使用します。
- 🟢:推奨される項目ですが、特定の状況では省略できます。
- 🔶:強く推奨される項目ですが、特別な状況では省略できます。省略すると、セキュリティに悪影響を及ぼす可能性があります。
- 🟥:いかなる状況でも省略できない項目です。これらの要素を削除すると、システムの故障またはセキュリティ脆弱性が発生する可能性があります。
MCPサーバー(MCPプラグイン)のセキュリティ
MCPサービスは、AIが呼び出すためのツール、リソース、および機能を提供する外部サービスです。通常、リソース、ツール、およびプロンプトが含まれています。以下に、MCPサーバーのセキュリティを確保するための考慮事項を示します。
APIセキュリティ
- 入力検証:🟥 すべてのAPI入力を厳密に検証し、インジェクション攻撃や不正なパラメータを防止します。これには、データ型、長さ、および形式の検証、および入力のクリーンアップとエスケープが含まれます。
- APIレート制限:🔶 API呼び出しのレート制限を実装し、悪用や攻撃を防止します。これにより、悪意のあるユーザーが大量のリクエストを送信してサーバーを圧倒するのを防ぐことができます。
- 出力エンコード:🔶 クロスサイトスクリプティング(XSS)攻撃を防止するために、API出力を正しくエンコードします。これには、HTML、JavaScript、およびURLなどの出力をエンコードすることが含まれます。
サーバーの認証と承認
- アクセス制御:🟥 ロールベースのアクセス制御を実装し、リソースへのアクセスを制限し、最小権限の原則を実装します。承認されたユーザーのみが特定のリソースにアクセスできます。
- 資格情報管理:🟥 サービス資格情報を安全に管理および保存し、ハードコーディングを回避し、キー管理サービスを使用します。これには、資格情報を保存するために暗号化を使用し、定期的に資格情報をローテーションすることが含まれます。
- 外部サービスの認証:🟥 安全な方法でサードパーティサービスを認証します。これには、OAuth 2.0またはSAMLなどの安全なプロトコルを使用することが含まれます。
- 最小権限:🔶 サービスプロセスは、必要な最小限の権限で実行され、潜在的な攻撃対象領域と権限昇格のリスクを軽減します。これは、サービスがその機能を実行するために必要な権限のみを持つ必要があることを意味します。
- APIキーのローテーション:🔶 APIキーとサービス資格情報を定期的に自動的にローテーションし、キーの有効期間を制限します。これにより、キーの漏洩のリスクを軽減できます。
- サービス認証:🔶 クライアントがサービスのIDを検証し、安全に使用するためのメカニズムを提供します。これにより、クライアントが信頼できるサービスと通信していることを検証できます。
バックグラウンドの永続性制御
- ライフサイクル管理:🟥 厳格なMCPプラグインのライフサイクル管理を実装し、クライアントと同期します。プラグインは、不要になったときに正しく開始および停止する必要があります。
- シャットダウン時のクリーンアップ:🟥 クライアントがシャットダウンするときに、すべてのMCPバックグラウンドプロセスを強制的にクリーンアップします。これにより、悪意のあるプラグインがクライアントのシャットダウン後も実行され続けるのを防ぐことができます。
- ヘルスチェックメカニズム:🔶 MCPプラグインの状態を定期的にチェックし、異常な永続性を特定します。これにより、正常に動作していないプラグインを特定できます。
- バックグラウンドアクティビティの監視:🔶 すべてのMCPバックグラウンドアクティビティを監視および記録します。これにより、悪意のあるアクティビティを特定できます。
- アクティビティの制限:🔶 MCPプラグインがバックグラウンドで実行できる操作のタイプと期間を制限します。これにより、悪意のあるプラグインによって引き起こされる損害を軽減できます。
デプロイとランタイムのセキュリティ
- 分離された環境:🟥 サービスは、エスケープ、東西方向の移動攻撃を防止するために、分離された環境(コンテナ、VM、サンドボックス)で実行されます。これにより、悪意のあるサービスが他のサービスまたはシステムに影響を与えるのを防ぐことができます。
- コンテナセキュリティ:🟥 強化されたコンテナセキュリティ構成と非rootユーザーを使用して実行し、変更不可能なインフラストラクチャとランタイム保護を実装します。これにより、コンテナのセキュリティを向上させることができます。
- セキュアブート:🔶 サービスの起動プロセスの整合性を検証し、セキュアブートチェーンと整合性チェックを実装します。これにより、悪意のあるサービスが起動時に挿入されるのを防ぐことができます。
- 環境変数のセキュリティ:🔶 機密性の高い環境変数は保護されており、ログに漏洩することはありません。これにより、悪意のあるユーザーが機密情報にアクセスするのを防ぐことができます。
- リソース制限:🔶 リソース使用量制限を実装し、大規模モデルがエラーが発生したときに大量のループ反復呼び出しを防止します。これにより、悪意のあるサービスがシステムリソースを使い果たすのを防ぐことができます。
コードとデータの整合性
- 整合性検証メカニズム:🟥 デジタル署名、ハッシュ検証などのメカニズムを使用して、コードが改ざんされていないことを確認します。これにより、悪意のあるユーザーがコードを変更するのを防ぐことができます。
- リモート検証:🔶 コードの整合性をリモートで検証するメカニズムをサポートします。これにより、リモートユーザーはコードが改ざんされていないかどうかを検証できます。
- コードの難読化と強化:🟢 コードの難読化と強化技術を適用し、リバースエンジニアリングの難易度を高めます。これにより、悪意のあるユーザーがコードを理解および変更することがより困難になります。
サプライチェーンのセキュリティ
- 依存関係の管理:🟥 サードパーティの依存関係を安全に管理します。これには、依存関係の追跡、最新の状態の維持、および脆弱性のスキャンが含まれます。
- パッケージの整合性:🟥 パッケージの整合性と信頼性を検証します。これにより、悪意のあるユーザーが悪意のあるパッケージを挿入するのを防ぐことができます。
- ソース検証:🔶 すべてのコードと依存関係のソースを検証します。これにより、コードが信頼できるソースから来ていることを確認できます。
- ビルドセキュリティ:🔶 ビルドプロセスが安全であることを確認します。これには、安全なビルドツールを使用し、ビルド環境が安全であることを確認することが含まれます。
監視とログ記録
- 異常検出:🟥 異常なアクティビティパターンを検出して報告します。これにより、悪意のあるアクティビティを特定できます。
- 詳細なログ記録:🟥 すべてのサービスアクティビティとセキュリティイベントを記録します。これにより、セキュリティイベントを調査できます。
- セキュリティイベントアラート:🟥 重要なセキュリティイベントのリアルタイムアラートを設定します。これにより、セキュリティイベントにタイムリーに対応できます。
- 集中ログ管理:🔶 ログを一元的に収集して分析します。これにより、セキュリティイベントのより包括的なビューを提供できます。
- ログの整合性:🔶 ログの整合性を確保し、改ざんを防止します。これにより、悪意のあるユーザーがログを削除または変更するのを防ぐことができます。
- 監査機能:🔶 詳細な監査とイベント調査をサポートします。これにより、セキュリティイベントの原因を特定できます。
呼び出し環境の分離
- MCP間の分離:🟥 複数のMCPサービス間の操作の分離を確保します。これにより、悪意のあるMCPサービスが他のMCPサービスに影響を与えるのを防ぐことができます。
- リソースアクセス制御:🟥 各MCPサービスに明確なリソースアクセス権限の境界を割り当てます。これにより、悪意のあるMCPサービスがアクセスできるリソースを制限できます。
- ツール権限の分離:🔶 異なる分野のツールは、異なる権限セットを使用します。これにより、悪意のあるツールによって引き起こされる損害を軽減できます。
プラットフォームの互換性とセキュリティ
- システムリソースの分離:🟥 さまざまなオペレーティングシステムの特性に応じて、適切なリソース分離ポリシーを実装します。これにより、悪意のあるサービスが他のサービスまたはシステムに影響を与えるのを防ぐことができます。
- クロスプラットフォーム互換性テスト:🔶 さまざまなオペレーティングシステムとクライアントでのMCPサービスの安全な動作の一貫性をテストします。これにより、サービスがすべてのプラットフォームで安全であることを確認できます。
- プラットフォーム固有のリスク評価:🔶 特定のプラットフォームに固有のセキュリティリスクと軽減策を評価します。これにより、プラットフォーム固有のセキュリティリスクを特定して軽減できます。
- クライアントの差異の処理:🔶 さまざまなクライアント実装の差異に対応できるようにセキュリティ制御を確保します。これにより、サービスがすべてのクライアントで安全であることを確認できます。
データセキュリティとプライバシー
- データの最小化:🟥 必要なデータのみを収集して処理します。これにより、データ漏洩のリスクを軽減できます。
- データの暗号化:🟥 機密データは、保存および転送中に暗号化されます。これにより、悪意のあるユーザーが機密情報にアクセスするのを防ぐことができます。
- データの分離:🟥 異なるユーザーのデータは効果的に分離されています。これにより、悪意のあるユーザーが他のユーザーのデータにアクセスするのを防ぐことができます。
- データアクセス制御:🟥 厳格なデータアクセス制御を実装します。これにより、データへのアクセスを制限できます。
- 機密データの識別:🟥 機密データを自動的に識別して特別な処理を行います。これにより、機密データの漏洩を防ぐことができます。
リソースセキュリティ
- リソースアクセス制御:🟥 きめ細かいリソースアクセス制御を実装します。これにより、特定のリソースへのアクセスを制限できます。
- リソース制限:🔶 単一のリソースのサイズと数を制限します。これにより、悪意のあるユーザーがシステムリソースを使い果たすのを防ぐことができます。
- リソーステンプレートのセキュリティ:🔶 リソーステンプレートパラメータが検証およびクリーンアップされていることを確認します。これにより、悪意のあるユーザーが悪意のあるコードを挿入するのを防ぐことができます。
- 機密リソースのタグ付け:🔶 機密リソースをタグ付けして特別な処理を行います。これにより、機密リソースの漏洩を防ぐことができます。
ツールの実装セキュリティ
- 安全なコーディングプラクティス:🟥 安全なコーディング標準とベストプラクティスに従います。これにより、コード内の脆弱性の数を減らすことができます。
- ツールの分離:🟥 ツールは、システムレベルの影響を防ぐために、制御された環境で実行されます。これにより、悪意のあるツールが他のサービスまたはシステムに影響を与えるのを防ぐことができます。
- 入力検証:🟥 クライアントからのすべての入力を厳密に検証します。これにより、悪意のあるユーザーが悪意のあるコードを挿入するのを防ぐことができます。
- ツール権限の制御:🟥 各ツールは、タスクを完了するために必要な最小限の権限のみを持ちます。これにより、悪意のあるツールによって引き起こされる損害を軽減できます。
- データ検証:🟥 ツールが処理するデータを検証し、インジェクションと改ざんを防止します。これにより、悪意のあるユーザーが悪意のあるデータを挿入するのを防ぐことができます。
- ツールの動作の制約:🟥 ツールが実行できる操作の範囲とタイプを制限します。これにより、悪意のあるツールによって引き起こされる損害を軽減できます。
- サードパーティインターフェイスから返される情報のセキュリティ:🟥 インターフェイスから返される情報が予想どおりであることを確認し、返される情報をコンテキストに直接挿入することはできません。これにより、悪意のあるツールがサードパーティインターフェイスを悪用するのを防ぐことができます。
- エラー処理:🔶 機密情報を漏洩せずに、エラーを安全に処理します。これにより、悪意のあるユーザーがエラー情報を悪用するのを防ぐことができます。
- 名前空間の分離:🔶 異なるツールに対して厳格な名前空間の分離を実装します。これにより、ツール間の競合を防ぐことができます。
MCPクライアント/ MCPホストのセキュリティ
ホストは、AIアプリケーションとMCPクライアントを実行する環境であり、エンドユーザーがAIシステムと対話するためのエントリポイントです。クライアントは、AIアプリケーション内のコンポーネントであり、MCPサービスとの通信、コンテキストの処理、ツールの呼び出し、および結果の表示を担当します。以下に、MCPクライアントとホストを保護するための考慮事項を示します。
ユーザーインタラクションのセキュリティ
- ユーザーインターフェイスのセキュリティ:🟥 ユーザーインターフェイスには、AI操作の権限範囲と潜在的な影響が明確に表示され、直感的なセキュリティインジケーターが提供されます。これにより、ユーザーはAIに付与する権限を理解できます。
- 機密操作の確認:🟥 高リスク操作(ファイルの削除、資金の送金など)には、明確なユーザー確認が必要です。これにより、ユーザーが高リスク操作を誤って実行するのを防ぐことができます。
- 権限要求の透明性:🟥 権限要求は、目的と範囲を明確に説明し、ユーザーが十分な情報に基づいて意思決定を行い、過剰な承認を回避するのに役立ちます。これにより、ユーザーはAIに付与する権限を理解できます。
- 操作の可視化:🔶 ツールの呼び出しとデータアクセスは、ユーザーに表示され、監査可能であり、詳細な操作ログが提供されます。これにより、ユーザーはAIが実行している操作を理解できます。
- 情報の透明性:🔶 ツールは、ユーザーが非表示タグをデフォルトで表示するかどうかを許可し、ユーザーが表示するコンテキストと実際に生成および呼び出すコンテキストが完全かつ一貫していることを保証し、非表示タグに悪意のあるロジックが存在するのを防ぐ必要があります。
- ステータスフィードバック:🔶 ユーザーは、現在実行されているMCP操作を明確に理解できます。
AIの制御と監視
- 操作の記録:🟥 すべての重要なAI操作とその結果を記録します。これにより、セキュリティイベントを調査できます。
- 異常検出:🔶 異常なツールの呼び出しパターンまたはリクエストシーケンスを検出します。これにより、悪意のあるアクティビティを特定できます。
- ツールの呼び出し制限:🔶 ツールの呼び出し頻度と数の制限を実装します。これにより、悪意のあるユーザーがツールを悪用するのを防ぐことができます。
ローカルストレージのセキュリティ
- 資格情報の安全なストレージ:🟥 重要な資格情報には、システムキーチェーンまたは専用の暗号化ストレージを使用して認証資格情報を保護し、不正アクセスを防止します。これにより、悪意のあるユーザーが資格情報にアクセスするのを防ぐことができます。
- 機密データの分離:🔶 データ分離メカニズムを実装し、機密ユーザーデータを通常のデータとは別に保存および処理します。これにより、悪意のあるユーザーが機密データにアクセスするのを防ぐことができます。
アプリケーションのセキュリティ
- アプリケーションの整合性:🟥 アプリケーションおよびMCPプラグインの整合性を検証し、改ざんを防止します。これにより、悪意のあるユーザーがアプリケーションを変更するのを防ぐことができます。
- 更新の検証:🔶 ホストアプリケーションの更新は、デジタル署名によって検証されます。これにより、更新が信頼できるソースから来ていることを確認できます。
- アプリケーションのサンドボックス:🟢 可能な限りサンドボックス環境でアプリケーションを実行し、システムアクセスを制限します。これにより、悪意のあるアプリケーションによって引き起こされる損害を軽減できます。
クライアントの認証と承認
- 強制認証:🟥 重要なMCPサービスと通信する前に認証を強制的に実行し、匿名アクセスを防止します。これにより、不正なユーザーがサービスにアクセスするのを防ぐことができます。
- OAuthの実装:🔶 OAuth 2.1以降のフローを正しく実装し、ベストプラクティスとセキュリティ標準に従います。これにより、認証が安全であることを確認できます。
- ステートパラメータ:🔶 一部のWebクライアントでは、CSRF攻撃を防止するためにステートパラメータを実装し、リクエストごとに一意の乱数値を使用します。これにより、クロスサイトリクエストフォージェリ(CSRF)攻撃を防ぐことができます。
MCPツールとサーバーの管理
- MCPツールの検証:🟥 登録されたツールの信頼性と整合性を検証します。これにより、悪意のあるツールが登録されるのを防ぐことができます。
- セキュリティアップデート:🟥 MCPクライアントは、セキュリティアップデートを定期的にチェックして適用し、アップデート後のツールに悪意のある記述が含まれていないかどうかを検証します。これにより、ツールが最新の状態であり、悪意のあるコードが含まれていないことを確認できます。
- 関数名の検証:🟥 ツールを登録する前に、名前の競合と潜在的な悪意のあるオーバーライドをチェックします。これにより、悪意のあるツールが既存のツールをオーバーライドするのを防ぐことができます。
- 悪意のあるMCPの検出:🟥 潜在的に悪意のあるMCPの動作パターンを監視および識別します。これにより、悪意のあるMCPを特定できます。
- MCPツールの命名制御:🔶 名前空間または一意の識別子を採用し、名前の競合を防ぎます。これにより、ツール間の競合を防ぐことができます。
- サービスディレクトリ:🔶 信頼できるMCPサービスとツールの承認済みディレクトリを維持します。これにより、ユーザーは信頼できるサービスを見つけることができます。
- 競合の解決:🔶 同じ名前のツールの競合を解決するための明確なルールが存在します。
- ドメインの分離:🔶 異なるドメインのツールは互いに分離されており、相互の影響を防ぎます。
- 優先度メカニズム:🔶 悪意のあるオーバーライドを回避するために、明確な関数の優先度ルールを確立します。
- バージョニング:🔶 関数とツールにバージョニングを実装し、変更を検出します。
- ツールの登録と登録解除のメカニズム:🔶 ツールの登録と登録解除のプロセスを明確にし、レガシツールのセキュリティリスクを防ぎます。
- 競合検出メカニズム:🔶 マルチMCP環境での関数とリソースの競合を検出し、解決します。
- ツールの分類:🟢 機密度とリスクレベルに基づいてツールを分類します。
プロンプトセキュリティ
- プロンプトインジェクションの防御:🟥 キーの実行の人的検証を含む、プロンプトインジェクション攻撃を防止するための多層防御対策を実装します。
- 悪意のある命令の検出:🟥 悪意のあるユーザーの潜在的な命令を検出し、ブロックするメカニズムを確立し、システムが操作されるのを防ぎます。ローカル初期化時のプリロードされた悪意のある命令の検出や、サードパーティのMCPサーバーからの悪意のあるツールに隠された有害な命令が含まれているかどうかを検出するなど。
- システムのプロンプト保護:🟥 システムのプロンプトとユーザー入力は明確に分離されており、改ざんを防止します。
- 機密データフィルタリング:🟥 プロンプトとコンテキストから機密個人データをフィルタリングします。
- コンテキストの分離:🔶 異なるソースからのコンテキストコンテンツが相互に分離されていることを確認し、コンテキストの汚染と情報漏洩を防止します。
- プロンプトテンプレート:🔶 安全なプロンプトテンプレートを使用し、インジェクションのリスクを軽減します。
- ツールの説明の検証:🔶 ツールの説明に潜在的な悪意のある命令がないかチェックします。
- プロンプトの一貫性検証:🔶 同じプロンプトが異なる環境で予測可能な一貫した結果を生み出すことを保証します。
- 履歴コンテキストの管理:🔶 古いデータの蓄積による情報漏洩のリスクを防ぐために、履歴コンテキストの安全なクリーンアップメカニズムを明確にします。
ログと監査
- クライアントのログ記録:🟥 MCPサービスとのすべてのインタラクション、ツールの呼び出し、および承認アクティビティを記録します。
- セキュリティイベントの記録:🟥 承認の失敗を含む、すべてのセキュリティ関連イベントを記録します。
- 異常アラート:🔶 異常なアクティビティパターンを検出し、アラートを生成します。
サーバーの検証と通信のセキュリティ
- サーバーの認証:🟥 MCPサーバーのIDを検証し、悪意のあるサーバーへの接続を防止し、証明書の固定を実装します。
- 証明書の検証:🟥 リモートサーバーのTLS証明書を厳密に検証し、中間者攻撃を防止し、証明書チェーンの整合性をチェックします。
- 通信の暗号化:🟥 すべてのクライアント-サーバー通信でTLS 1.2+暗号化を使用し、弱い暗号スイートを無効にします。
- セキュリティプロトコルの構成:🔶 安全なTLSパラメータを構成し、暗号化アルゴリズムとプロトコルを定期的に監査および更新します。
権限トークンのストレージと管理
- 権限範囲の制限:🟥 トークンの権限範囲を厳密に制限し、最小権限の原則を実装します。
自動承認の制御
- 自動承認の制限:🟥 自動的に承認できるツールと操作の範囲を厳密に制御します。
- ホワイトリストの管理:🔶 自動的に承認できるツールのホワイトリストメカニズムを明確に定義します。
- 動的なリスク評価:🔶 コンテキストに応じて自動承認ポリシーを動的に調整します。
- 承認プロセスの監査:🔶 すべての自動承認の決定を記録および監査します。
サンプリングセキュリティ
- コンテキストの包含制御:🟥 サンプリングリクエストに含まれるコンテキスト範囲を厳密に制御します。
- 機密データフィルタリング:🟥 サンプリングリクエストとレスポンスから機密データをフィルタリングします。
- サンプリングリクエストの検証:🔶 すべてのサンプリングリクエストパラメータとコンテンツを検証します。
- ユーザー制御:🔶 ユーザーがサンプリングリクエストと結果を明確に制御できるようにします。
- モデルのプリファレンスのセキュリティ:🔶 モデルのプリファレンス情報を安全に処理し、悪用を防止します。
- 結果の検証:🔶 サンプリング結果がセキュリティ標準に準拠しているかどうかを検証します。
さまざまなLLMでのMCPのアダプテーションと呼び出しのセキュリティ
LLMバックエンドが異なると、MCPの呼び出し優先度と実行ロジックが異なる可能性があるため、LLMとMCPの組み合わせのセキュリティに注意する必要があります。
LLMの安全な実行
- 優先度の高い関数の実行:🟥 LLMが正しいプラグインの関数を優先的に実行できるようにします。
- 悪意のあるプロンプト保護:🟥 LLMが悪意のあるシーンで挿入されたニーモニックの要件の動作を識別して保護できるようにします。
- 安全な呼び出し:🟥 LLMが関連するMCP機能を正しく安全に呼び出すことができるようにします。
- 機密情報の保護:🟥 機密情報の漏洩を防ぎます。
マルチモーダルセキュリティ
- マルチモーダルコンテンツフィルタリング:🟥 マルチモーダルコンテンツから有害または機密情報をフィルタリングします(画像内の悪意のあるプロンプトなど)。
マルチMCPシーンのセキュリティ
複数のMCPサーバーを同時に有効にすると、公式の監査がないため、ユーザーが悪意のあるMCPをインストールし、全体的なセキュリティに脅威を与える可能性があります。
- マルチMCP環境のセキュリティ:🟥 マルチMCP環境全体のセキュリティを確保し、インストールされたMCPを定期的にスキャンしてチェックします。
- 関数の優先度のハイジャック保護:🟥 可能な悪意のあるプロンプトプリセットをチェックし、関数の優先度が悪意を持ってハイジャックされるのを防ぎます。
- クロスMCP関数の呼び出し制御:🟥 クロスMCP関数の呼び出しを安全に制御し、悪意のあるMCPが他のMCPを呼び出して機密操作を実行するための悪意のあるプロンプトを返すのを防ぎます。
暗号通貨関連のMCPに固有のセキュリティポイント
暗号通貨関連のMCPは通常、暗号通貨ウォレットを管理する機能があり、高リスクです。
- 秘密鍵の保護:🟥 Scryptなどの秘密鍵のセキュリティ保護対策を強化します。
- ウォレットの生成セキュリティ:🟥 ニーモニックまたはウォレットの生成プロセスのセキュリティ保証。
- ウォレット情報のプライバシー:🟥 ウォレット情報のプライバシーを保護し、ウォレット情報をサードパーティインターフェイスにリクエストするときに適切なフィルタリングを行う必要があります。
- 送金情報の確認:🟥 チェーン上または取引所の送金署名情報は完全に表示して確認する必要があります。
- 資金操作の検証:🟥 重要な資金操作には、GoogleAuthenticatorなどの2段階認証が必要です。
- ローカルモデルのプライバシー保護:🔶 ローカル大規模モデルを使用してプライバシーデータを保護し、サードパーティの大規模モデルベンダーがウォレット情報などの機密情報を取得するのを防ぎます。
- 従来のウォレットとの互換性:🔶 従来のウォレットとの安全な互換性(従来のウォレットを使用した署名操作のサポートなど)。