Yüzden fazla web sitesindeki dokümantasyon dosyaları, birçok yapay zeka aracısı tarafından ziyaret edildiğinde otomatik olarak kurulan potansiyel olarak tehlikeli çalıştırılabilir içerik barındırıyor. Bu durumdan, aralarında Fortune 500 şirketlerinin de bulunduğu onlarca firma etkilenmiş durumda. Birkaç firmanın kanıt-niteliğindeki (proof-of-concept) kodları çalıştırdığı belirtiliyor. Hatta yanlış yapılandırılmış bir site, hem insanları hem de yapay zekaları doğrudan zararlı yazılımlara yönlendiriyor.
Potansiyel olarak tehlikeli içerik, llms.txt ve llms-full.txt dosyalarında bulunuyor. Bu dosyalar, web sitelerinin makine tarafından okunabilir özetlerini ve genel yapısını sunmak için kullanılan ve hızla yaygınlaşan bir yöntem olarak öne çıkıyor. Bu dosyalar, arama motorlarına sitenin içeriğini nasıl dizine ekleyeceğini bildiren robots.txt standardının yapay zeka muadili olarak düşünülebilir.
Araştırmacılar Bu Açığı Nasıl Keşfetti?
İsrail merkezli gizli bir girişimin araştırmacıları, savunma sanayii firmaları, Fortune 500 şirketleri ve büyük teknoloji firmalarına ait 6.214 canlı alan adını taradı. Buldukları 8.265 llms.txt ve llms-full.txt dosyasından (birçok site hem llms.txt hem de llms-full.txt dosyasına sahipti), her biri farklı bir sitede bulunan 120 dosyanın, kayıtlı olmayan bir veya daha fazla kod paketine veya alan adına işaret ettiği görüldü. Yapay zeka araçlarının bu tür dosyaları işlediğinde ne olacağını test etmek için araştırmacılar, talep edilmeyen isimlerden birkaçını kaydettiler ve bu paketleri barındırarak herhangi bir makinenin kendilerine ulaşmasını sağladılar. Bir saat içinde araştırmacılar, bir Fortune 500 şirketinden geri dönüş alabildiler. Zamanla, aralarında daha fazla Fortune 500 şirketinden ve startup'lardan gelen birkaç düzine yanıt daha aldılar. Bu geri dönüşler, Claude, OpenAI'nin Codex'i ve Nous Research'ün Hermes'i gibi kodlama aracılarının bu işleme dahil olduğunu ortaya koydu.
Araştırmacılardan Alon Hertz, bir röportajında, "Güven modeli bozuldu," diyerek, "Araçlar, satıcıların belgelerini temel gerçeklik olarak kabul ediyor ve sorgulamıyorlar; onları denetleyen insanlar da aynı şekilde. Yapay zeka araçlarının kullanımı patlama yapıyor ve araçlar her katmana yayılıyor; SaaS, bulut, uç nokta. Çoğaldıkça, tedarik zinciri yüzeyi de artıyor ve bugünkü güvenlik önlemleri bunu kapsamıyor." ifadelerini kullandı.
Dosyalar, PyPI, npm ve diğer kayıt defterlerinden var olmayan paketleri ve bu paketlerin nasıl kurulacağına dair talimatları listelediği için yanlış yapılandırılmış. Örneğin, bir dosyada "Kurulum: pip install [araştırmacıların isteği üzerine gizlenmiştir]." talimatı yer alıyordu. Başka bir dosyada ise "npm install [gizlenmiştir]." yazıyordu. Paket isimleri kayıtlı olmadığından, bir saldırgan bu isimleri kaydedip fidye yazılımı veya başka türde zararlı paketler barındırmak için kullanabilir. Güvenlik açığı, kabuk komutları çalıştırma iznine sahip bir kodlama aracısının dosyayı yetkili kurulum dokümantasyonu olarak ele almasıyla ortaya çıkıyor. Bazı yapay zeka araçları daha sonra paketi indirip çalıştırıyor. Diğer durumlarda ise LLM dosyaları var olmayan alan adlarına işaret ediyor. Bir örnekte ise, "[redacted] uygulamaları için entegrasyon testleri yazma örneği olarak [Citrus] test framework'ünü kullanabilirsiniz." ifadesi yer alıyordu. Bir saldırgan daha sonra bu siteyi kaydedip zararlı talimatlar yerleştirebilir.
Araştırmacıların kanıt-niteliğindeki çalışmaları gösterdiği gibi, kodlama araçları tam da bunu yaptı. Hatta dünyanın en güçlü şirketlerinden bazılarının içinde çalışan araçlar bile bu duruma dahil oldu. Teorik bir tehdit olmaktan uzak olan bu durum, en az bir aktif saldırının bu karmaşayı zaten sömürdüğü ortaya çıktı. Araştırmacılar, clerk.com adresindeki meşru web sitesinde barındırılan bir LLM dosyası buldular. Bu dosyada, "npx clerk-next-fix-auth-protection." metni yer alıyordu. Geleneksel bir kurulum komutunun aksine, npx bir paketi projenin bağımlılık listesine eklemeden npm'nin önbelleğine getirip çalıştırabilir. Araştırmacılar kısa süre sonra birinin bu boşluğu doldurduğunu ve canlı zararlı yazılım barındırmak için kullandığını keşfettiler.
Clerk, sorunu daha sonra gidermiştir. Şirket ayrıca, bir yapay zeka aracısının daha önce @clerk/eslint-plugin paketindeki bir ikili dosyayı yüklemiş olması durumunda herhangi bir tehdit olmadığını belirtmiştir. Aksi takdirde, zararlı paket yüklenecektir. Bu karmaşanın gerçek enfeksiyonlara yol açıp açmadığı belirsizliğini koruyor.
Yeni ortaya çıkan tehdit, yapay zekanın temel sınırlamalarının en son hatırlatıcısıdır. LLM'ler, doğrudan bir komuta girilen gerçek kullanıcı talimatları ile güvenilmeyen üçüncü taraf kaynaklardan elde edilen içerik arasında güvenilir bir sınır çizemez. Modellerin alınan içerikte karşılaştığı talimatlar, bunları engelleyen uygun şekilde yapılandırılmış bir güvenlik duvarı olmadığı sürece, kullanıcının yazdığı herhangi bir şey kadar kolayca işleme alınabilir. Bu, henüz çözülemeyen eksiklik, komut enjeksiyonlarına neden oluyor.
Araştırmacılar, "Bir yapay zeka aracı, bir sayfayı bir komuttan ayırt edemez. Okuduğu her şey girdidir ve her girdi potansiyel bir talimattır. Bu da, araçların artık tüketecek şekilde bağlandığı yayınlanmış tüm verinin sessizce bir yürütme yüzeyi haline geldiği anlamına gelir ve bunların neredeyse hiçbiri, gerçek kod için uyguladığımız bütünlük garantilerini taşımaz." şeklinde yazdı.
Araştırmacıların bulduğu 120 yanlış yapılandırılmış dosyada, var olmayan paketleri kurmak veya kayıtlı olmayan alan adlarını görüntülemek için 227 komut bulunuyordu. Bu hatalı girişlerin oraya nasıl geldiği belirsizliğini koruyor. Birçok durumda, bu girişler yapay zeka döneminden önceye dayanıyor ve ilk olarak bir web sitesindeki LLM olmayan dosyalara dahil edilmişlerdi. Bu da bu hatalı girişlerin insanlar tarafından manuel olarak oluşturulduğunu gösteriyor. Araştırmacılar, diğerlerinin ise ya halüsinasyon gören ya da dosyalara göz atan yapay zeka araçları gibi meşru ve gayrimeşru talimatları ayırt edemeyen yapay zeka tarafından oluşturulduğundan şüpheleniyor.
Veri ve Kod Arasındaki Çöken Sınır
Araştırmacılar, "Yapay zeka çağında, veri ve çalıştırılabilir kod arasındaki bir zamanlar parlak olan çizginin kaybolduğuna dair güçlü bir kanıt sunuyoruz. Bir aracın işleyebileceği her şey, komut çalıştırma izni varsa üzerinde hareket edebileceği potansiyel bir talimattır." ifadelerini kullandılar.
Araştırmacılar, "Clerk vakası bunun en net kanıtıdır. Komut, satıcının kendi talimat dosyasında olduğu için, satıcının göndereceği bir şeye tam olarak benziyordu. Eksik olan tek şey kayıttaki isimdi. Güvenin her katmanı, kontrol etmeyi kimsenin düşünmediği tek katman dışında sağlamdı." dediler.
Bu yeni ortaya çıkan sorunun kaynağı, komut enjeksiyonlarının altında yatan neden ile aynıdır. Ancak bu daha yeni zayıflık daha geniştir.
Hertz, "Bir komut enjeksiyonunda, birisi kasıtlı olarak zararlı talimatlar yerleştirir. Burada, talimatın kendisi tamamen zararsız olabilir ve meşru bir kaynaktan, yani gerçek bir şirketin kendi dokümantasyonundan gelebilir; yazıldığı sırada herhangi bir kötü niyetli aktör dahil olmadan. Tehlike daha sonra ortaya çıkar, işaret ettiği paket veya alan adı terk edildiğinde ve başka biri tarafından talep edildiğinde." açıklamasını yaptı.
Bu durum, sorunun yalnızca web sitelerinde barındırılan llms.txt ve llms-full.txt dosyalarının ötesine geçtiği anlamına geliyor. İster örtük ister açık olsun, talimatlar bir yapay zeka aracısının gezindiği hemen hemen her yerde mevcuttur. Bu parçalanan sınır, büyük teknoloji şirketlerinin yapay zekayı her yere yayma aceleciliğiyle birleştiğinde, gelecek için iç açıcı hisler uyandırmasa da, kesinlikle güvenlik personelini (veya onların yerini alan yapay zeka araçlarını) meşgul edecektir.