Bir kodlama asistanından bir sorunu çözmesini isteyin; bazen bir paket kurmanızı önerir: ortak görevler için gerçek paketler ve ölçülebilir sıklıkla hiç var olmayan paketler. Makul bir isim icat etti çünkü çevreleyen kod modeli orada bir bağımlılık gerektiriyordu. Siz veya kodlama aracınız yine de kurulum komutunu çalıştırırsanız, PyPI veya npm'de bu ad altında kayıtlı olan şey makinenize ulaşır. Python Yazılım Vakfı'nda yerleşik geliştirici olan güvenlik araştırmacısı Seth Larson, ortaya çıkan saldırıyı "slopsquatting" olarak adlandırdı ve modellerin halüsinasyona uğradığını, yani yazım hatasının yapay zeka tarafından oluşturulan eşdeğerini kaydetti.
Bu aslında ne sıklıkta oluyor
San Antonio'daki Texas Üniversitesi, Virginia Tech ve Oklahoma Üniversitesi'nden bir ekip bunu doğrudan ölçtü: “Size Özel Bir Paketimiz Var!”, USENIX Security 2025'e kabul edildi. İki dilde 16 popüler modelden oluşturulan 576.000 kod örneğinde, "ticari modeller için en az yüzde 5,2 ve açık kaynaklı modeller için yüzde 21,7" olmak üzere toplam 205.474 benzersiz halüsinasyonlu paket adı içeren halüsinasyonlu paketler buldular. Bu nadir görülen bir durum değil; bazı açık kaynaklı modeller için bu, kabaca önerilen beş bağımlılıktan biridir.
| Model sınıfı | Halüsinasyon oranı (paket tavsiyelerine ilişkin) |
|---|---|
| Ticari modeller (ortalama) | en az yüzde 5,2 |
| Açık kaynaklı modeller (ortalama) | en az yüzde 21,7 |
Bu neden sadece yanlış değil, çömelilebilir?
Tek seferlik icat edilen bir isim, bir saldırı yüzeyi değil, sıkıntı olacaktır. Onu istismar edilebilir kılan şey tekrarlamadır: 12 Nisan 2025'te Kayıt bildirdi gibi, araştırmacılar aynı istemi on kez yeniden çalıştırdığında "halüsinasyonlu paketlerin yüzde 43'ü her seferinde tekrarlanıyor ve yüzde 39'u bir daha asla ortaya çıkmıyor." Halüsinasyonlu isimlerin yarısına yakını rastgele gürültü değildir; bunlar, modelin güvenilir bir şekilde verilen benzer kod için ulaştığı tahminlerin aynısıdır. Saldırganın belirli bir geliştiricinin ne yazacağını tahmin etmesine gerek yoktur. Aynı modelleri ortak istemlere karşı çalıştırabilir, tekrar eden adları toplayabilir ve bunları önceden gerçek paket dizinine kaydedebilirler.
pip install fast-json-normalizer # suggested by a coding assistant
Collecting fast-json-normalizer
Downloading fast-json-normalizer-0.3.1.tar.gz
Running setup.py install for fast-json-normalizer ... done
# Nothing here indicates whether this name was ever a real, reviewed project
# or was registered specifically because models keep suggesting it.Bu neden OWASP'ın zaten izlediği modele uyuyor?
Bu, OWASP'ın Yüksek Lisans Başvuruları için İlk 10'u'ın yapay zeka destekli geliştirme için tedarik zinciri riski olarak adlandırdığı şeyin bir çeşididir: Eskiden "bu bağımlılığı eklemeyi bir insan mı seçti?" şeklindeki güven sınırı, "bir modelin kalıp tamamlaması bunu mu seçti?" şeklinde hareket eder ve kalıp tamamlamanın bir adın gerçek olup olmadığına dair hiçbir kavramı yoktur.
Aslında bu konuda ne yapmalı
- Bir kodlama aracısının önerdiği her paket adını, iyi bilinen bir bağımlılığı değil, doğrulamaya yönelik bir öneri olarak ele alın; tıpkı bir yardımcı katılımcının bellekten yazdığı bir isme davrandığınız gibi.
- Alışılmadık bir şey yüklemeden önce kayıt tarihini ve indirme geçmişini kontrol edin; Yakın zamanda ortaya çıkan ve AI tarafından oluşturulan ortak bir bilgi istemi modeliyle şüphe uyandıracak derecede iyi eşleşen bir paket, ikinci bir bakışı hak ediyor.
- Bağımlılıkları sabitleyin ve bir kilit dosyası kullanın, böylece bir kez ortaya çıkan halüsinasyonlu bir ad daha sonra sessizce yeniden çözülmez.
- Yeni kurulan bir paketin ilk çalıştırmada gerçekte ne yaptığını izleyin. Ticari olarak iletişim kurmadığı bir sunucuya ulaşan yeni kayıtlı bir bağımlılık, bir kod incelemesi adı gözden kaçırsa bile güvenlik duvarının yakalayabileceği bir sinyaldir.
FireAI ve HisnLabs burada nereye oturuyor
A squatted package that phones home still has to make a connection to do it, from a Python or Node process you just ran; FireAI shows you that connection, the process behind it and where it is going, before you decide whether it belongs there.
FireAI, HisnLabs’in kendi ürünüdür: doğrudan Mac’inizde çalışan, yapay zekâ destekli bir güvenlik duvarı. Uygulamalarınızın kurduğu her bağlantıyı sade bir dille gösterir ve Mac’inizden neyin çıkacağına sizin karar vermenizi sağlar — yapay zekâsı yerel olarak çalışır, yani trafiğiniz asla bize ya da başka birine gönderilmez. HisnLabs güvenlik araştırma ekibi bu kararların isabetli kalmasını sağlayan ekiptir: hangi alan adlarının sıradan telemetri, hangilerinin gerçek bir hizmet olduğunu kataloglar, bir bağlantının ardındaki ülkeyi ve ağı izler ve cihaz üzerindeki modeli (Autopilot özelliği) gerçek trafik örüntüleriyle eğitir — üstelik bunların hiçbiri Mac’inizden dışarı çıkmadan.
Arkasındaki teknik kararları okuyabilir ya da FireAI’yi 17 gün boyunca deneyebilirsiniz: HisnLabs’ten FireAI.
