---
title: "MCPツールポイズニング：ツールの説明に隠された指示 · DotsAgent"
description: "Invariant Labsは、MCPサーバーがモデルの読むツール説明に指示を隠せることを示し、tool shadowingやrug pullの手法について解説しました。"
url: https://dotsagent.io/ja/security/incidents/2025-04-mcp-tool-poisoning
---

2025年4月1日

# MCPツールポイズニング：ツールの説明に隠された指示

Invariant Labsは、MCPサーバーがモデルの読むツール説明に指示を隠せることを示し、tool shadowingやrug pullの手法について解説しました。

## 何が起きたか

2025年4月1日、Invariant LabsはModel Context Protocolにおけるツールポイズニングについて、セキュリティ通知を公開しました。悪意のあるMCPサーバーは、ツールの説明文に指示を埋め込みます。ユーザーがそのテキストを見ることはほとんどありませんが、モデルはコンテキストの一部として読み取り、その指示に従う可能性があります。

同じ通知では、関連する2つの攻撃についても説明されています。tool shadowingでは、あるサーバーの説明文によって、エージェントが別の信頼済みサーバーのツールを使う方法が変わります。rug pullでは、ユーザーがサーバーを承認した後に、サーバーがツールの説明文を変更します。

## なぜ成功したか

クライアントは、接続中のすべてのサーバーのツール説明を1つのコンテキストに読み込みます。モデルは、ベンダーのドキュメントと攻撃者の指示を見分けられません。クライアントがサーバーを一度承認した後に再確認しなければ、その後の変更が見逃されます。

## 対策

- MCPサーバーに接続する前に、ツール名だけでなく、ツールの説明文をすべて確認してください。
- サーバーのバージョンを固定し、ツール説明のハッシュを記録してください。ハッシュが変わった場合は、再度確認を求めるか、アラートを出してください。
- タスクに必要なサーバーだけを接続し、あるサーバーのテキストが別のサーバーのツールを誘導できないようにしてください。
- データの送信やファイルの変更を伴うツール呼び出しには、承認を必須にしてください。

[スキル、プラグイン、MCPサーバーを審査する](https://dotsagent.io/ja/security#supplyChainVetting)[重大な操作には承認を必須にする](https://dotsagent.io/ja/security#humanApproval)

- [GitHub MCPの有害なエージェントフロー：公開Issue経由で非公開リポジトリの情報が流出](https://dotsagent.io/ja/security/incidents/2025-05-github-mcp-toxic-agent-flow)

[セキュリティチェックリストを確認する →](https://dotsagent.io/ja/security/checklist)

## 出典

1. [invariantlabs.ai](https://invariantlabs.ai/blog/mcp-security-notification-tool-poisoning-attacks)/blog/mcp-security-notification-tool-poisoning-attacks

AIエージェント開発者向けの独立したリファレンスです。ここに記載されているいずれのベンダーとも提携していません。

© 2026 DotsAgent · 確認日: 2026年10月1日
