یک کامنت نامرئی در درخواست ادغام (Pull Request) آژور دیوپس می‌تواند عامل برنامه‌نویسی هوش مصنوعیِ بازبین را علیه او بگرداند، به پروژه‌هایی نفوذ پیدا کند که مهاجم حق دسترسی به آن‌ها ندارد و اطلاعات حساس را به صورت خاموش به بیرون نشت دهد. این نقص امنیتی در سرور رسمی Azure DevOps MCP مایکروسافت وجود دارد و دلیل شکل‌گیری آن، بازگرداندن توضیحات درخواست ادغام بدون اعمال حفاظت‌های لازم در برابر تزریق اعلان (Prompt Injection) است؛ حفاظتی که شرکت پیش‌تر برای سایر بخش‌ها پیاده‌سازی کرده بود.

سازوکار حمله: باگ معاون سردرگم

تیم امنیت تهاجمی Manifold Security جزئیات این آسیب‌پذیری با عنوان باگ معاون سردرگم (Confused-Deputy) را منتشر کرد. مایکروسافت سرور MCP را عرضه می‌کند تا عوامل هوش مصنوعی بتوانند با استفاده از دسترسی‌های کاربر، عملیات مختلفی مانند بررسی درخواست‌های ادغام، خطوط لوله (Pipelines)، صفحات ویکی و موارد کاری را در آژور دیوپس انجام دهند. ریشه مشکل دقیقاً در همین‌جاست؛ محتوایی که توسط افراد دیگر نوشته شده است، می‌تواند به دستوراتی تبدیل شود که عامل هوش مصنوعی بدون Question کردن آن‌ها را اجرا می‌کند.

توضیحات درخواست‌های ادغام در آژور دیوپس از زبان مارک‌داون (Markdown) پشتیبانی می‌کند که امکان درج کامنت‌های HTML را فراهم می‌کند. در رابط کاربری وب، کامنت‌های HTML (مانند <!-- ... -->) هیچ چیزی نمایش داده نمی‌شود و بازبینی تنها یک تغییر معمولی را می‌بیند. با این حال، REST API این توضیحات را کلمه‌به‌کلمه برمی‌گرداند و سرور متن خام را مستقیماً به عامل هوش مصنوعی تحویل می‌دهد.

فاصله میان چشم انسان و پردازش ماشین

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

به گفته Manifold Security، این دسترسی به کد منبع، اسرار و موارد کاری نیز می‌رسد و محدود به صفحه ویکی نیست. این تیم ارتقاء سطح دسترسی را یک حالت عادی می‌داند، زیرا بازبین‌ها اغلب سطح دسترسی بالاتری نسبت به فردی که درخواست ادغام را باز کرده دارد. مهاجم با استفاده از متنی که بازبین هرگز نمی‌بیند، به طور موقت به دسترسی‌های او دست می‌یابد.

مسیر استثنا شده از حفاظت

آنچه این آسیب‌پذیری را از یک هشدار عمومی تزریق اعلان متمایز می‌کند، این است که مایکروسافت پیش‌تر دفاعی برای آن ارائه کرده بود. با بررسی کد منبع سرور، محققان متوجه شدند که مایکروسافت از تکنیک «اسپات‌لایتینگ» (Spotlighting) استفاده می‌کند. این تکنیک که از راهنمای خود مایکروسافت برای مقابله با تزریق اعلان غیرمستقیم برداشت شده است، محتوای غیرقابل اعتماد را درون جداکننده‌ها (Delimiters) قرار می‌دهد تا مدل بتواند داده‌ها را از دستوراتی که باید دنبال کند، تشخیص دهد.

مایکروسافت این حفاظت را در PR شماره 1062 اضافه کرد؛ جایی که ابزارهای صفحه ویکی و لاگ ساخت، خروجی خود را از یک راهنمای مشترک به نام createExternalContentResponse عبور می‌دهند. اما ابزاری که درخواست ادغام را برمی‌گرداند (repo_get_pull_request_by_id) هرگز این تابع را فراخوانی نمی‌کند و توضیحات را به صورت خام تحویل می‌دهد؛ دقیقاً همان سطحی که مهاجم روی آن می‌نویسد. سایت The Hacker News تأیید کرد که همین مسیر تا 21 جولای در کد منبع فعلی همچنان بدون پوشش است.

اثبات مفهوم و سرریز شدن دسترسی

در اثبات مفهوم (PoC) که روی نسخه 2.7.0 اجرا شد، یک مشارکت‌کننده در یک پروژه، درخواست ادغامی با ظاهر عادی باز می‌کند که کامنت پنهان آن حاوی پیلود (Payload) است. به محض شروع بررسی توسط عامل هوش مصنوعی، زنجیره‌ای از ابزارها اجرا می‌شود: یک خط لوله در پروژه‌ای متفاوت راه‌اندازی می‌شود، صفحه محرمانه ویکی خوانده می‌شود و محتوای آن به عنوان یک کامنت در درخواست ادغام ارسال می‌شود تا مهاجم آن را بخواند.

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

این زنجیره حمله پیش‌نیازهایی دارد: متن درخواست ادغام نوشته‌شده توسط مهاجم، یک گردش کار که آن را به عامل می‌رساند، بازبینی که دسترسی‌اش از مهاجم بیشتر است و عاملی که مجاز است بدون درخواست تایید، ابزارها را اجرا کند. Manifold Security تأیید کرد که این حالت با یک پیکربندی تایید خودکار (Auto-approve) و بدون درخواست برای هر ابزار آزمایش شده است؛ همان نقطه بازرسی‌ای که می‌توانست مانع از اجرای یک خط لوله مشکوک شود. ترکیب یک توکن دسترسی گسترده با این پیکربندی، نقطه تمرکز ریسک محسوب می‌شود.

با حرکت تیم‌های توسعه‌دهنده به سمت اتوماسیون کامل بررسی‌ها، دسته‌بندی و خلاصه‌سازی کدها با هوش مصنوعی، مرز امنیتی از زیرساخت‌های شبکه به سمت پردازش زبان طبیعی و پرامپت‌ها در حال تغییر است. حفاظت از عوامل هوش مصنوعی در برابر محتوای نامرئی، به همان اندازه که رمزگذاری ترافیک شبکه اهمیت دارد، بخشی حیاتی از معماری امنیتی نرم‌افزارهای آینده خواهد بود.