شکاف‌های اعتماد در پروتکل MCP؛ راهی برای انتشار دستورات مخرب

رشد روزافزون استفاده از عامل‌های هوش مصنوعی (AI agents) در سازمان‌ها، فرصت‌های جدیدی را برای مهاجمان ایجاد کرده است تا این عامل‌ها را به انجام اقدامات مخرب وادار کنند. این اقدامات می‌تواند شامل استخراج محتویات پایگاه داده، اطلاعات حساس تجاری و شخصی باشد. در پنج ماه گذشته، گوگل و چهار سازمان دیگر، با وجود تفاوت‌های زیاد، همگی اذعان کرده‌اند که آسیب‌پذیری‌هایی وجود دارد که از یک عامل هوش مصنوعی در شبکه هدف برای انتشار دستورالعمل‌های مضر به سایر عامل‌های داخلی سوءاستفاده می‌کند.

تکنیک تزریق پرامپت جدید؛ هدف عامل‌ها، نه مدل زبانی

این تکنیک، نوع خاصی از تزریق پرامپت (prompt injection) است که نه مدل زبانی بزرگ (LLM) بلکه یک عامل خاص مانند عامل ترجمه یا تحلیل داده را هدف قرار می‌دهد. حفاظ‌های (guardrails) موجود در این عامل‌ها، در صورت وجود، اغلب ضعیف هستند و دستورالعمل‌ها را به سایر عامل‌ها در زنجیره منتقل می‌کنند. از آنجایی که عامل دوم به طور صریح به عامل اول اعتماد دارد، دستورات را اجرا می‌کند.

آزمایش‌های محقق مستقل و پروتکل MCP

محقق مستقل، سید انس محی‌الدین، عامل‌هایی از سازمان‌هایی از جمله گوگل، جی‌پی مورگان چیس، Weviate، Rapid7، اداره کل دیجیتال بین‌وزارتی دولت فرانسه و دولت فدرال ایالات متحده را آزمایش کرده است. حملات اثبات مفهوم او از شکاف‌های اعتماد در MCP (Model Context Protocol) سوءاستفاده می‌کنند. این پروتکل روشی است که برنامه‌ها و عامل‌های هوش مصنوعی از طریق آن در یک شبکه داخلی با یکدیگر ارتباط برقرار می‌کنند.

عامل‌های تخصصی و فقدان حفاظ‌های امنیتی

بسیاری از عامل‌های تخصصی فاقد حفاظ‌هایی هستند که معمولاً می‌توانند عواقب مضر تزریق پرامپت را کاهش دهند. از آنجایی که سرورهای MCP اعتبارنامه‌های هر عامل را ذخیره می‌کنند و عامل‌ها برای اعتماد به سایر عامل‌های داخلی ساخته شده‌اند، یک اکسپلویت که توسط LLM رد می‌شد، موفقیت‌آمیز است. در بسیاری از موارد، پرامپت‌های خوش‌ساخت که عامل مناسب را هدف قرار می‌دهند، منجر به جعل درخواست سمت سرور (Server-Side Request Forgery - SSRF) می‌شوند؛ آسیب‌پذیری‌ای که باعث می‌شود یک وب سرور درخواست‌های شبکه غیرمجاز را انجام دهد.

«عامل‌های هوش مصنوعی اتصالات تازه‌ای را برای مهاجمان فراهم می‌کنند. کسی متنی را در محتوا قرار می‌دهد، یک عامل آن را می‌خواند سپس آن را به عنوان یک وظیفه عادی واگذار شده به عامل دیگری منتقل می‌کند و آن عامل دوم آن را اجرا می‌کند زیرا به هر کسی که کار را به او داده اعتماد دارد. هر بخش در این زنجیره دقیقاً همان کاری را انجام داده که برای آن طراحی شده است، و همین امر تشخیص آن را بسیار دشوار می‌کند. هر پروتکل با این فرض ساخته شده که به تنهایی زندگی می‌کند، بنابراین هر کدام درب ورودی خود را بررسی می‌کنند در حالی که هیچ‌کس راهرو بینابین را تماشا نمی‌کند.»

جزئیات آسیب‌پذیری در Rapid7 و گوگل

آسیب‌پذیری CVE-2026-97228 که محی‌الدین در شبکه Rapid7 یافت، دارای امتیاز شدت تنها ۲.۷ از ۱۰ بود و ماه گذشته توسط Rapid7 رفع شد. آسیب‌پذیری که گوگل را تحت تأثیر قرار داد، با امتیاز ۸، شدیدتر بود. این مشکل از جعبه ابزار MCP برای پایگاه‌های داده (googleapis/mcp-toolbox) ناشی می‌شد که کلاینت HTTP خود را بدون استفاده از سیاست CheckRedirect مقداردهی اولیه می‌کرد. کلاینت HTTP گوگل همچنین اعتبار آدرس‌های IP هدف را تأیید نمی‌کرد.

راهکار گوگل و مفهوم «پروتکل پیوتینگ»

محی‌الدین توضیح داد: «یک پارامتر مسیر ساخته شده می‌توانست باعث شود جعبه ابزار به یک نقطه پایانی داخلی هدایت شود و درخواست‌ها را از طرف مهاجم ارسال کند.» رفع مشکل گوگل شامل اعمال یک لیست مجاز از محدوده‌های IP و لیست‌های مسدود شده بود. او این کلاس حمله را «پروتکل پیوتینگ» (protocol pivoting) می‌نامد زیرا اکسپلویت‌ها زمانی کار می‌کنند که یک برنامه یا سرور از MCP برای تخصیص وظیفه به یک عامل استفاده می‌کند و عامل سپس دستورالعمل‌های مخرب را با استفاده از روش ارتباطی متفاوتی مانند پروتکل Agent-to-Agent (A2A) گوگل یا استانداردهای نوظهور مانند Agent Network Protocol به عامل دیگری ارسال می‌کند.

تحلیل و پیامدهای امنیتی

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