بازگشت به وبلاگامنیت هوش مصنوعی

امنیت سرور MCP در ۲۰۲۶: ۸,۰۰۰ در معرض نمایش، ۴۹۲ بدون احراز هویت

بیش از ۸,۰۰۰ سرور Model Context Protocol به صورت عمومی در معرض هستند. ۴۹۲ هیچ احراز هویتی ندارند. ۳۶.۷٪ آسیب‌پذیر به SSRF هستند. از اطلاعات شخصی در ابزارهای MCP خود محافظت کنید.

March 16, 20267 دقیقه مطالعه
MCP serverModel Context ProtocolAI securityPII protectionCursorClaude Desktopdeveloper security

اکوسیستم MCP سریع رشد کرد — امنیت نکرد

Model Context Protocol در اواخر ۲۰۲۴ راه‌اندازی شد. در کمتر از ۱۸ ماه به روش استاندارد اتصال ابزارهای هوش مصنوعی به سیستم‌های خارجی تبدیل شد. تا مارس ۲۰۲۶، اکوسیستم شامل کانکتورهای پایگاه داده، سرورهای فایل، پل‌های GitHub، کلاینت‌های Slack، ابزارهای ایمیل، و صدها سرور تخصصی است.

منحنی رشد تند است. تصویر امنیتی نه.

تا مارس ۲۰۲۶، بیش از ۸,۰۰۰ سرور MCP در اینترنت عمومی هستند. محققان ۴۹۲ بدون هیچ احراز هویتی پیدا کردند — هیچ کلید API، هیچ OAuth، هیچ فیلتر IP. هر HTTP client می‌تواند آن‌ها را فراخوانی کند. ۳۶.۷٪ از سرورهای نمونه‌برداری‌شده به SSRF (Server-Side Request Forgery) باز هستند. این یعنی مهاجمی که ورودی ابزار را کنترل می‌کند می‌تواند به منابع شبکه داخلی دسترسی پیدا کند.

در همان دوره، بیش از ۳۰ CVE در ۶۰ روز ثبت شد. این نرخ هم نشان می‌دهد اکوسیستم چقدر جدید است و هم چقدر تمرکز محقق روی آن است.

چرا پروتکل خطر اطلاعات شخصی ایجاد می‌کند

MCP به دستیاران هوش مصنوعی قدرت عمل روی داده‌ها می‌دهد. این هم دلیل خطر اطلاعات شخصی است.

وقتی یک توسعه‌دهنده از Cursor یا Claude Desktop با یک کانکتور پایگاه داده استفاده می‌کند، هوش مصنوعی SQL را از متن ساده می‌نویسد. آن کوئری‌ها ردیف‌های واقعی برمی‌گردانند — نام‌ها، ایمیل‌ها، داده‌های پرداخت، یا سایر اطلاعات شخصی. آن داده‌ها از یک زنجیره عبور می‌کنند:

  1. سرور پایگاه داده → window context دستیار هوش مصنوعی
  2. window context → سیستم‌های لاگ ارائه‌دهنده مدل
  3. تاریخچه مکالمه → دستگاه محلی توسعه‌دهنده
  4. جلسات دیباگ → سایر ابزارهای هوش مصنوعی وقتی توسعه‌دهنده context می‌چسباند

هیچ‌کدام از این مراحل نقض نیست. این‌گونه سیستم کار می‌کند. اما اطلاعات شخصی در چندین جای ساخته‌نشده برای نگهداری آن قرار می‌گیرد، اغلب بدون رمزنگاری بین سرور و کلاینت هوش مصنوعی.

CVE-2026-25253 (CVSS 8.8)، منتشرشده در فوریه ۲۰۲۶، یک مسیر حمله را نشان داد. یک endpoint مخرب می‌توانست دستورالعمل‌های پنهان را در پاسخ‌هایش تزریق کند. آن دستورالعمل‌ها به هوش مصنوعی متصل می‌گفتند که داده‌ها را از سایر ابزارهای فعال بکشد. یک توسعه‌دهنده که از یک endpoint بد جامعه در کنار کانکتور پایگاه داده خودش استفاده می‌کرد می‌توانست کل پایگاه داده را نشت دهد.

۴۹۲ سرور بدون احراز هویت

۴۹۲ سرور باز یک مشکل متفاوت از CVE-2026-25253 است. آن‌ها هک نشدند. اشتباه تنظیم شدند.

بیشتر برای اجرای محلی در نظر گرفته شده بودند. کسی آن‌ها را از طریق port forwarding یا یک deploy ابری بدون کنترل دسترسی افشا کرد.

چه چیزهایی این سرورها اغلب افشا می‌کنند:

  • ابزارهای سیستم فایل با دسترسی خواندن به پوشه‌های home
  • کانکتورهای پایگاه داده با اعتبارنامه‌های زنده در config
  • ابزارهای ایمیل متصل به inbox‌های واقعی
  • ابزارهای اجرای کد — کد دلخواه، بدون احراز هویت، بدون محدودیت

توسعه‌دهندگان تقریباً مطمئناً قصد افشا نداشتند. اما Cursor و Claude Desktop به هر URL در config متصل می‌شوند. هیچ بررسی داخلی برای اینکه host محلی یا عمومی است وجود ندارد.

راه‌حل MCP anonym.legal

رفع ساختاری خطر اطلاعات شخصی در pipeline‌های ابزار این است که داده‌ها را قبل از رسیدن به هر فراخوانی که آن‌ها را به یک LLM ارسال می‌کند ناشناس کنید. این همان چیزی است که سرور MCP anonym.legal فراهم می‌کند.

۷ ابزار را نمایان می‌کند:

