خلاصه سریع: Model Context Protocol یا MCP استانداردی برای اتصال ابزارها، دادهها و سرویسها به عاملهای هوش مصنوعی است. همین اتصال قدرتمند، سطح حمله جدیدی هم ایجاد میکند: اگر کلاینت، سرور MCP یا مسیر شبکه کنترل نشود، امکان دسترسی ناخواسته به دادهها، اجرای ابزارهای حساس و استفاده از سرورهای تأییدنشده وجود دارد. امنیت MCP یعنی شناسایی ترافیک، محدودکردن سرورهای مجاز، کنترل مجوزها، ثبت رویدادها و اعمال سیاست در چند لایه.
MCP چیست و Model Context Protocol چه کاربردی دارد؟
MCP مخفف Model Context Protocol است؛ پروتکلی که به برنامهها و عاملهای هوش مصنوعی اجازه میدهد به منابع بیرونی مثل پایگاهداده، فایل، API، ابزارهای توسعه یا سرویسهای سازمانی متصل شوند. بهجای اینکه برای هر ابزار یک اتصال اختصاصی ساخته شود، MCP یک الگوی مشترک برای معرفی قابلیتها و تبادل درخواست ایجاد میکند.
در عمل، یک کلاینت MCP به یک یا چند سرور MCP متصل میشود و همین ارتباط، موضوع امنیت Model Context Protocol یا MCP Security را مهم میکند. اگر با مبانی این حوزه آشنا نیستید، مقاله هوش مصنوعی و امنیت سایبری دید کاملتری از ریسکهای امنیت هوش مصنوعی میدهد.
برای تیمهای توسعه، مزیت اصلی MCP سرعت اتصال عاملهای AI به ابزارهای واقعی است. اما از دید امنیتی، هر «ابزار» یا «سرور MCP» میتواند به یک نقطه دسترسی جدید تبدیل شود. بنابراین همانطور که API بدون احراز هویت و کنترل دسترسی خطرناک است، MCP هم بدون سیاست امنیتی نباید در محیط سازمانی رها شود.
چرا امنیت MCP یا MCP Security مهم است؟
یک عامل هوش مصنوعی ممکن است از طرف کاربر به ایمیل، مخزن کد، پایگاهداده، سیستم تیکتینگ، فایلهای داخلی یا ابزارهای زیرساخت دسترسی داشته باشد. اگر سرور MCP ناشناس یا آلوده باشد، یا کلاینت بیش از حد مجوز داشته باشد، دامنه اثر یک خطا میتواند از یک پاسخ اشتباه فراتر برود و به اجرای عملیات واقعی برسد.
- Shadow MCP: استفاده از سرورهای MCP خارج از فهرست تأییدشده سازمان.
- مجوز بیش از حد: دادن دسترسی نوشتن یا اجرای فرمان وقتی فقط خواندن لازم است.
- نشت داده: ارسال آرگومانها، اسناد یا اطلاعات حساس به مقصدی که کنترل نمیشود.
- زنجیره اعتماد نامشخص: کاربر تصور میکند با یک ابزار معتبر کار میکند، درحالیکه درخواست از مسیر دیگری عبور میکند.
- نبود دیدپذیری: تیم امنیت نمیداند چه کلاینتها و سرورهایی در شبکه فعالاند.
Cloudflare چگونه ترافیک MCP را شناسایی میکند؟
Cloudflare در بهروزرسانی اوت ۲۰۲۶ اعلام کرد که Gateway میتواند درخواستهای MCP را با استفاده از نشانههای سطح پروتکل تشخیص دهد و استفاده از MCP را در داشبورد AI Security نمایش دهد. هدف این قابلیت، ایجاد دیدپذیری روی ترافیک MCP و کمک به شناسایی استفادههای خارج از سیاست است.
این رویکرد نکته مهمی دارد: امنیت MCP فقط داخل اپلیکیشن حل نمیشود. وقتی سازمان بتواند در لایه شبکه نیز ترافیک MCP را شناسایی کند، میتواند سیاستهای مرکزی مثل اجازهدادن به سرورهای مشخص یا مسدودکردن اتصال مستقیم را اجرا کند.
سه نقطه اصلی برای کنترل یک درخواست MCP
1) داخل کلاینت MCP
اولین خط دفاع، خود کلاینت است. کلاینت میتواند قبل از ارسال درخواست بررسی کند که سرور مقصد در allowlist قرار دارد یا نه، برای عملیات حساس از کاربر تأیید بگیرد و دادههای غیرضروری را از آرگومانها حذف کند.
این لایه برای جلوگیری از خطاهای کاربری و محدودکردن دامنه مجوز بسیار مؤثر است، اما نباید تنها کنترل سازمان باشد؛ چون تنظیمات کلاینت ممکن است تغییر کند یا یک کلاینت غیرمدیریتشده وارد شبکه شود.
2) در سرور MCP
سرور باید هویت درخواستکننده را بررسی کند، مجوز هر ابزار را جداگانه اعمال کند و عملیات حساس را ثبت کند. بهتر است دسترسی ابزارها با اصل Least Privilege طراحی شود؛ یعنی هر کاربر یا عامل فقط حداقل مجوز لازم را داشته باشد.
برای مثال، اگر یک ابزار فقط باید فهرست تیکتها را بخواند، دسترسی ایجاد، حذف یا تغییر تیکت نباید به همان توکن داده شود.
3) در مسیر شبکه و Gateway
لایه شبکه دیدی ایجاد میکند که از کنترل یک کلاینت خاص مستقل است. طبق توضیح Cloudflare، سازمانها میتوانند استفاده از MCP را شناسایی کنند، سرورهای تأییدشده را از مسیرهای کنترلشده در دسترس قرار دهند و اتصال مستقیم به مقصدهای خارج از سیاست را مسدود کنند.
این لایه برای کشف Shadow MCP مهم است؛ چون ممکن است تیم امنیت اصلاً از وجود یک کلاینت جدید یا سرور شخصی مطلع نباشد.
چکلیست عملی امنیت MCP
| کنترل | هدف | اولویت |
|---|---|---|
| فهرست سرورهای MCP مجاز | جلوگیری از اتصال به مقصد ناشناس | خیلی بالا |
| احراز هویت و مجوزدهی | جلوگیری از دسترسی بدون هویت یا بیش از حد | خیلی بالا |
| Least Privilege برای ابزارها | کاهش اثر سوءاستفاده یا خطا | خیلی بالا |
| ثبت رویداد و Audit Log | ردیابی درخواستها و عملیات | بالا |
| کنترل دادههای خروجی | کاهش ریسک نشت اطلاعات | بالا |
| تشخیص ترافیک در Gateway | کشف Shadow MCP | بالا |
| تأیید کاربر برای عملیات حساس | جلوگیری از اجرای خودکار اقدامات پرریسک | بالا |
| بازبینی دورهای سرورها و ابزارها | حذف دسترسیهای قدیمی | متوسط |
یک معماری امن برای MCP چگونه است؟
در یک معماری سازمانی، بهتر است دسترسی عاملها به سرورهای MCP از یک مسیر کنترلشده عبور کند. کلاینتهای مدیریتشده فقط به سرورهای تأییدشده متصل شوند، هویت کاربر به سرور منتقل شود، مجوزها بر اساس نقش اعمال شوند و رویدادها به سیستم مانیتورینگ مرکزی بروند.
اگر MCP به زیرساخت حساس مثل Git، CI/CD، دیتابیس یا سرور متصل است، عملیات نوشتن و اجرای فرمان باید جدا از عملیات خواندن طراحی شود. همچنین توکنها نباید دائمی و گسترده باشند.
تفاوت امنیت MCP با امنیت API چیست؟
اصول پایه مشابهاند: احراز هویت، مجوزدهی، محدودسازی دسترسی، ثبت رویداد و محافظت از داده. تفاوت مهم این است که MCP معمولاً در یک زنجیره عاملمحور استفاده میشود؛ یعنی مدل میتواند بر اساس متن کاربر تصمیم بگیرد کدام ابزار فراخوانی شود. بنابراین علاوه بر امنیت سنتی API، باید روی انتخاب ابزار، تأیید عملیات حساس و کنترل ورودی/خروجی عامل هم تمرکز کرد.
اشتباهات رایج در راهاندازی MCP
- اعتماد به هر سروری که کلاینت بتواند به آن وصل شود.
- استفاده از یک توکن قدرتمند برای همه ابزارها.
- نبود لاگ قابل جستوجو برای فراخوانی ابزارها.
- فعالکردن عملیات حساس بدون تأیید کاربر.
- قرار دادن اطلاعات محرمانه در context بدون نیاز واقعی.
- نداشتن فرایند حذف سرورهای قدیمی یا آزمایشی.
آیا MCP برای استفاده شخصی هم نیاز به سختگیری دارد؟
بله، اما سطح کنترل میتواند سادهتر باشد. برای استفاده شخصی، مهمترین کارها این است که فقط سرورهای شناختهشده را نصب کنید، مجوز هر ابزار را محدود نگه دارید، قبل از عملیات مخرب یا مالی تأیید دستی داشته باشید و کلیدهای API را در فایلهای عمومی یا prompt ذخیره نکنید.
FAQ
آیا MCP خودش یک پروتکل ناامن است؟
خیر. ریسک اصلی از نحوه پیادهسازی، مجوزها، سرورهای مورد اعتماد و نبود کنترل شبکه میآید. MCP باید مانند هر رابط دسترسی به ابزارهای واقعی با مدل Zero Trust طراحی شود.
Shadow MCP چیست؟
به استفاده از سرورها یا کلاینتهای MCP خارج از فهرست و کنترل رسمی سازمان گفته میشود؛ مشابه Shadow IT. این وضعیت باعث میشود تیم امنیت دید کافی روی مسیر داده و مجوزها نداشته باشد.
برای شروع امنیت MCP مهمترین کنترل چیست؟
اول فهرست سرورهای مجاز و مجوز هر ابزار را مشخص کنید. سپس احراز هویت، لاگبرداری و کنترل شبکه را اضافه کنید. اگر عملیات حساس وجود دارد، تأیید انسانی را اجباری کنید.
آیا فایروال سنتی برای MCP کافی است؟
معمولاً نه. فایروال IP/Port میتواند بخشی از مسیر را کنترل کند، اما برای تشخیص نوع درخواست، هویت کاربر و سیاست ابزارها به کنترلهای لایه بالاتر نیاز است.
جمعبندی
MCP اتصال عاملهای هوش مصنوعی به ابزارهای واقعی را ساده میکند، اما همین مزیت میتواند به سطح حمله تازه تبدیل شود. راه درست، حذف MCP نیست؛ بلکه ایجاد دیدپذیری و کنترل چندلایه است: کلاینت مدیریتشده، سرور مجاز، حداقل دسترسی، ثبت رویداد و سیاست شبکه.
اگر برای اجرای سرویسهای AI، ابزارهای توسعه یا Gatewayهای امنیتی به زیرساخت مجزا نیاز دارید، میتوانید پلنهای سرور مجازی وانسرور را بررسی کنید.
منابع
- Cloudflare Blog — How Cloudflare detects MCP traffic and helps secure it
- Cloudflare Changelog — MCP protocol detection and AI Security dashboard
