Slopsquatting
LLM'in Uydurduğu Paket, Saldırganın Fırsatı (LLM07:2026)
Bir LLM var olmayan bir paketi güvenle önerdiğinde, o uydurma ad bir saldırı hedefine dönüşebilir. Slopsquatting'in nasıl işlediğini, neden LLM07:2026 Yanlış Bilgi kapsamına girdiğini ve öneriyi koda dönüştürmeden önce nasıl savunacağınızı ele alıyoruz.
30 saniyede özet
- Slopsquatting, bir LLM'in gerçekte var olmayan bir yazılım paketini (pip/npm) güvenle önermesi ve bir saldırganın bu uydurma adı kayıt defterine kötü amaçlı bir paketle önceden kaydetmesiyle oluşur.
- Öneriyi izleyen sonraki geliştirici
pip installya danpm installdediğinde, halüsinasyonun bıraktığı boşluğa yerleşmiş zararlı kodu kurar. - Bu, akıcı-ama-yanlış çıktının yanlış eyleme dönüştüğü bir örnek: OWASP LLM07:2026 Yanlış Bilgi kapsamında, tedarik zinciri sonucuyla.
- Sahte model tespitinden farklıdır: orada hedef model hub'ındaki taklit artefakt, burada hedef LLM önerisinden doğan uydurma paket adıdır.
- Çözüm: her AI-önerili bağımlılığı kurmadan önce gerçek kayıt defterine karşı doğrula, sürüm + hash kilitle, izin listesi/özel ayna kullan, ajanların otomatik kurulumunu engelle.
Slopsquatting nedir?
LLM'ler kod üretirken bazen gerçek gibi görünen ama kayıt defterinde karşılığı olmayan bağımlılık adları üretir. "Slop" (yapay zekânın ürettiği düşük-güvenilirlikli çıktı) ile "squatting" (bir adı fırsatçı biçimde önceden kapma) sözcüklerinin birleşimi olan slopsquatting, bu halüsinasyon adlarının bir saldırı yüzeyine dönüşmesini tanımlar.
Mekanizma basittir: model belirli bir uydurma paket adını yeterince sık ve yeterince ikna edici biçimde önerirse, bir saldırgan o adı açık kayıt defterine (PyPI, npm ve benzeri) gerçek bir paket olarak yükleyebilir. Ad artık "var olur" — ama içeriğini saldırgan belirler.
Bu desen, yazım hatalarını hedefleyen typosquatting'in LLM-halüsinasyon kuzenidir. Fark tetikleyicidedir: typosquatting insanın parmak kaymasını bekler, slopsquatting modelin tutarlı halüsinasyonunu bekler.
Saldırı zinciri nasıl işler?
- Halüsinasyon: Geliştirici bir LLM'e "şu işi yapan kütüphane" diye sorar; model var olmayan bir paket adını güvenle önerir, hatta örnek
importve kurulum komutuyla birlikte. - Tekrarlanabilirlik: Aynı ad farklı istemler arasında tutarlı biçimde çıkarsa, saldırgan için öngörülebilir bir hedef hâline gelir.
- Önceden kayıt: Saldırgan bu adı kayıt defterine kötü amaçlı yükle ile kaydeder; yanına meşru görünen bir işlev de ekleyerek fark edilmesini geciktirir.
- Kurulum: Öneriyi izleyen geliştirici — ya da bir kod ajanı — komutu olduğu gibi çalıştırır ve zararlı paketi projesine çeker.
- Yayılma: Paket, kurulum betiği, geçişli bağımlılık ya da CI aşamasında kod çalıştırarak kimlik bilgisi, jeton veya build çıktısına ulaşabilir.
Kritik nokta: kurban hiçbir yazım hatası yapmaz. Komutu doğru yazar; hatalı olan, öneriye duyduğu güvendir.
Slopsquatting, typosquatting ve sahte modelden farkı
Üçü de "tanıdık görünen bir adın arkasına zararlı içerik koyma" ailesindendir; ama tetikleyici ve hedef farklıdır. Sahte model senaryosunu ayrı bir yazıda ele alıyoruz — buradaki konu paket bağımlılıklarıdır.
| Boyut | Slopsquatting | Typosquatting | Sahte model |
|---|---|---|---|
| Tetikleyici | LLM'in uydurduğu paket adı | İnsanın yazım hatası | Popüler modele benzer ad |
| Hedef kayıt | Paket kayıt defteri (pip/npm) | Paket kayıt defteri | Model deposu (ör. hub) |
| Kurban eylemi | Doğru yazılmış komutu güvenle çalıştırma | Yanlış yazılmış adı kurma | Taklit artefaktı indirme |
| OWASP çerçevesi | LLM07 (tetik) → tedarik zinciri sonucu | Tedarik zinciri | LLM04 Tedarik Zinciri |
| İlgili yazı | Bu yazı | — | Sahte model tespiti |
Neden bu bir LLM07: Yanlış Bilgi sorunu?
OWASP'ın 2026 listesinde Yanlış Bilgi 9. sıradan 7. sıraya çıktı; proje liderleri bunu, topluluk oyu ile gerçek olay kaydı arasındaki en geniş — ve zarar veren yöndeki — açığa bağlıyor. Slopsquatting tam da bu açığın somut hâlidir: çıktı akıcı, kendinden emin ve biçimsel olarak doğru görünür; yanlış olan tek şey, önerilen adın gerçek olmamasıdır.
Yanlış bilginin tehlikeli hâle gelmesi için bir eyleme dönüşmesi gerekir. Burada eylem install komutudur. Model bir olgu uydurduğunda zarar okuyucunun kafasında kalır; model bir bağımlılık uydurduğunda zarar üretim ortamına kod olarak iner.
Bu nedenle slopsquatting'i saf bir tedarik zinciri (LLM04) meselesi gibi değil, LLM07 tetikleyicisiyle başlayıp tedarik zincirinde sonuçlanan bir zincir olarak okumak gerekir. Savunmayı da iki uca birden koymak gerekir: öneri anına ve kurulum anına.
Ajanlar riski büyütüyor
Bir insan öneriyi görüp elle kurarken en azından bir duraklama vardır. Bir kod ajanı önerdiği paketi aynı turda otomatik kurabildiğinde bu duraklama kaybolur: halüsinasyon ile çalıştırma arasında insan kalmaz. Bu, aşırı yetki temasının doğrudan bir örneğidir.
Meta'nın 2025 "Rule of Two" çerçevesi burada işe yarar: (A) güvenilmez girdi, (B) hassas veri/yetki ve (C) durum değiştiren ya da dış dünyaya açılan eylem aynı anda varsa, eylem başına insan onayı gerekir. LLM önerisiyle tetiklenen otomatik install bu üç bacağı kolayca bir araya getirir. Sağlam kural: ajanın önerdiği hiçbir bağımlılık, kayıt defteri kontrolü ve insan onayı olmadan kurulmaz.
Savunma: öneriyi koda dönüştürmeden önce
| Katman | Önlem | Ne sağlar |
|---|---|---|
| Doğrulama | Her AI-önerili paketi kurmadan önce gerçek kayıt defterinde ve kaynak deposunda doğrula (yaş, indirilme, bakım, repo) | Uydurma ya da yeni kaydedilmiş adı yakalar |
| Kilitleme | Bağımlılıkları sürüm + hash ile kilitle (lockfile, hash-pinning) | Beklenmeyen bir paketin sessizce girmesini engeller |
| Kaynak denetimi | İzin listesi ve özel ayna/proxy üzerinden kur; keyfi genel kayıt erişimini kıs | Yalnızca onaylı paketlerin ulaşmasına izin verir |
| Ajan sınırı | Ajanların otomatik kurulumunu kapat; kurulum kararını insan veya politika motoruna bırak | Halüsinasyon-to-kurulum zincirini kırar |
| CI kapısı | Yeni bağımlılıkları PR incelemesi ve otomatik tarama ile geçir | Öneriyi üretime çıkmadan yakalar |
Pratik sıra: önce doğrula, sonra kilitle, sonra kaynağı kıs, otomatik kurulumu hiç açma. Bu dört adım, modelin akıcı ama yanlış önerisinin kalıcı bir bağımlılığa dönüşmesini önler.
Not ve kaynaklar
Dürüstlük notu: OWASP başlıklarının İngilizce hâli (Misinformation, Supply Chain) resmîdir; buradaki Türkçe karşılıklar resmî olmayan topluluk çevirisidir. Bu yazıdaki mekanizma bilinçli olarak geneldir — belirli paket adı, istatistik, CVE veya olay tarihi vermekten kaçındık, çünkü slopsquatting bir desendir ve savunması da desene karşı kurulur.
Resmî belge: OWASP GenAI — LLM Top 10 (2026). Daha geniş bağlam için: OWASP LLM Top 10 2026 değişiklik özeti ve Aşırı Yetki (Excessive Agency).
Sık Sorulan Sorular
Slopsquatting typosquatting'den nasıl ayrılır?
İkisi de kayıt defterine zararlı paket koyar; ama tetikleyici farklıdır. Typosquatting insanın yazım hatasını bekler (ör. adın bir harfini yanlış yazmasını); slopsquatting ise bir LLM'in var olmayan bir paket adını tutarlı biçimde halüsinasyon yapmasını bekler ve o adı önceden kaydeder. Kurban komutu doğru yazar, hata öneriye duyulan güvendedir.
Bu, sahte model saldırısıyla aynı şey mi?
Hayır. Sahte model senaryosunda hedef, bir model deposundaki (hub) tanınmış modele benzetilmiş taklit artefakttır. Slopsquatting'te hedef, LLM önerisinden doğan uydurma bir paket/bağımlılık adıdır ve saldırı pip/npm gibi paket kayıt defterlerinde gerçekleşir. Sahte modeli ayrı yazıda ele alıyoruz.
Neden LLM07 Yanlış Bilgi altında değerlendiriliyor?
Çünkü kök neden, modelin akıcı ama yanlış bir çıktı üretmesidir: gerçekte olmayan bir paketi güvenle önermek. Bu yanlış bilgi bir install komutuna dönüştüğünde tedarik zinciri sonucuna yol açar. Yani LLM07 tetikleyici, tedarik zinciri ise sonuçtur.
Bir paketin uydurma olup olmadığını nasıl anlarım?
Kurmadan önce adı gerçek kayıt defterinde ve kaynak deposunda doğrulayın: paketin yaşı, indirilme sayısı, bakım geçmişi, bağlı GitHub reposu ve yayıncısı. Yeni kaydedilmiş, geçmişi olmayan ya da hiçbir güvenilir izi bulunmayan bir ad, öneriye rağmen şüphelidir.
Kod ajanları bu riski neden büyütür?
Bir ajan önerdiği paketi aynı turda otomatik kurabildiğinde, halüsinasyon ile çalıştırma arasındaki insan duraklaması ortadan kalkar. Bu durum aşırı yetki temasına girer. Çözüm, ajanların otomatik kurulumunu kapatmak ve kurulum kararını insan onayı ile kayıt defteri kontrolüne bağlamaktır.
Kaynaklar
| Kaynak | Link |
|---|---|
| OWASP GenAI — LLM Top 10 for LLM Applications 2026 (resmî) | genai.owasp.org |
| OWASP LLM Top 10 2026 — Türkçe topluluk çevirisi (GitHub) | github.com |
| OWASP LLM Top 10 2026 — veri seti (Hugging Face) | huggingface.co |
