اصل ماجرا

نویسنده اسکنری به نام ghostprobe ساخت که فهرست ابزارهای سرورهای MCP را می‌گیرد و بر اساس OWASP MCP Top 10 خطرها را ارزیابی می‌کند. وقتی این اسکنر را روی سرورهای واقعی اجرا کرد، چندین مثبت‌کاذب و یک منفی‌کاذب مهم پیدا شد و توانست ترکیب سه قابلیت مخرب (دسترسی به داده‌های خصوصی، خروج داده و دریافت محتوای نامطمئن) را در سرور GitHub شناسایی کند. این نتایج نشان داد فهرست ابزارها سطح حمله‌ای مهمی است که کمتر مورد بررسی قرار می‌گیرد.

متن کامل ترجمه‌شده

من یک اسکنر تیم قرمز برای سرورهای MCP ساختم. سپس من آن را به کسانی که واقعی هستند نشان دادم. پروتکل مدل زمینه اجازه می دهد یک عامل AI به ابزارهای خارجی متصل شود: یک سیستم فایل، GitHub، Slack، یک پایگاه داده. هر سرور یک عامل به لیست ابزارهای تبلیغاتی متصل می شود، و در اینجا بخش بسیاری از مردم از دست می دهند: این لیست ابزارهای یک سطح حمله است. توضیحات ابزار و دکمه های پارامتر فقط توصیف ابزار به انسان نمی کنند. آنها به طور مستقیم به زمینه ی عامل تزریق می شوند، و مدل آنها را با همان قدرت به عنوان دستورالعمل های خود را درمان می کند. بنابراین یک سرور می تواند دستورالعمل ها را به مدل داخل متن شما را به عنوان یک توصیف بی ضرر پنهان کند. که ابزار سمی است، و این مدل پشت CVE-2025-54این پست در مورد آنچه اتفاق افتاد هنگامی که من آن را به سرورهای واقعی نشان دادم، زیرا این جایی است که آن را جالب است. آنچه که لیست ابزار از ghostprobe می دهد به دنبال چند چیز است: - سمی: دستورالعمل تزریق عبارت مانند “از دستورالعمل های قبلی نادیده بگیر” یا “نمی گویید به کاربر” و Unicode نامرئی استفاده می شود تا دستورالعمل ها را از طریق بررسی انسان عبور می کند در حالی که هنوز هم به مدل می رسد. - Trifecta مرگبار: یک سرور که ابزارها با هم دسترسی به داده های خصوصی را ارائه می دهند، یک راه برای ارسال داده ها و معرض محتوای غیر قابل اعتماد است. هر یک از پاها خوب است. هر سه، و یک تزریق سریع تنها می تواند راز های شما را بخواند و آنها را از بین ببرد. اصطلاح Simon Willison است. - رگ کش:من آن را به سرورهای رسمی نشان دادم، و آن را به اشتباهات در خود پیدا کرد سرورهای رسمی ( سیستم فایل، حافظه، GitHub، و بقیه) به خوبی ساخته شده است، بنابراین من منتظر نتایج خالص بود. در عوض، اولین چیزهایی که Ghostprobe یافت، مثبت های جعلی در تحلیلگر خودم بود. این مهم ترین چیز بود که می توانست اتفاق بیفتد. در سرور سیستم فایل آن را به عنوان کد اجرا read_text_file نامیده است. اشتباه. آن را متناوب شده است زیرا شناسه ی اجرایی من بر روی کلمه خالی ” سیستم”، و توضیحات می گوید “سیستم فایل”. یک ابزار خواندن یک فایل اجرا کد از راه دور نیست. بر روی سرور متناوب فکر آن را تاریخ فکر به عنوان دسترسی به داده های خصوصی نامیده است. اشتباه دوباره. آن را به عنوان “اخبار کلمه”. یک اسکنر امنیتی زندگیپس از آن GitHub یک منفی جعلی را نشان داد، که بدتر بود سرور GitHub جالب تر بود. ghostprobe دید که آن را می خواند محتوای ریپو خصوصی و می خواند متن موضوع، اما آن را به طور کلی هیچ سیکن، بنابراین هیچ trifecta. که یک منفی جعلی بود، و یک منفی جعلی در یک ابزار امنیتی خطرناک تر از یک مثبت جعلی است. سرور GitHub کاملا یک سیکن است. آن را می تواند ایجاد مشکلات، ارسال ردیابی درخواست، و فشار به یک repo. نوشتن به یک مسئله عمومی است که چگونه شما اطلاعات خصوصی را خارج کنید. ghostprobe آن را از دست داده است زیرا کلمات نوشتن GitHub ” ایجاد” و “رسیدن” و “بخشد” خطرناک تر است. سرور GitHub کاملا “رسیدن” است، و من فقط آن را می شناسد که ارسالپس از این تغییر، ghostprobe سرور GitHub به درستی نشان داد: [CRIT] MCP04 Lethal Trifecta داده ها: get_file_contents، get_pull_request_files، push_files sink: add_issue_comment، create_issue، create_or_update_file untrusted: get_issue، get_pull_request_comments، list_issues یک repo خصوصی بخوانید، موضوعی که هر کس در اینترنت می تواند بنویسد و به یک مشکل عمومی ارسال کنید. یک حمله کننده فایل های یک مشکل شامل دستورالعمل ها، یک عامل تنظیم شده برای مسائل تریژ، آنها را بخواند، و کد خصوصی شما در یک نظر عمومی پایان می یابد. من می خواهم دقیقا در مورد این چه چیزی است. این یک آسیب پذیری نیست که من کشف کردم.آن را در یک سرور که آن را هرگز ندیده است و آن را به شما می گوید که آیا trifecta وجود دارد. آنچه من در واقع یاد گرفته شده است سرورهای واقعی تنها آزمایش واقعی است. هر بهبود قابل توجهی به ghostprobe از اجرا آن در مقابل یک سرور واقعی، نه از دستگاه های من آمده است. چندین نسخه در دو روز، هر یک یک یک اصلاح دقیق هدایت شده توسط یک نتیجه واقعی است: دو مثبت جعلی حذف شده است، یک منفی جعلی بسته است. لیست ابزار به عنوان یک سطح حمله زیر ارزیابی شده است. مردم نظارت کد سرور MCP. بسیار کمتر نگاه به آنچه سرور تبلیغات به عامل است، که دقیقا جایی که سمی و trifecta زنده است، و که یک حمله کننده می تواند تحت تاثیر بدون لمس کد خود را در همه. و اعتماد از یک اسکنر به نرخ جعلی مثبت، نه ویژگی خود را شمار. کار ارزشمند ترین آن راpip install “git+https://github.com/joemunene-by/ghostprobe.git” mcp ghostprobe stdio — npx -y @modelcontextprotocol/server-github یا اسکن یک ابزار ذخیره شده / لیست dump کاملا غیر فعال: ghostprobe scan-file tools.json GitHub: https://github.com/joemunene-by/ghostprobe توسط Joe Munene، یک مهندس نرم افزار در نروبی تمرکز بر سیستم های امن و یادگیری ماشین کاربردی.

چرا مهمه؟

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

به درد کی می‌خوره؟

• مهندسان امنیت نرم‌افزار • توسعه‌دهندگان سرویس‌های MCP • تیم‌های DevOps • مدیران فناوری اطلاعات

تو عمل چی کار کنیم؟

با خواندن این خبر می‌توانید فهرست ابزارهای سرورهای خود را با ghostprobe یا ابزارهای مشابه اسکن کنید و ترکیب خطرناک سه قابلیت را شناسایی کنید. سپس توصیف ابزارها را اصلاح یا حذف کنید تا از تزریق دستورات مخفی و خروج داده جلوگیری شود. این کار به کاهش خطاهای مثبت و منفی در ابزارهای امنیتی شما کمک می‌کند.

نظر Blue IT News

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

این صفحه ترجمه و تفسیر کاملی از گزارش اصلی Dev است که توسط تیم تحریریه بلو آی تی نیوز به فارسی ترجمه و تحلیل شده. برای مشاهده نسخه اصلی، به منبع مراجعه کنید.