پژوهشگران مایکروسافت از یک بردار حمله جدید در فریمورکهای عاملمحور هوش مصنوعی (AI agents) پرده برداشتهاند که میتواند مرزهای امنیتی میان وب و سیستم میزبان را تضعیف کند. مایکروسافت این تکنیک را AutoJack نامگذاری کرده است، زیرا در این روش مهاجم کنترل یک عامل هوش مصنوعی متصل به وب را به دست آورده و از دسترسی لوکالِ مورد اعتماد آن برای دور زدن مرزهای امنیتی localhost سوءاستفاده میکند. بر اساس یافتههای این پژوهش، حمله AutoJack میتواند از طریق عاملهای هوش مصنوعی متصل به وب، مسیر تازهای برای اجرای کد از راه دور (RCE) در سطح سیستم میزبان ایجاد کند.
در این سناریو، یک صفحه وب مخرب که توسط یک عامل مرورگر مبتنی بر هوش مصنوعی پردازش میشود، قادر است به سرویسهای لوکال پروتکل زمینه مدل (MCP) دسترسی پیدا کند و با سوءاستفاده از اعتماد موجود میان عامل و سرویسهای لوکال، زمینه اجرای پردازههای دلخواه را روی سیستم فراهم کند. این زنجیره در قالب حمله AutoJack میتواند در نهایت منجر به اجرای دستورات دلخواه مهاجم در سطح سیستم میزبان شود.
نحوه عملکرد حمله AutoJack
مایکروسافت در تحقیقات خود نشان داد که عاملهای هوش مصنوعی دارای دسترسی به وب میتوانند ناخواسته به مسیری برای سوءاستفاده مهاجمان تبدیل شوند. این شرکت برای اثبات این سناریو، تکنیک مورد نظر را روی پلتفرم AutoGen Studio (پلتفرم متنباز مایکروسافت برای ساخت و آزمایش برنامههای چندعاملی) مورد بررسی قرار داد.
در سناریوی حمله AutoJack، یک صفحه وب مخرب که توسط عامل مرورگر مبتنی بر AutoGen پردازش میشود، قادر است با سرویس لوکال MCP ارتباط برقرار کند و از دسترسی لوکال مورد اعتماد عامل برای عبور از محدودیتهای امنیتی localhost سوءاستفاده کند. این موضوع میتواند زمینه اجرای پردازههای دلخواه و دستورات مهاجم را روی سیستم میزبان فراهم کند
مایکروسافت معتقد است مشکل فراتر از AutoGen Studio است و میتواند سایر فریمورکهای عاملمحور را نیز تحت تأثیر قرار دهد. به گفته این شرکت، دسترسی همزمان یک عامل هوش مصنوعی به اینترنت و سرویسهای لوکال حساس باعث میشود localhost دیگر نتواند بهعنوان یک لایه حفاظتی مطمئن میان منابع داخلی سیستم و محتوای خارجی عمل کند.
زنجیره سه آسیبپذیری که حمله AutoJack را ممکن میکند
مایکروسافت در تحلیل فنی خود نشان داد که حمله AutoJack حاصل زنجیرهسازی سه ضعف امنیتی مجزا در پیادهسازی وبسوکت MCP در AutoGen Studio است؛ ضعفهایی که در کنار یکدیگر امکان اجرای کد از راه دور (RCE) را فراهم میکنند.
آسیبپذیری اول در فهرست مبدأهای مجاز (Origin Allowlist) شناسایی شد؛ مکانیزمی که برای پذیرش اتصالها صرفاً از localhost طراحی شده بود. در شرایط عادی، این مکانیزم از دسترسی وبسایتهای خارجی به سرویسهای لوکال جلوگیری میکند. اما مایکروسافت دریافت که عامل مرورگر در حال اجرا روی سیستم، از منظر این کنترل امنیتی بهعنوان یک مبدأ لوکال شناخته میشود. همین موضوع به کدهای جاوااسکریپت (JavaScript) تحت کنترل مهاجم اجازه میدهد شرط بررسی مبدأ (Origin Check) را برآورده کرده و با سرویسهای لوکال ارتباط برقرار کنند.
آسیبپذیری دوم در منطق احراز هویت وجود داشت. در AutoGen Studio، مسیرهای وبسوکت مربوط به MCP در جریان استاندارد احراز هویت قرار نداشتند، زیرا فرض بر این بود که این Endpointها مکانیزمهای امنیتی اختصاصی خود را پیادهسازی میکنند. اما طبق بررسی مایکروسافت، مسیر MCP هرگز چنین کنترلهایی را اعمال نمیکرد. همین مسئله باعث میشد این رابط، صرفنظر از نوع پیکربندی احراز هویت، بدون نیاز به اعتبارسنجی در دسترس باقی بماند.
آسیبپذیری سوم به نحوه مدیریت پارامتر server_params مربوط میشد و خطرناکترین بخش این زنجیره بود. در این سناریو، مقدار این پارامتر از طریق URL دریافت، رمزگشایی شده و سپس دستورات و آرگومانهای حاصل، مستقیماً به مکانیزم ایجاد پردازه (Process Spawning) مورد استفاده سرورهای MCP ارسال میشد. از آنجا که هیچ فهرست مجاز اجرایی برای محدود کردن برنامههای قابل اجرا وجود نداشت، مهاجمان میتوانستند دستورهای دلخواهی مانند پاورشل (PowerShell)، Bash یا سایر فایلهای اجرایی موجود در سیستم را برای اجرا مشخص کنند.
مایکروسافت اعلام کرد زنجیرهسازی این سه ضعف امنیتی باعث میشد یک صفحه وب مخرب تنها با پردازش توسط عامل هوش مصنوعی، پردازههای دلخواهی را روی سیستم میزبان AutoGen Studio اجرا کند؛ بدون آنکه کاربر نیاز به انجام اقدام دیگری داشته باشد.
کد آسیبپذیر هرگز به نسخه نهایی راه پیدا نکرد
بر اساس اعلام مایکروسافت، کد آسیبپذیر تنها در نسخههای توسعه دارای پشتیبانی MCP وجود داشته و هرگز در نسخه منتشرشده از طریق مخزن PyPI قرار نگرفته است.
به همین دلیل، کاربرانی که AutoGen Studio را از طریق PyPI نصب کردهاند در معرض حمله AutoJack قرار نگرفتهاند.
با این حال، توسعهدهندگان برای کاربرانی که نرمافزار را مستقیماً از مخزن منبع دریافت و اجرا کرده بودند، مجموعهای از اصلاحات امنیتی را اعمال کردند که شامل موارد زیر است:
- حذف امکان تزریق پارامتر از طریق URL
- هدایت مسیرهای MCP به جریان استاندارد احراز هویت
- پیادهسازی مدیریت پارامترها در سمت سرور بر اساس شناسههای نشست
الگوی جدید تهدید در فریمورکهای عاملمحور
مایکروسافت تأکید میکند که حمله AutoJack صرفاً یک ضعف امنیتی در AutoGen Studio نیست، بلکه نمونهای از یک الگوی گستردهتر در معماری فریمورکهای عاملمحور به شمار میرود. این الگو زمانی شکل میگیرد که یک عامل هوش مصنوعی در حال اجرا روی سیستم کاربر، بهصورت همزمان به اینترنت و سرویسهای لوکال دسترسی داشته باشد. در چنین سناریویی، مهاجمان میتوانند از خودِ عامل بهعنوان یک پل دسترسی برای عبور از مرزهای امنیتی و دور زدن محدودیتهای سیستم استفاده کنند.
این پژوهش بخشی از مطالعات گستردهتر مایکروسافت درباره تغییر ماهیت تهدیدات امنیتی در عصری است که مدلهای هوش مصنوعی به ابزارها، مرورگرها، محیطهای تفسیر و اجرای کد (Code Interpreters) و سرویسهای لوکال متصل میشوند. مایکروسافت همزمان با این تحقیقات، سرمایهگذاری خود را در حوزه حاکمیت عاملهای هوش مصنوعی، کنترلهای امنیتی و توسعه سیستمهای امنیتی خودکار افزایش داده است.