پلتفرم اصلی Ruflo AI حاوی یک نقص بحرانی – CVE-2026-59726 – است که امتیاز کامل ۱۰.۰ را در سیستم امتیازدهی آسیبپذیری مشترک (CVSS) کسب کرده است؛ این بدان معناست که یک مهاجم بدون احراز هویت میتواند کد دلخواه را در هر استقرار (deployment) اجرا کند.
این باگ از نحوه قرارگیری پل Model Context Protocol (MCP) در کانتینرهای Docker شرکت Ruflo ناشی میشود. با متصل کردن (binding) پورتهای این پل به تمام رابطهای شبکه، این سرویس از هر جای اینترنت قابل دسترسی است. به محض اینکه یک عامل مخرب با پورت باز تماس برقرار کند، میتواند کنترل کانتینر پل را به دست گرفته، مدل زیرساختی را ربوده و دستوراتی را بهگونهای صادر کند که گویی یک جزء مورد اعتماد است.
چرا این نقص اهمیت دارد
- سرقت اطلاعات حساس – این پل دسترسی مستقیم به کلیدهای API مدل زبانی بزرگ (LLM) دارد که موتور استنتاج (inference engine) Ruflo را تغذیه میکنند. مهاجمی که این کلیدها را به دست آورد، میتواند پرسوجوهای نامحدودی را با هزینه قربانی اجرا کند.
- خواندن چتهای خصوصی – گفتگوهای کاربران که معمولاً در حافظه مدل باقی میمانند، قابل خواندن میشوند و دادههای تجاری یا شخصی حساس را در معرض خطر قرار میدهند.
- مسموم کردن حافظه هوش مصنوعی – مهاجم میتواند دادههای مخرب را به حافظه بلندمدت مدل تزریق کند. حتی پس از وصله کردن (patch) این رخنه، وضعیت مسمومشده میتواند باقی بماند و باعث شود هوش مصنوعی رفتار نادرست داشته باشد یا خروجیهای سوگیرانه تولید کند.
مسمومیت حافظه بهویژه فریبنده و خطرناک است، زیرا آسیب آن فراتر از زمان بهرهبرداری اولیه باقی میماند؛ اصلاح کد به تنهایی باعث پاکسازی وضعیت فاسد شدهی مدل نمیشود.
اقدامات فوری برای اپراتورها
- ارتقا – به نسخه 3.16.3 Rufio AI مهاجرت کنید؛ این نسخه اتصال ناامن را غیرفعال کرده و جداسازی شبکه سختگیرانهتری را اضافه میکند.
- تعویض اعتبارنامهها – کلیدهای API جدید برای LLM تولید کنید و کلیدهای قدیمی را باطل کنید تا دسترسی هرگونه توکن سرقتشده قطع شود.
- حسابرسی استقرارها – لاگها را برای ترافیک غیرمنتظره MCP اسکن کنید، به دنبال کانتینرهای ناشناخته که روی پورتهای باز در حال اجرا هستند بگردید و تأیید کنید که هیچ تغییر غیرمجازی در حافظه مدل ایجاد نشده است.
تصویر گستردهتر
Ruflo AI خود را به عنوان راهکاری اصلی برای شرکتهایی که به مدلهای زبانی در محل (on-premise) نیاز دارند، معرفی کرده است. این آسیبپذیری آن وعده را زیر سوال میبرد و به رقبا فرصت میدهد تا از جایگزینهای امنتر دفاع کنند. برای مشتریان، هزینه تنها یک ارتقای نرمافزاری نیست؛ بلکه احتمال نشت دادهها، از دست رفتن اعتماد و هزینهی پاکسازی مدلهای مسموم شدهی هوش مصنوعی است.
برخی از تحلیلگران امنیتی اشاره میکنند که این مشکل تنها زمانی ظاهر میشود که پیکربندی پیشفرض Docker بدون تغییر باقی بماند، که نشان میدهد تیمهای عملیاتی دقیق میتوانستند از آن جلوگیری کنند. اگرچه رعایت بهداشت پیکربندی (configuration hygiene) همیشه توصیه میشود، اما این واقعیت که یک اشتباه کوچک، یک مسیر کامل برای اجرای کد از راه دور (remote-code-execution) باز میکند، ریسک را بسیار بالاتر از آن میبرد که بتوان با آن صرفاً به عنوان «یک تنظیمات بد» برخورد کرد.
موارد مورد توجه
- توصیههای امنیتی Ruflo را برای هرگونه وصله تکمیلی که آلودگیهای باقیمانده در حافظه را برطرف میکند، دنبال کنید.
- انجمنهای کاربری را برای گزارشهای مربوط به بهرهبرداری از این آسیبپذیری در محیطهای واقعی (in the wild) زیر نظر داشته باشید.
- استفاده از دیوارههای آتش (firewalls) شبکه را در نظر بگیرید که دسترسی خارجی به پل MCP را مسدود میکنند، حتی اگر کانتینر به درستی پیکربندی شده باشد.
خلاصه کلام: یک آسیبپذیری با امتیاز کامل در یک پلتفرم هوش مصنوعی پرکاربرد، مستلزم ارتقای فوری، تعویض اعتبارنامهها و بررسی دقیق پس از حادثه (post-mortem) برای هر استقرار آسیبدیده است. نادیده گرفتن آن، راه را برای سرقت دادهها، نقض حریم خصوصی و یک هوش مصنوعی آسیبدیده باز میکند که ممکن است هرگز به رفتار اصلی خود بازنگردد.
