وصلکردن یک مدل زبانی به دادهی واقعی کسبوکار — مشتری، فاکتور، موجودی — طبیعتاً یک سؤال امنیتی جدی است. این مقاله چهار خطر واقعی MCP (Model Context Protocol) را از هم باز میکند و میگوید یک پیادهسازی جدی چطور هرکدام را میبندد؛ نه بهعنوان تبلیغ یک محصول، بلکه بهعنوان چکلیستی که پیش از اتصال هر سرور MCP (نه فقط سرور ابرک) باید ارزیابی کنید.
خطر اول: مدل چیزی مینویسد که نمیخواستید
مدل زبانی گاهی دستور را اشتباه میفهمد یا بیش از حد «کمککننده» عمل میکند — مثلاً بهجای خواندن یک سفارش، آن را لغو میکند. راهحل درست، تأیید دوفازی است: هر ابزار نوشتن در فراخوانی اول فقط پیشنمایش دقیق تغییر را برمیگرداند (چه فیلدی، از چه مقداری، به چه مقداری) و تا کاربر صریح تأیید نکند، چیزی روی دیتابیس اعمال نمیشود. نکتهی فنی مهم: تأیید باید به همان آرگومانهای اول امضا شود، وگرنه مدل میتواند در تلاش دوم چیز دیگری بفرستد و همان تأیید را دور بزند.
خطر دوم: کلید بیش از آنچه لازم است میبیند
اگر یک کلید MCP به تمام مدلهای دیتابیس دسترسی داشته باشد، نشتش خطر بزرگی است. راهحل، اصل کمترین امتیاز روی دو لایه است: کلید به یک کاربر اودو وصل میشود (پس ACL و قواعد رکورد همان کاربر همیشه اعمال میشود)، و یک لایهی دوم مستقل تعیین میکند کدام مدلها اصلاً از مسیر MCP قابلدیدناند — حتی اگر کاربر در اودو به آن دسترسی داشته باشد. دو لایه یعنی یک باگ در یکی، دیگری را نمیشکند.
خطر سوم: روی سرویس چندمستأجره، درخواست به دیتابیس اشتباه برود
یک نگرانی خاص محیطهای ابری چندمستأجره: اگر سرور MCP از روی هدر اشتباه دیتابیس را تشخیص دهد، ممکن است دادهی یک شرکت به کلید شرکت دیگری برسد. رفتار درست، تشخیص فضای کاری از روی نام میزبان درخواست است — و اگر درخواست به نود اشتباه برسد، پاسخ باید خطای صریح بدهد (نه یک پاسخ خالی که بهاشتباه «امن» به نظر برسد).
خطر چهارم: هیچ رد پایی از کاری که مدل انجام داده نیست
وقتی چیزی اشتباه میشود، اولین سؤال این است: «دقیقاً چه کسی، با کدام کلید، چه چیزی را صدا زد؟» بدون لاگ کامل هر فراخوانی (موفق یا ردشده، همراه با کد وضعیت و دلیل رد) این سؤال بیجواب میماند. لاگ باید فراخوانی را ثبت کند ولی خودِ توکن حساس را هرگز ذخیره نکند.
چکلیست پیش از اتصال هر سرور MCP
پیش از دادن هر کلید MCP به یک کلاینت هوش مصنوعی، این چهار سؤال را بپرسید: نوشتن دوفازی با تأیید انسانی دارد؟ دسترسی روی سطح کاربر و مدل مجاز محدود میشود؟ روی چندمستأجری خطای صریح میدهد نه پاسخ ساکت؟ هر فراخوانی لاگ میشود؟ جزئیات پیادهسازی این چهار اصل روی اودو در صفحهی اپ سرور MCP و آموزش اتصال آمده است.