Yakın zamanda yayımlanan bir araştırmaya göre, yazılım geliştiricilerin büyük dil modellerini (LLM’ler) kullanması, saldırganların geliştirme ortamlarına kötü amaçlı paketler dağıtması için önceden düşünülenden daha büyük bir fırsat sunuyor.
LLM güvenlik tedarikçisi Lasso Security’nin çalışması, geçen yıl potansiyele ilişkin bir raporun devamı niteliğindedir. saldırganlar yüksek lisans öğrencilerinin halüsinasyon eğilimini kötüye kullanıyorveya kullanıcı girdisine yanıt olarak görünüşte makul ancak gerçeklere dayalı olmayan sonuçlar üretmek.
AI Paketi Halüsinasyonu
önceki çalışma yazılım geliştiricileri bir geliştirme ortamında yapay zeka destekli sohbet robotunun yardımını istediğinde, ChatGPT’nin diğer uydurmaların yanı sıra kod kitaplıklarının adlarını üretme eğilimine odaklandı. Başka bir deyişle, chatbot bazen bir geliştirici ondan bir projede kullanılacak paketler önermesini isteyebileceği zaman genel kod depolarında var olmayan paketlere bağlantılar yayar.
Araştırmanın yazarı ve şu anda Lasso Security’de çalışan güvenlik araştırmacısı Bar Lanyado, saldırganların gerçek bir kötü amaçlı paketi ChatGPT’nin işaret ettiği konuma kolayca bırakabileceğini ve ona halüsinasyonlu paketle aynı adı verebileceğini buldu. Paketi ChatGPT’nin tavsiyesine göre indiren herhangi bir geliştirici, geliştirme ortamına kötü amaçlı yazılım bulaştırabilir.
Lanyado’nun takip araştırması dört farklı büyük dil modelinde paket halüsinasyonu sorununun yaygınlığını inceledi: GPT-3.5-Turbo, GPT-4, Gemini Pro (eski adıyla Bard) ve Coral (Cohere). Ayrıca her modelin farklı programlama dillerinde halüsinasyonlu paketler oluşturma eğilimini ve aynı halüsinasyonlu paketi oluşturma sıklığını da test etti.
Testler için Lanyado, farklı programlama ortamlarındaki (python, node.js, go, .net, ruby) geliştiricilerin çoğunlukla geliştirme ortamlarındaki Yüksek Lisans’lardan yardım istedikleri binlerce “nasıl yapılır” sorusunun bir listesini derledi. Lanyado daha sonra her modele kodlamayla ilgili bir sorunun yanı sıra soruyla ilgili bir paket önerisi sordu. Ayrıca her modelden aynı sorunu çözmek için 10 paket daha önermesini istedi.
Tekrarlanan Sonuçlar
Sonuçlar endişe vericiydi. Lanyado’nun Gemini ile yaptığı “konuşmaların” %64,5’i şaşırtıcı bir şekilde halüsinasyon paketleri oluşturdu. Coral’da bu rakam %29,1’di; GPT-4 (%24,2) ve GPT3.5 (%22,5) gibi diğer Yüksek Lisans’ların durumu pek de iyi değildi.
Lanyado, modellerin aynı paketleri ne sıklıkta halüsinasyona uğrattığını görmek için her modele aynı soru dizisini 100 kez sorduğunda, tekrarlama oranlarının da kaşları kaldırdığını gördü. Örneğin Cohere, vakaların %24’ünden fazlasında aynı halüsinasyon paketlerini kustu; GPT-3.5 ve Gemini’yi %14 civarında, GPT-4’ü ise %20 civarında sohbet edin. Birçok durumda, farklı modeller aynı veya benzer paketlerin halüsinasyonunu gördü. Bu tür çapraz halüsinasyon modellerinin en yüksek sayısı GPT-3.5 ile Gemini arasında meydana geldi.
Lanyado, farklı geliştiriciler Yüksek Lisans’a aynı konu hakkında soru sorsalar ve soruları farklı şekilde hazırlasalar bile Yüksek Lisans’ın her durumda aynı halüsinasyon paketini tavsiye etme ihtimalinin bulunduğunu söylüyor. Başka bir deyişle, kodlama yardımı için Yüksek Lisans kullanan herhangi bir geliştirici muhtemelen aynı halüsinasyonlu paketlerin çoğuyla karşılaşacaktır.
Lanyado, “Soru tamamen farklı olabilir ancak benzer bir konuyla ilgili olabilir ve halüsinasyon yine de meydana gelebilir, bu da bu tekniği çok etkili kılacaktır” diyor. “Mevcut araştırmada birçok farklı soru ve konu için ve hatta farklı modeller için ‘tekrarlayan paketler’ aldık, bu da bu halüsinasyon paketlerinin kullanılma olasılığını artırıyor.”
Kullanımı Kolay
Örneğin, halüsinasyona uğramış birkaç paketin adlarıyla donanmış bir saldırgan, bir LLM’nin geliştiricileri ona yönlendirme ihtimalinin yüksek olduğunu bilerek aynı adlara sahip paketleri uygun depolara yükleyebilir. Tehdidin teorik olmadığını göstermek için Lanyado, testleri sırasında karşılaştığı “huggingface-cli” adlı halüsinasyon paketini aldı ve makine öğrenimi modelleri için Hugging Face deposuna aynı adı taşıyan boş bir paket yükledi. Geliştiricilerin bu paketi 32.000’den fazla kez indirdiğini söylüyor.
Bir tehdit aktörünün bakış açısından paket halüsinasyonları, kötü amaçlı yazılım dağıtımı için nispeten basit bir vektör sunar. “Bizim gibi [saw] Lanyado, ortalama olarak tüm modellerin neredeyse 48.000 soru için %35 oranında halüsinasyon gördüğünü ekliyor. GPT-3.5 en düşük halüsinasyon yüzdesine sahipti; Gemini ortalamayla en yüksek puanı aldı. Tekrarlamanın dört modelin tamamında %18 olduğunu belirtiyor.
Lanyado, geliştiricilerin bir LLM’den gelen paket önerilerine göre hareket ederken, doğruluğundan tam olarak emin olmadıklarında dikkatli olmalarını öneriyor. Ayrıca geliştiricilerin alışılmadık bir açık kaynak paketiyle karşılaştıklarında paket deposunu ziyaret etmeleri ve topluluğun büyüklüğünü, bakım kayıtlarını, bilinen güvenlik açıklarını ve genel katılım oranını incelemeleri gerektiğini söylüyor. Geliştiriciler ayrıca paketi geliştirme ortamına sokmadan önce iyice taramalıdır.