محققان امنیت سایبری یک نقص تزریق غیرمستقیم دستور در دستیار هوش مصنوعی GitLab Duo کشف کردهاند که میتوانسته به مهاجمان اجازه دهد تا کد منبع را سرقت کرده و HTML غیرقابل اعتماد را به پاسخهای آن تزریق کنند. از این طریق، قربانیان میتوانستند به وبسایتهای مخرب هدایت شوند.
GitLab Duo یک دستیار برنامهنویسی مبتنی بر هوش مصنوعی است که به کاربران امکان میدهد کد بنویسند، آن را بررسی و ویرایش کنند. این سرویس که با استفاده از مدلهای Claude شرکت Anthropic ساخته شده، برای اولین بار در ژوئن ۲۰۲۳ عرضه شد.
اما همانطور که Legit Security دریافته است، GitLab Duo Chat در برابر یک نقص تزریق غیرمستقیم دستور آسیبپذیر بوده است که به مهاجمان اجازه میدهد تا “کد منبع پروژههای خصوصی را سرقت کنند، پیشنهادات کد نشان داده شده به سایر کاربران را دستکاری کنند و حتی آسیبپذیریهای روز صفر محرمانه و افشا نشده را استخراج کنند.”
تزریق دستور به دستهای از آسیبپذیریها در سیستمهای هوش مصنوعی اشاره دارد که به مهاجمان امکان میدهد مدلهای زبان بزرگ (LLM) را برای دستکاری پاسخها به دستورات کاربران و ایجاد رفتارهای ناخواسته به کار گیرند.
تزریقهای غیرمستقیم دستور بسیار پیچیدهتر هستند؛ زیرا به جای ارائه مستقیم ورودی دستکاریشده به هوش مصنوعی، دستورالعملهای مخرب در یک زمینه دیگر مانند یک سند یا یک صفحه وب جاسازی میشوند که مدل برای پردازش آن طراحی شده است.
مطالعات اخیر نشان دادهاند که LLMها همچنین در برابر تکنیکهای حمله فرار از محدودیت (jailbreak) آسیبپذیر هستند که امکان فریب دادن چتباتهای مبتنی بر هوش مصنوعی برای تولید اطلاعات مضر و غیرقانونی را فراهم میکند؛ اطلاعاتی که هنجارهای اخلاقی و ایمنی آنها را نادیده میگیرد و عملاً نیاز به دستورات با دقت طراحیشده را از بین میبرد.
علاوه بر این، روشهای نشت دستور (PLeak) میتوانند به طور ناخواسته دستورات یا دستورالعملهای از پیش تعیینشده سیستم را که مدل قرار است از آنها پیروی کند، آشکار کنند.
Trend Micro در گزارشی که اوایل این ماه منتشر کرد، اعلام کرد: “برای سازمانها، این بدان معناست که اطلاعات خصوصی مانند قوانین داخلی، عملکردها، معیارهای فیلتر، مجوزها و نقشهای کاربری میتوانند نشت کنند. این میتواند به مهاجمان فرصتهایی برای بهرهبرداری از نقاط ضعف سیستم بدهد و به طور بالقوه منجر به نقض دادهها، افشای اسرار تجاری، تخلفات نظارتی و سایر نتایج نامطلوب شود.”
یافتههای اخیر شرکت اسرائیلی امنیت زنجیره تامین نرمافزار نشان میدهد که یک نظر مخفی که در هر نقطهای از درخواستهای ادغام، پیامهای commit، توضیحات یا نظرات issue و کد منبع قرار داده شده باشد، برای نشت دادههای حساس یا تزریق HTML به پاسخهای GitLab Duo کافی بوده است.
این دستورات میتوانستند با استفاده از ترفندهای رمزگذاری مانند رمزگذاری Base16، قاچاق یونیکد و رندر KaTeX در متن سفید برای کاهش قابلیت تشخیص آنها، بیشتر پنهان شوند. عدم پاکسازی ورودی و این واقعیت که GitLab هیچ یک از این سناریوها را با دقت بیشتری نسبت به کد منبع بررسی نکرده است، میتوانسته به یک عامل مخرب اجازه دهد تا این دستورات را در سراسر سایت قرار دهد.
عمر مایراز، محقق امنیتی، میگوید: “Duo کل متن صفحه، از جمله نظرات، توضیحات و کد منبع را تجزیه و تحلیل میکند؛ و همین امر آن را در برابر دستورالعملهای تزریقشده که در هر نقطهای از آن متن پنهان شدهاند، آسیبپذیر میسازد.”
این همچنین بدان معناست که یک مهاجم میتواند سیستم هوش مصنوعی را فریب دهد تا یک بسته جاوااسکریپت مخرب را در یک قطعه کد تولید شده قرار دهد، یا یک URL مخرب را به عنوان ایمن نشان دهد و قربانی را به یک صفحه ورود جعلی هدایت کند که اعتبارنامههای آنها را جمعآوری میکند.
علاوه بر این، Legit Security با بهرهگیری از قابلیت GitLab Duo Chat برای دسترسی به اطلاعات مربوط به درخواستهای ادغام خاص و تغییرات کد در آنها، دریافته است که میتوان یک دستور مخفی را در توضیحات یک درخواست ادغام برای یک پروژه وارد کرد که هنگام پردازش توسط Duo، باعث استخراج کد منبع خصوصی به یک سرور تحت کنترل مهاجم میشود.
این امر به نوبه خود، به دلیل استفاده از رندرینگ Markdown جریانی برای تفسیر و رندر کردن پاسخها به صورت HTML در حین تولید خروجی امکانپذیر میشود. به عبارت دیگر، تغذیه آن با کد HTML از طریق تزریق غیرمستقیم دستور میتواند باعث شود که قطعه کد در مرورگر کاربر اجرا شود.
پس از افشای مسئولانه در ۱۲ فوریه ۲۰۲۵، این مسائل توسط GitLab برطرف شدهاند.
مایراز میگوید: “این آسیبپذیری ماهیت دوگانه دستیارهای هوش مصنوعی مانند GitLab Duo را برجسته میکند: هنگامی که آنها عمیقاً در گردش کار توسعه ادغام میشوند، نه تنها زمینه، بلکه خطر را نیز به ارث میبرند.”
وی افزود: “با جاسازی دستورالعملهای مخفی در محتوای به ظاهر بیضرر پروژه، ما توانستیم رفتار Duo را دستکاری کنیم، کد منبع خصوصی را استخراج کنیم و نشان دهیم که چگونه میتوان از پاسخهای هوش مصنوعی برای نتایج ناخواسته و مضر استفاده کرد.”
این افشاگری در حالی صورت میگیرد که Pen Test Partners نیز فاش کرده است که چگونه Microsoft Copilot برای SharePoint یا SharePoint Agents میتواند توسط مهاجمان محلی برای دسترسی به دادهها و مستندات حساس، حتی از فایلهایی که دارای امتیاز “نمای محدود” هستند، مورد سوءاستفاده قرار گیرد.
این شرکت اعلام کرد: “یکی از مزایای اصلی این است که ما میتوانیم در مدت زمان کوتاهی در مجموعههای دادههای عظیم، مانند سایتهای SharePoint سازمانهای بزرگ، جستجو و کاوش کنیم. این میتواند به طور چشمگیری شانس یافتن اطلاعاتی که برای ما مفید خواهد بود را افزایش دهد.”
تکنیکهای حمله از تحقیقات جدیدی پیروی میکنند که نشان میدهد ElizaOS (که قبلاً Ai16z نامیده میشد)، یک چارچوب نوظهور عامل هوش مصنوعی غیرمتمرکز برای عملیات خودکار Web3، میتواند با تزریق دستورالعملهای مخرب به دستورات یا سوابق تعاملات قبلی دستکاری شود و به طور موثر زمینه ذخیره شده را خراب کرده و منجر به انتقال داراییهای ناخواسته شود.
گروهی از دانشگاهیان دانشگاه پرینستون در مقالهای نوشتند: “پیامدهای این آسیبپذیری به ویژه شدید است؛ زیرا عوامل ElizaOS برای تعامل همزمان با چندین کاربر طراحی شدهاند و به ورودیهای متنی مشترک از همه شرکتکنندگان متکی هستند.”
آنها افزودند: “یک دستکاری موفقیتآمیز توسط یک عامل مخرب میتواند یکپارچگی کل سیستم را به خطر بیندازد و اثرات آبشاری ایجاد کند که هم تشخیص و هم کاهش آنها دشوار است.”
صرف نظر از تزریق دستور و فرار از محدودیت، یکی دیگر از مسائل مهمی که امروزه LLMها با آن دست و پنجه نرم میکنند، توهم است؛ که زمانی رخ میدهد که مدلها پاسخهایی تولید میکنند که مبتنی بر دادههای ورودی نیستند یا صرفاً ساختگی هستند.
بر اساس یک مطالعه جدید منتشر شده توسط شرکت تست هوش مصنوعی Giskard، دستور دادن به LLMها برای مختصر بودن در پاسخهایشان میتواند بر صحت واقعیت تأثیر منفی بگذارد و توهمات را بدتر کند.
این شرکت اعلام کرد: “به نظر میرسد
نظرات در مورد : حفره امنیتی GitLab Duo به مهاجمان اجازه میداد پاسخهای هوش مصنوعی را با دستورات مخفی ربوده و دستکاری کنند!