Sorun tek cümleyle özetlenebilir.
Bir dahaki sefere Yapay zeka asistanı, yüklenecek bir paket öneriyor.Peki, o paketin gerçekten var olup olmadığını kontrol edecek misiniz? Çoğu geliştirici bunu yapmadı. Öneri ve doğrulama arasındaki bu boşluk, slopsquatting saldırılarının başladığı yerdir ve bu nedenle slopsquatting'in evrimini ve pratik slopsquatting önleme yöntemlerini anlamak, Uygulama Güvenliği ve DevSecOps ekipleri için gerçek bir öncelik haline gelmiştir.
Çömelme saldırısı nedir?
Çömelerek yapılan saldırı, bir saldırı çeşididir. yazım hatası (Yasal bir alan adını veya paket adını, yaygın bir yazım hatası yoluyla taklit eden bir alan adı veya paket adı kaydetme uygulaması, örneğin) istekler yerine isteklerinizi(Kullanıcının kendi yazım hatasının onları doğrudan hedefe ulaştıracağını umarak), ancak hatanın nereden kaynaklandığı konusunda önemli bir fark vardır. Typosquatting, insan yazım hatalarını istismar eder. Slopsquatting saldırısı ise büyük dil modellerinin yaptığı hataları istismar eder: Bir LLM, tamamen meşru görünen ancak herhangi bir kamu kaydında bulunmayan bir paket adı "hayal eder" ve saldırgan, iyi niyetli herkesten önce tam olarak bu adı kaydederek oraya ulaşır.
Tipik bir çömelme saldırısının ardındaki mekanizma basittir ve bu sadelik, onu etkili kılan şeydir:
- Bir yazılımcı, bir kodlama sorununu çözmek için yapay zekâ asistanından yardım istiyor.
- Model, daha önce hiç var olmamış bir paketi içe aktaran veya yüklenmesini öneren bir çözüm üretir.
- Bir saldırgan, çeşitli modellerin aynı hayali ismi tekrar tekrar kullandığını fark eder ve bu paketi npm, PyPI veya başka bir halka açık kayıt defterine kötü amaçlı kodla birlikte kaydeder. İşte bu noktada hayali isim gerçek bir alan adı gaspı saldırısına dönüşür.
- Aynı öneriyi alan ve doğrulamayan bir sonraki geliştirici, artık gerçek olan paketi kurar; bu da onların ortamına bir arka kapı görevi görür.
"Slopsquatting" terimi, Python Yazılım Vakfı'nda Güvenlik Geliştiricisi olarak görev yapan Seth Larson tarafından ortaya atılmış ve Andrew Nesbitt tarafından popülerleştirilmiştir; bu terim tam olarak bu durumu tanımlamak için kullanılmıştır: bir "paket yanılsaması"nın bir saldırı vektörüne dönüşmesi.
İşgalci yerleşimlerin evrimi: bir araştırma merakı nasıl gerçek bir tehdide dönüştü?
Çorak arazide çömelme eyleminin evriminde dikkat çekici olan sadece kavram değil; araştırma gözleminden belgelenmiş, ölçülebilir bir saldırı türüne ne kadar hızlı geçtiğidir.
2023: İlk uyarı işareti. Güvenlik araştırmacısı Bar Lanyado Birkaç LLM'nin tekrar tekrar "şu" adlı bir paketi önerdiğini fark ettim. sarılma yüz-cli(Gerçek paket şu şekilde yükleniyor: ) mevcut değil. pip install -U “huggingface_hub[cli]”Riski göstermek için, bu paketin boş bir sürümünü halka açık bir kayıt defterine yükledi. Üç ay içinde, hiçbir tanıtım yapılmadan 30,000'den fazla indirme aldı. Hayali isim, Alibaba'nın araştırmasıyla bağlantılı bir deponun README dosyasında bile ortaya çıktı ve bu da bu "sahte" isimlerin gerçek belgelere nasıl sızabileceğini ve ardından gelecek olan alan adı ele geçirme saldırılarına nasıl zemin hazırlayabileceğini erken bir aşamada gösterdi.
2024: Risk, bir araştırmacının blog yazısından ana akım teknoloji haberlerine taşınıyor. Mart 2024 olarak, Kayıt Yapay zekâ modellerinin, geliştiricilerin daha sonra indirdiği ve bazılarının potansiyel olarak kötü amaçlı yazılımlarla zehirlenmiş olabileceği yazılım paketlerinin adlarını nasıl güvenle uydurduğunu bildirdi. Bu haber, teknik olarak ortaya koyduğu şeylerden ziyade, işaret ettiği şey açısından daha önemliydi: hugingface-cli vakası artık tek seferlik bir merak konusu değildi; bir yıl sonra kapsamını doğrulayacak olan büyük ölçekli akademik çalışmadan önce, ana akım teknoloji basınının dikkatini çekecek kadar ciddi bir örüntünün ilk işaretiydi.
2025: Sorunun ilk kapsamlı ve geniş ölçekli ölçümü. Kağıt “Sizin İçin Bir Paketimiz Var! Kod Üreten LLM'ler Tarafından Paket Yanılsamalarının Kapsamlı Bir Analizi” (Spracklen ve diğerleri, USENIX Güvenliği Sempozyumda, 576,000 Python ve JavaScript kod örneği üzerinde hem ticari (GPT-4, GPT-3.5) hem de açık kaynaklı (CodeLlama, DeepSeek, WizardCoder, Mistral) 16 kod oluşturma modeli test edildi. Bulgular, slopsquatting'in evriminde net bir dönüm noktası oluşturarak, onu anekdottan veriye dönüştürüyor:
- 19.7% Modellerin önerdiği paketlerin hiçbiri mevcut değildi.
- Açık kaynak kodlu modeller çok daha sık yanılgıya düşüyordu (21.7% ortalama olarak) ticari modellere göre (5.2%).
- En kötü suçlular olan CodeLlama 7B ve CodeLlama 34B, çıktılarının üçte birinden fazlasında halüsinasyon gördüler.
- Test edilen tüm modellerde araştırmacılar ortalama olarak şu verileri kaydetti: 205,000 benzersiz hayali paket adıBirden fazla ekosistemde sürekli olarak toprak işgali saldırılarını destekleyecek kadar büyük bir havuz.
- Önleme açısından özellikle önemli bir ayrıntı: kabaca 38% Hayali isimlerin gerçek paketlere çok benzemesi, birinin onları bir bakışta fark etme olasılığını düşürüyor.
Çalışmanın kritik bir detayı ve muhtemelen slopsquatting'in evriminin sönmek yerine hızlanmasının nedeni, hayali isimlerin rastgele olmaması ve her denemede değişmemesidir. Aynı modeller, benzer komutlar verildiğinde aynı uydurma isimleri tekrarlama eğilimindedir; bu da bir saldırganın tahmin etmesine gerek olmadığı anlamına gelir. Sadece model davranışını gözlemlemeleri, tekrar eden isimleri belirlemeleri ve gerçek bir geliştiriciden önce bunları kaydetmeleri yeterlidir. Bu tekrarlanabilirliğin takip analizi, araştırmacıların aynı komutları onar kez tekrar çalıştırdıklarında, hayali paket isimlerinin %43'ünün her çalıştırmada ortaya çıktığını ve %58'inin birden fazla kez tekrarlandığını ortaya koymuştur; bu da çoğu hayalinin tek seferlik gürültüden ziyade tekrarlanabilir yapaylıklar olduğunun kanıtıdır. Bu tekrarlanabilirlik, tek seferlik bir hayali ölçeklenebilir bir slopsquatting saldırısına dönüştüren şeydir.
2026: Yalıtılmış paketlerden özerk ajanlara. Bu yıl, izinsiz alan adı işgalinin artık bir geliştiricinin önerilen bir şeyi kopyala yapıştır yapmasıyla sınırlı olmadığına dair en net kanıtları ortaya koydu. pip kurulumu or npm kurulumu komut. Ocak 2026'da araştırmacı Charlie Eriksen Aikido Security'de yapılan incelemede, yapay zeka kodlama ajanlarının, hayali bir npm paketine atıfta bulunan talimatları çoktan yaydığı tespit edildi. react-codeshift (İki gerçek aleti akla yatkın şekilde bir araya getiren bir isim, jscodeshift hem de react-codemod237 depoda bulunan ve ajanların hâlâ günlük olarak yüklemeye çalıştığı bir zararlı yazılım paketi. Eriksen, bir saldırganın onu silah olarak kullanmadan önce, savunma amaçlı olarak bu adı kendisi tescil ettirdi. Ayrı olarak, gerçek bir zararlı yazılım paketi olan kullanılmayan ithalatlarmeşru olanın yerine halüsinasyon olarak görülen şey. eslint-eklentisi-kullanılmayan-içe-aktarmalarnpm'nin güvenlik önlemi olarak almasına rağmen, 2026 yılının başlarında haftalık yaklaşık 233 indirme sayısıyla hala faaliyet gösteriyordu; bu da bir slopsquatting saldırısının, işaretlendikten sonra bile ne kadar süreyle kurban çekmeye devam edebileceğinin bir göstergesidir. Daha yakın zamanda, Temmuz 2026'da araştırmacılar, yapay zeka halüsinasyonunu bir komut istemi enjeksiyonuyla birleştiren ve yapay zeka kodlama ajanının, kullanıcının adına halüsinasyonlu bir kaynağı getirmesi durumunda, saldırgan tarafından sağlanan kodu çalıştırmak üzere ele geçirilmesini sağlayan "HalluSquatting" adı verilen ilgili bir tekniği tanımladılar. Bu durum, slopsquatting'in pasif bir kurulum riskinden, ajan tabanlı geliştirme iş akışları içindeki aktif bir uzaktan kod yürütme vektörüne evrimini genişletiyor.
"Vibe kodlama"nın slopsquatting saldırıları için alanı neden genişlettiği
Yapay zekâ tarafından üretilen kod niş bir uygulama olsaydı, slopsquatting saldırıları pek önemli olmazdı. Ancak durum böyle değil. Kodlama asistanlarının, otonom ajanların ve geliştiricilerin çalıştırmadan önce kodun giderek daha azını incelediği "vibe coding" iş akışlarının yükselişi, yazılım saldırı yüzeyini iki somut şekilde değiştirdi ve her ikisi de slopsquatting'in evrimini hızlandırıyor:
- Giriş noktası artık sadece geliştirici değil. Eskiden bir yazım hatasıyla gerçekleştirilen alan adı ele geçirme saldırısı, tek bir kişinin yazım hatası yapmasına bağlıydı. Şimdi ise hata, modelin içinden kaynaklanabilir ve benzer sorular soran ve aynı yanıltıcı öneriyi alan yüzlerce farklı geliştiriciye yayılabilir; bu da tek bir yazım hatasıyla gerçekleştirilen alan adı ele geçirme saldırısının erişim alanını katlayarak genişletir.
- Saldırı yüzeyi zincirin daha üst kısımlarına doğru kaydı. Artık sadece insanların yazdığı kodu izlemek yeterli değil. Ekiplerin ayrıca yapay zeka asistanının önerdiği bağımlılıkları, bağlandığı MCP sunucularını ve paketleri doğrudan insan incelemesi olmadan otonom olarak yükleyen aracıları da izlemesi gerekiyor. Geleneksel uygulama güvenliği, depoları ve insan kodlarını incelemek üzere tasarlanmıştır. commits, geliştirici, yapay zeka ve paket kayıt defteri arasındaki bu yeni etkileşimi gözlemlemek üzere tasarlanmamıştı; slopsquatting saldırılarının gizlendiği yer de tam olarak burası.
Bunların hiçbiri, üretken yapay zekanın doğası gereği güvensiz olduğu anlamına gelmez. Bu, geleneksel güvenlik araçlarının yakalamak için tasarlanmadığı yeni bir tedarik zinciri riski türü ortaya çıkardığı ve halihazırda herhangi bir dış bağımlılığa uyguladığımız doğrulama ilkelerini gerektirdiği anlamına gelir: varsayılan olarak güvenmeyin, kaynağı doğrulayın ve her geliştiricinin hafızasına veya uyanıklığına güvenmek yerine bu doğrulamayı otomatikleştirin. Bu otomasyon, gerçek bir alan adı gaspını önleme stratejisinin temelidir.
Çömelme tehlikesini önleme: takımlar bugün neler yapabilir?
İyi haber şu ki, slopsquatting'i önlemek egzotik araçlar gerektirmiyor. Zaten var olan, ancak birçok ekibin güvendikleri bir yapay zekanın kodu "önerdiği" anda gevşettiği bağımlılık hijyeni uygulamalarını sistematik olarak uygulamayı gerektiriyor. Etkili bir slopsquatting önleme yaklaşımı genellikle şunları birleştirir:
- Yeni paketleri yüklemeden önce manuel olarak doğrulayın.Özellikle de bir yapay zekâ asistanının önerisinden geliyorsa. Resmi kayıtlarda mevcut olup olmadığını, kimin yönettiğini, ne zaman yayınlandığını ve indirme sayılarının gerçekçi görünüp görünmediğini doğrulayın. Bu tek alışkanlık, herhangi bir ekip için mevcut en ucuz alan adı gaspını önleme yöntemidir.
- Yapay zekâ tarafından üretilen kodun varsayılan olarak güvenli olduğunu asla varsaymayın. "Çalışan" bir kod parçacığı, bağımlılıklarının da geçerli olduğu anlamına gelmez. Bağımlılık incelemesi, kod incelemesinin bir parçası olmalı, istisnası olmamalıdır.
- Kilit dosyaları ve karma doğrulama kullanın. Tam sürümleri sabitlemek ve sessiz bir güncellemenin, başlangıçta denetlenen paketten farklı bir paketi kullanmasını engellemek.
- Bilinen CVE'lerin ötesinde risk kalıplarını işaretleyen bağımlılık taramasını devreye alın.Anormal paketler, mevcut paketlere şüpheli derecede benzer isimler, geçmişi olmayan yeni yöneticiler veya alışılmadık davranışlar sergileyen kurulum komut dosyaları. Neredeyse hiç geçmişi olmayan ve "neredeyse" tanıdık bir şeyin adını yakından taklit eden yeni yayınlanmış bir paket, şimdiye kadar belgelenen çoğu slopsquatting saldırısının ardındaki modeldir.
- Kamu kayıtlarına da aynı şüpheyle yaklaşın.cism, doğrulanmamış diğer harici kaynaklar gibi. Gerçeği pip kurulumu or npm kurulumu Hata vermemesi meşruiyetin kanıtı değildir.
- Eğitim geliştirme ekipleri Yapay zekâ destekli kodlamanın, neyin yüklendiğini doğrulama sorumluluğunu ortadan kaldırmadığı, yalnızca herhangi bir ciddi alan adı ele geçirme önleme planının bir parçası olarak iş akışına dahil edilmesi gereken bir adım eklediği gerçeğine değinmek gerekir.
Bu önlemlerin hiçbiri kendi başına yeni değil. Değişen şey ölçek: Bağımlılık önerisi artık Stack Overflow'dan veya bir meslektaştan değil, aynı yanılsamalı hatayı binlerce farklı geliştiriciye tekrarlayabilen bir modelden geldiğinde, manuel doğrulama, hala gerekli olsa da, tek başına yeterli olmaktan çıkıyor. Bu nedenle daha fazla ekip, bu tür istenmeyen uygulamaları önleme katmanını kendi bünyelerinde otomatikleştiriyor. Yazılım Bileşimi Analizi (SCA) takımBunu bireysel geliştirici disiplinine bırakmak yerine.
Bu, öncesidir.cisely neden ASPM platformları sevmek Xygeni Yazım hatasıyla alan adı ele geçirme, bağımlılık karışıklığı ve bilinen kötü amaçlı paketler gibi şüpheli bağımlılık tespitini aynı açık kaynaklı ve yapay zeka tabanlı bağımlılık analizine entegre edin. pipelineDolayısıyla, izinsiz kod ele geçirmeyi önleme, her geliştiricinin yapay zeka asistanı yeni bir bağımlılık önerdiğinde bunu kontrol etmeyi hatırlamasına bağlı değildir.
SSS
Yanlış yazım hatasıyla yapılan bir saldırı, yazım hatasıyla yapılan bir saldırıyla aynı şey midir?
Tam olarak değil. Her ikisi de, onu yükleyen kişiyi kandırmak için sahte bir paket adı kaydetmeyi içerir, ancak hatanın kaynağı farklıdır. Typosquatting, insan yazım hatalarını istismar eder. Slopsquatting saldırısı ise, yapay zeka modelleri tarafından icat edilen (hayal edilen) paket adlarını istismar eder ve saldırgan bu adları, meşru olarak var olmadan önce kaydeder.
Bir paket yöneticisi bu tür saldırıları otomatik olarak engelleyebilir mi?
Tam olarak değil, bu yüzden slopsquatting önleme işlemi paket yöneticisi seviyesinde duramaz. Eğer bir saldırgan, geliştirici onu yüklemeye çalışmadan önce hayali paketi kaydederse, paket gerçekten var olduğu için (kötü amaçlı olsa bile) kurulum hatasız tamamlanacaktır. Etkili önleme, paketin kökeni ve davranışı hakkında ek doğrulama gerektirir.
Bu durum sadece açık kaynaklı modelleri mi etkiliyor?
Hayır. Spracklen ve diğerlerinin çalışması, ticari modeller de dahil olmak üzere test edilen her modelde halüsinasyonlar buldu, ancak bu oran önemli ölçüde daha düşüktü (%5.2'ye karşılık değerlendirilen açık kaynaklı modellerde %21.7). Hiçbir model bu sorundan tamamen arınmış değil; bu da slopsquatting'in evriminin genel olarak yapay zeka destekli kodlamanın büyümesiyle aynı hızda ilerlemesinin nedenlerinden biridir.
Bu teorik bir risk mi, yoksa zaten istismar edilmiş bir durum mu?
MKS sarılma yüz-cli Bir araştırmacı tarafından yüklenen ve hiçbir tanıtım yapılmadan üç ay içinde 30,000'den fazla kez indirilen boş bir paket örneği, riskin sadece teorik olmadığını gösteriyor: Hayali bir isim, birinin onu gerçek bir alan adı ele geçirme saldırısına dönüştürmesi için farklı isteklerde yeterince tutarlı olması yeterli.




