بر اساس تحقیقات اخیر منتشر شده، استفاده توسعه دهندگان نرم افزار از مدل های زبان بزرگ (LLM) فرصتی بزرگتر از آنچه قبلا تصور می شد برای مهاجمان برای توزیع بسته های مخرب در محیط های توسعه ایجاد می کند.
این مطالعه از فروشنده امنیت LLM Lasso Security ادامه گزارش سال گذشته در مورد پتانسیل است مهاجمان از تمایل LLM ها به توهم سوء استفاده می کنند، یا تولید به ظاهر معقول اما غیر واقعی، در پاسخ به ورودی کاربر نتیجه می دهد.
توهم بسته هوش مصنوعی
La مطالعه قبلی هنگامی که توسعه دهندگان نرم افزار از چت ربات مجهز به هوش مصنوعی در یک محیط توسعه کمک خواستند، بر تمایل ChatGPT برای ساخت نام کتابخانه های کد - در میان دیگر ساخته ها - متمرکز شد. به عبارت دیگر، ربات چت گاهی اوقات پیوندهایی را به بستههای موجود در مخازن کد عمومی منتشر میکند که توسعهدهنده ممکن است از آن بخواهد بستههایی را برای استفاده در پروژه پیشنهاد کند.
بار لانیادو، محقق امنیتی، نویسنده این مطالعه و اکنون در Lasso Security، دریافت که مهاجمان میتوانند به راحتی یک بسته مخرب واقعی را در مکانی که ChatGPT به آن اشاره میکند، رها کرده و آن را همان نام بسته توهمآور بگذارند. هر توسعهدهندهای که بسته را بر اساس توصیه ChatGPT دانلود کند، میتواند در نهایت بدافزار را به محیط توسعه خود وارد کند.
لانیادو تحقیق پیگیری فراگیر بودن مشکل توهم بسته را در چهار مدل زبان مختلف بررسی کرد: GPT-3.5-Turbo، GPT-4، Gemini Pro (بارد سابق)، و Coral (Cohere). او همچنین تمایل هر مدل را برای تولید بسته های توهم در زبان های برنامه نویسی مختلف و فرکانس تولید بسته های توهم شده مشابه را آزمایش کرد.
برای این تست ها، Lanyado فهرستی از هزاران سوال «چگونگی» جمع آوری کرد که توسعه دهندگان در محیط های برنامه نویسی مختلف - python، node.js، go، .net، ruby - معمولاً از LLM ها در محیط های توسعه کمک می گیرند. سپس Lanyado از هر مدل یک سوال مرتبط با کدگذاری و همچنین یک توصیه برای بسته مربوط به سوال پرسید. او همچنین از هر مدل خواست 10 بسته دیگر را برای حل همان مشکل توصیه کند.
نتایج تکراری
نتایج نگران کننده بود. 64.5 درصد از «مکالمات» لانیادو با جمینی، بستههای توهم ایجاد کرده است. با Coral، این تعداد 29.1٪ بود. سایر LLM ها مانند GPT-4 (24.2%) و GPT3.5 (22.5%) خیلی بهتر عمل نکردند.
هنگامی که لانیادو از هر مدل 100 بار سؤالات یکسانی پرسید تا ببیند مدلها چند بار به همان بستهها توهم میزنند، متوجه شد که میزان تکرار نیز ابروها را بالا میبرد. برای مثال، Cohere، همان بستههای توهمآمیز را در 24 درصد مواقع به بیرون پرتاب میکرد. گپ GPT-3.5 و Gemini حدود 14٪ و GPT-4 در 20٪. در چندین مورد، مدلهای مختلف بستههای یکسان یا مشابه را توهم میکردند. بیشترین تعداد چنین مدل های توهم متقابل بین GPT-3.5 و Gemini رخ داده است.
لانیادو میگوید که حتی اگر توسعهدهندگان مختلف از یک LLM سؤالی در مورد یک موضوع بپرسند، اما سؤالات را به گونهای متفاوت طراحی کنند، این احتمال وجود دارد که LLM در هر مورد همان بسته توهمآمیز را توصیه کند. به عبارت دیگر، هر توسعهدهندهای که از LLM برای کمک به کدنویسی استفاده میکند، احتمالاً با بسیاری از بستههای توهمآمیز مشابه مواجه خواهد شد.
لانیادو میگوید: «این سؤال میتواند کاملاً متفاوت باشد، اما در مورد موضوعی مشابه، و توهم همچنان اتفاق میافتد و این تکنیک را بسیار مؤثر میسازد». در تحقیق فعلی، ما «بستههای تکراری» را برای سؤالات و موضوعات مختلف و حتی در مدلهای مختلف دریافت کردیم که احتمال استفاده از این بستههای توهم را افزایش میدهد.»
آسان برای بهره برداری
برای مثال، مهاجمی که با نام چند بسته توهمآمیز مسلح است، میتواند بستههایی با همین نامها را در مخازن مربوطه آپلود کند و بداند که احتمال زیادی وجود دارد که LLM توسعهدهندگان را به سمت آن سوق دهد. برای اینکه نشان دهد این تهدید تئوری نیست، لانیادو یک بسته توهم به نام "huggingface-cli" را که در طول آزمایش های خود با آن مواجه شد، برداشت و یک بسته خالی با همین نام را در مخزن Hugging Face برای مدل های یادگیری ماشین آپلود کرد. او می گوید که توسعه دهندگان آن بسته را بیش از 32,000 بار دانلود کرده اند.
از نقطه نظر یک عامل تهدید، توهمات بسته یک بردار نسبتاً ساده برای توزیع بدافزار ارائه می دهد. او میگوید: «همانطور که از نتایج تحقیقات [دیدیم]، آنقدرها هم سخت نیست. لانیادو اضافه می کند که به طور متوسط، همه مدل ها با هم 35 درصد برای تقریبا 48,000 سوال توهم داشتند. GPT-3.5 کمترین درصد توهم را داشت. جمینی با میانگین تکرار 18 درصد در هر چهار مدل، بالاترین امتیاز را کسب کرد.
Lanyado پیشنهاد میکند که توسعهدهندگان هنگام عمل به توصیههای بسته از یک LLM زمانی که کاملاً از صحت آن مطمئن نیستند، احتیاط کنند. او همچنین میگوید که وقتی توسعهدهندگان با یک بسته منبع باز ناآشنا مواجه میشوند، باید از مخزن بسته بازدید کنند و اندازه جامعه، سوابق نگهداری آن، آسیبپذیریهای شناختهشده و میزان مشارکت کلی آن را بررسی کنند. توسعه دهندگان همچنین باید بسته را قبل از معرفی آن به محیط توسعه، به طور کامل اسکن کنند.
- محتوای مبتنی بر SEO و توزیع روابط عمومی. امروز تقویت شوید.
- PlatoData.Network Vertical Generative Ai. به خودت قدرت بده دسترسی به اینجا.
- PlatoAiStream. هوش وب 3 دانش تقویت شده دسترسی به اینجا.
- PlatoESG. کربن ، CleanTech، انرژی، محیط، خورشیدی، مدیریت پسماند دسترسی به اینجا.
- PlatoHealth. هوش بیوتکنولوژی و آزمایشات بالینی. دسترسی به اینجا.
- منبع: https://www.darkreading.com/application-security/pervasive-llm-hallucinations-expand-code-developer-attack-surface