ابزارهدف
`analyze_text`شناسایی موجودیت‌های اطلاعات شخصی و بازگرداندن موقعیت‌ها و نوع‌های آن‌ها
`anonymize_text`حذف یا مستعارسازی اطلاعات شخصی شناسایی‌شده
`deanonymize_text`برگرداندن مستعارسازی با استفاده از کلید رمزنگاری شما
`anonymize_batch`پردازش چندین متن در یک فراخوانی
`get_supported_entities`فهرست همه ۲۷۳ نوع موجودیت برای یک زبان مشخص
`get_supported_languages`فهرست همه ۴۸ زبان پشتیبانی‌شده
`health_check`تأیید اتصال

وقتی یک دستیار هوش مصنوعی هم سرور anonym.legal و هم یک کانکتور پایگاه داده پیکربندی شده دارد، توسعه‌دهنده می‌تواند دستور دهد: «قبل از نمایش هر داده مشتری، `anonymize_text` را روی نتیجه فراخوانی کن.» هوش مصنوعی هماهنگ‌سازی را مدیریت می‌کند. اطلاعات شخصی هرگز به خروجی قابل مشاهده یا تاریخچه مکالمه به شکل قابل شناسایی نمی‌رسد.

تنظیم Cursor IDE

برای اضافه کردن سرور anonym.legal به Cursor:

```json // .cursor/mcp.json { "mcpServers": { "anonym-legal": { "url": "https://anonym.legal/mcp", "headers": { "Authorization": "Bearer YOUR_API_KEY" } } } } ```

بعد از پیکربندی، از Cursor بخواهید: «این تیکت پشتیبانی را قبل از چسباندن در tracker برای اطلاعات شخصی تحلیل کن.» Cursor `analyze_text` را فراخوانی می‌کند، فهرست موجودیت‌ها را برمی‌گرداند، و شما تصمیم می‌گیرید که آیا قبل از چسباندن ناشناس‌سازی کنید.

تنظیم Claude Desktop

```json // claude_desktop_config.json { "mcpServers": { "anonym-legal": { "command": "npx", "args": ["-y", "@anonym-legal/mcp-server"], "env": { "ANONYM_API_KEY": "YOUR_API_KEY" } } } } ```

با این پیکربندی، Claude Desktop می‌تواند قبل از شامل کردن در فراخوانی‌های ابزار ارسال‌شده به سایر سرورها هر متنی را ناشناس کند. ناشناس‌سازی روی API میزبانی‌شده در اتحادیه اروپای anonym.legal اجرا می‌شود. اطلاعات شخصی هرگز به سرورهای Anthropic به شکل قابل شناسایی نمی‌رسد.

سخت‌سازی تنظیمات شما

علاوه بر استفاده از anonym.legal، این مراحل را اعمال کنید. همچنین مرور امنیتی و مرکز انطباق ما را ببینید.

فهرست ابزار خود را حسابرسی کنید. هر ورودی در config خود را بررسی کنید. برای هر کدام بپرسید: آیا به اپراتور اعتماد دارید؟ می‌دانید به چه داده‌ای می‌تواند دسترسی داشته باشد؟

محلی را به راه‌دور ترجیح دهید. سرورهای محلی از طریق stdio اجرا می‌شوند. هیچ افشای شبکه ایجاد نمی‌کنند. از سرورهای راه‌دور فقط وقتی هیچ گزینه محلی وجود ندارد استفاده کنید.

احراز هویت را بررسی کنید. هر سرور راه‌دور باید یک کلید API یا توکن OAuth نیاز داشته باشد. اگر نداشت، با داده‌های واقعی کاربر از آن استفاده نکنید.

توسعه را از تولید جدا کنید. config‌های جداگانه برای کار توسعه (داده آزمایشی، بدون اطلاعات شخصی) و هر جریانی که به کاربران واقعی دسترسی دارد نگه دارید.

لاگ‌گذاری حسابرسی را فعال کنید. اگر لاگ‌ها پشتیبانی می‌کند، آن‌ها را روشن کنید. بدانید چه داده‌ای از هر فراخوانی عبور کرد.

برای فهرست کامل نوع موجودیت‌ها و زبان‌ها، صفحه ویژگی‌های MCP ما را ببینید.

بیش از ۳۰ CVE در ۶۰ روز نشان می‌دهد پروتکل زیر بررسی فعال است. باگ‌های جدید ظاهر خواهند شد. اما دفاع اصلی — ناشناس‌سازی قبل از رسیدن داده به هر فراخوانی LLM — در برابر هر CVE خاصی که بعداً می‌آید کار می‌کند.

پیکربندی سرور anonym.legal در Cursor →


anonym.legal ناشناس‌سازی اطلاعات شخصی را در سمت سرور با کلید رمزگذاری شما انجام می‌دهد. داده‌های مستعار فقط با همان کلید بازگشت‌پذیرند. منتشرشده توسط anonym.legal — میزبانی‌شده روی زیرساخت دارای گواهی ISO 27001 شرکت Hetzner.

منابع

  • داده‌های افشای سرور MCP Shodan، مارس ۲۰۲۶ — بیش از ۸,۰۰۰ سرور، ۴۹۲ بدون احراز هویت
  • CVE-2026-25253، CVSS 8.8، تزریق بین‌سروری از طریق Model Context Protocol
  • داده‌های SSRF: اسکن تحقیقاتی امنیتی نقاط دسترسی عمومی، مارس ۲۰۲۶
  • مشخصات MCP Anthropic نسخه 1.2، بخش ملاحظات امنیتی

آماده‌اید داده‌های خود را محافظت کنید؟

شروع به ناشناس‌سازی PII با ۲۷۳ نوع نهاد در ۴۸ زبان.