نقص امنیتی در دستیار هوش مصنوعی گیت‌لب

۰۵ خرداد ۱۴۰۴

تحقیقات اخیر نشان می‌دهد یک نقص در ساختار «Duo»، دستیار هوش مصنوعی پلتفرم گیت‌لب این امکان را به مهاجمان می‌داد تا با بهره‌گیری از تزریق غیر مستقیم دستورات (Indirect Prompt Injection)، به سرقت کد، هدایت کاربران به وب‌سایت‌های مخرب و حتی انتشار بدافزار اقدام کنند.

Duo ابزاری تعبیه‌شده در گیت‌لب است که با تحلیل خودکار کد، پیشنهادهایی برای بهبود آن ارائه می‌دهد و در فرآیندهایی مانند تست و ادغام نیز مشارکت دارد؛ مشابه نقشی که ابزار Copilot در گیت‌هاب ایفا می‌کند. اما پژوهشگران شرکت امنیتی Legit Security دریافته‌اند که این ابزار نسبت به ورودی‌های کاربران حساسیت لازم را نداشته و به راحتی فریب می‌خورده است.

به گفته عمر مایراز، محقق ارشد این شرکت، گستردگی سطح حمله به دلیل ادغام عمیق Duo در تمام جنبه‌های زنجیره توسعه، از کد منبع تا پیام‌های commit و توضیحات مربوط به درخواست‌های ادغام، بسیار بالا است. Duo هر ورودی‌ای را بدون فیلتر اجرا می‌کرد و حتی دستورات پنهان در متن‌های کدگذاری‌شده را نیز دنبال می‌کرد.

در یک سناریوی آزمایشی، محققان نشان دادند که چگونه می‌توان با قرار دادن دستوری مخفی در یک توضیح یا کامنت، Duo را وادار کرد تا محتوای HTML مخرب را به مرورگر کاربر منتقل کند. این کد می‌توانست با ارسال یک درخواست به سرور مهاجم، اطلاعات حساسی مانند کدهای خصوصی کاربر را استخراج کند.

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

شرکت Legit Security این آسیب‌پذیری را در ۲۳ فوریه ۲۰۲۵ به گیت‌لب گزارش داد. گیت‌لب پس از دریافت گزارش، بخشی از مشکل مربوط به رندر HTML را رفع کرد. اما پس از پیگیری رسانه‌ای، ارتباط با محققان از سر گرفته شد و در ۲۱ مه اعلام شد که تمامی آسیب‌پذیری‌ها برطرف شده‌اند.

با این حال، به گفته محققان، هنوز امکان تاثیرگذاری بر خروجی‌های Duo وجود دارد، ولی این تاثیرات دیگر ماهیت مخرب ندارند.

توضیحات بیشتر:

GitLab's AI Assistant Opened Devs to Code Theft