HalluSquatting: Bir Yapay Zeka Halüsinasyonu Kodlama Ajanlarını Nasıl Botnete Dönüştürebilir?

Vexlint Team · · 8 dk okuma
HalluSquatting: Bir Yapay Zeka Halüsinasyonu Kodlama Ajanlarını Nasıl Botnete Dönüştürebilir?

Kısa özet: HalluSquatting, yapay zekanın tanıdık bir hatasını silaha dönüştürüyor: kulağa gerçekçi gelen bir isim uydurmak. Saldırgan, bir LLM’in halüsinasyon olarak üretme ihtimali yüksek olan depo veya ajan becerisi adını kaydediyor, içine zararlı talimatlar yerleştiriyor ve bir yapay zeka ajanının bunu çekmesini bekliyor. Araştırmacılar saldırı zincirini popüler kodlama asistanlarının da bulunduğu dokuz ajan aracında gösterdi. Gerçek dünyada kullanıldığına dair kamuya açık kanıt yok; yine de geliştiriciler, bir ajanın indirdiği veya çalıştırdığı her depo ve becerinin kaynağını doğrulamalı.


“Yanlış cevap”tan “yanlış eylem”e tehlikeli geçiş

Bir yapay zeka sohbet botunun olmayan bir kitap adı uydurması can sıkıcıdır. Bir kodlama ajanının olmayan bir GitHub adresi uydurması ise farklıdır: ajanın terminali, ağ erişimi, yerel kimlik bilgileri ve indirdiği şeyi çalıştırma yetkisi olabilir.

Adversarial hallucination squatting ifadesinin kısaltması olan HalluSquatting tam olarak bu fark üzerine kurulu. Tel Aviv Üniversitesi, Technion ve Intuit araştırmacıları, 8 Temmuz 2026’da yayımlanan çalışmalarında depo ve beceri adlarına ilişkin öngörülebilir halüsinasyonların, zararlı talimatlar için ölçeklenebilir bir dağıtım kanalına dönüşebileceğini gösterdi. HalluSquatting makalesini arXiv’de okuyun

Saldırganın belirli bir kurbana e-posta göndermesi, ünlü bir projeyi ele geçirmesi veya hangi geliştiricinin hedef olacağını bilmesi gerekmiyor. Bunun yerine birçok modelin uydurma ihtimali yüksek olan sahte bir kaynağı kaydediyor ve ajanların kendisine gelmesini bekliyor.

Bu araştırmayı güncel yapan da bu. Sektör yıllarca halüsinasyonları bir kalite problemi olarak gördü. Modeller depo klonlayıp beceri yükleyebildiğinde ve komut çalıştırabildiğinde aynı hata bir güvenlik sınırı ihlaline dönüşüyor.


HalluSquatting basitçe nasıl çalışıyor?

Yeni bir açık kaynak aracın popüler olduğunu düşünün. Bir geliştirici ajana şunu söylüyor:

PopularTool deposunu klonla ve kurulumu yap.

Model proje adını tanıyor fakat gerçek sahibini ve tam URL’yi güvenilir biçimde bilmiyor. Resmî kaynağı arayıp doğrulamak yerine kulağa mantıklı gelen bir adres oluşturuyor:

github.com/mantikli-sahip/popular-tool

Adres doğru görünüyor ama yanlış. Saldırgan, modellerin hangi yanlış adresi daha sık ürettiğini önceden ölçmüş, o adresi kaydetmiş ve README ya da ajan yapılandırmasına prompt-injection talimatları yerleştirmiş durumda.

Kodlama ajanı bu depoyu klonlayıp okuduğunda zararlı metin ajanın bağlamına giriyor. Ajan haricî talimatları güvenilir kabul ediyor ve güçlü araçlara erişebiliyorsa saldırganın komutlarını çalıştırabilir veya veri sızdırabilir.

Araştırma aynı yöntemi ajan becerilerine de uyguluyor. Kullanıcı bir asistandan belirli bir beceriyi yüklemesini istiyor; model var olmayan bir pazar yeri kimliği tahmin ediyor; saldırgan o kimliğe sahip; asistan zehirlenmiş beceriyi indiriyor.

Modelin hatası, saldırganın dağıtım sistemine dönüşüyor.


Yedi adımlı saldırı zinciri

  1. Popüler bir hedef bulma: Saldırgan, kullanıcıların isteme ihtimali yüksek olan popüler depo, araç ve ajan becerilerini izler.
  2. Öngörülebilir halüsinasyonları haritalama: Modellere kaynağın adresi tekrar tekrar sorulur ve en sık üretilen yanlış isimler kaydedilir.
  3. En iyi adayı kaydetme: Hâlâ boşta olan depo veya beceri adı saldırgan tarafından alınır.
  4. Sıradan bir istek bekleme: Geliştirici ajandan gerçek kaynağı klonlamasını ya da yüklemesini ister.
  5. Modelin tahmin etmesi: Model, güvenilir arama veya kayıt sistemi yerine saldırganın sahip olduğu kimliği üretir.
  6. Bağlamı zehirleme: Ajan sahte kaynağı çeker ve içine gömülü zararlı talimatları okur.
  7. Araçları kötüye kullanma: Enjekte edilen talimatlar terminal komutlarını, veri erişimini, kimlik bilgisi hırsızlığını, kalıcılığı veya bir botnete katılımı tetiklemeye çalışır.

Bu, çekme tabanlı ve hedefsiz bir saldırıdır. Saldırgan tek bir tuzak yayımlar; birbirinden bağımsız ajanlar onu farklı ortamlara çekebilir.


Araştırmacılar gerçekte ne buldu?

Manşet rakamlar çarpıcı, ancak bağlamları önemli.

Deneylerde halüsinasyonla üretilen kaynak oranı, depo klonlama senaryolarında yüzde 85’e, beceri yüklemede yüzde 100’e kadar çıktı. Daha yeni kaynaklar, modellerin gerçek konumları hakkında daha az güvenilir bilgiye sahip olması nedeniyle özellikle zorlayıcıydı.

Ekip Cursor, Cursor CLI, Windsurf, GitHub Copilot ve Cline’ın yanı sıra Gemini CLI ile OpenClaw, ZeroClaw ve NanoClaw’u test etti. Test edilen ürün, model, sürüm ve senaryoya göre deneyler araç çağrısı veya uzaktan kod çalıştırmayla sonuçlandı. Araştırmacılar, değerlendirdikleri örneklerde kodlama ajanları için yüzde 20-65, kişisel asistan senaryoları için ise yüzde 40-100 arasında RCE başarı oranı bildirdi. Araştırmacıların proje sayfası ve yöntem bilgileri

Bu sonuçlar, söz konusu ürünlerin güncel her kurulumunun otomatik olarak tehlikede olduğu anlamına gelmiyor. Çalışma, belirli sürümleri kontrollü istemler ve yapılandırma başına küçük örneklerle test etti. Üreticiler ve pazar yeri yöneticileri yayın öncesinde bilgilendirildi, doğrudan kötüye kullanılabilecek ayrıntılar çıkarıldı ve ürün davranışları o tarihten bu yana değişmiş olabilir.

Ayrıca bu, gösterilmiş bir saldırı tekniği; doğrulanmış kitlesel bir saldırı kampanyası değil. Bu yazı yayımlandığında HalluSquatting ile gerçek dünyada bir botnet oluşturulduğuna dair kanıt sunulmuş değildi.

Daha dar ama önemli sonuç şu: farklı mimarilerdeki ajanlar, halüsinasyonla üretilmiş ve saldırganın kontrolündeki kaynakları çekti; bazıları kod çalıştıracak kadar ileri gitti.


HalluSquatting yalnızca yeni isim verilmiş slopsquatting değil

Kavramlar kesişse de hedef ve çalışma biçimi farklıdır.

SaldırıEle geçirilen ad nedir?Kim tüketir?Tipik hata
TyposquattingYanlış yazılmış alan adı veya paketİnsan ya da derleme aracıKullanıcı yanlış adı yazar veya seçer
SlopsquattingÜretilen kodda halüsinasyonla oluşan paket adıGeliştirici veya paket yöneticisiGeliştirici uydurma bağımlılığı yükler
HalluSquattingUydurulmuş depo, beceri veya haricî kaynakYapay zeka ajanının kendisiAjan zararlı talimatları çeker ve araç çalıştırabilir
GhostApprovalSembolik bağlantıyla gizlenen yerel yolYapay zeka kodlama aracıZararsız görünen onay çalışma alanı dışına yazar

Slopsquatting genellikle sahte bir bağımlılıkla yazılım tedarik zincirini hedefler. HalluSquatting ise çalışma anındaki canlı ajanı hedefler. Zararlı kaynağın geleneksel bir kötü amaçlı dosya içermesi bile gerekmez; doğal dildeki talimatlar yük olabilir çünkü ajan hem okuyucu hem yürütücüdür.

HalluSquatting prompt injection’ın yerini almaz, onu tamamlar. Saldırganın “Her kurbanla doğrudan temas kurmadan zehirli içeriği çok sayıda ajana nasıl ulaştırırım?” problemini çözer.


Geliştiriciler bugün ne yapmalı?

1. Modelin klonlama URL’si uydurmasına izin vermeyin

Projenin resmî web sitesini veya doğrulanmış kuruluş sayfasını açıp depo URL’sini oradan kopyalayın. GitHub da adresi hafızadan oluşturmak yerine depo sayfasından kopyalamayı öneriyor. GitHub: klonlama hatalarını giderme

Mevcut bir kopyada, ajandan kurulum yapmasını istemeden önce kaynağı kontrol edin:

Terminal window
git remote get-url origin
git log -1 --format='%h %ad %an %s' --date=short

Sahibi, proje geçmişini, sürüm bağlantılarını ve deponun projenin resmî alan adından referans alıp almadığını kontrol edin. Yıldız sayısı ve tanıdık görünen README zayıf sinyallerdir; ikisi de kopyalanabilir veya manipüle edilebilir.

2. Becerileri çalıştırılabilir bağımlılık gibi değerlendirin

Bir ajan becerisi yalnızca istem şablonu değildir. Shell komutlarını, araç çağrılarını, ağ isteklerini ve yerel dosya erişimini yönlendirebilir. Yalnızca resmî pazar yerinden veya geliştiricinin yayımladığı bağlantıdan yükleyin; etkinleştirmeden önce talimatlarını okuyun.

Adı “yeterince yakın” görünüyor diye bir beceriyi onaylamayın. Bu saldırıda saldırganın güvendiği şey tam olarak budur.

3. Keşif ile çalıştırmayı ayırın

Ajandan önce gerçek kaynağı bulmasını ve göstermesini isteyin. Kendiniz doğrulayın. Ardından klonlama veya yükleme için ayrı bir onay verin.

Güvenli akışın görünür bir sınırı vardır:

Ara → kaynak ve sahibi göster → insan doğrular → çek → incele → çalıştır

Kaynağı tanımıyorsanız “bul, yükle ve tüm kurulum talimatlarını uygula” gibi istemlerden kaçının.

4. Güvenilmeyen kurulumları izole edin

Tanımadığınız depo ve becerileri tek kullanımlık container, sanal makine, uzaktan geliştirme ortamı veya dar kapsamlı sandbox içinde çalıştırın. Üretim kimlik bilgilerini, kişisel SSH anahtarlarını, bulut token’larını, imzalama anahtarlarını ve hassas ortam değişkenlerini bu ortamdan çıkarın.

Mümkünse dış ağ erişimini sınırlayın. Ajan rastgele sunuculara erişemiyor veya sırları dışarı gönderemiyorsa zehirli kaynağın etkisi azalır.

5. Yüksek etkili araç çağrılarında onay isteyin

Klonlama son risk değildir; asıl risk sonrasında olandır. Shell komutları, paket yükleme, kimlik bilgilerine erişim, çalışma alanı dışına yazma ve yeni alan adlarına ağ bağlantısı için açık onay isteyin.

OWASP, prompt injection savunmasının temel parçaları olarak en az yetkiyi, yüksek riskli işlemlerde insan onayını ve güvenilmeyen haricî içeriğin güvenilir talimatlardan ayrılmasını öneriyor. OWASP LLM01: Prompt Injection

6. Mevcut olduğunda paket kaynağını doğrulayın

npm projelerinde provenance bilgisi, yayımlanan paketi kaynak deposuna ve derleme iş akışına bağlayabilir. Bu, kodun zararsız olduğunun kanıtı değildir; ancak doğru kaynağa baktığınıza dair doğrulanabilir bilgi sağlar. npm CLI, kayıt imzalarını ve attestasyonları kontrol edebilir:

Terminal window
npm audit signatures

npm paket kaynağını görüntüleme belgeleri


Ajan ve pazar yeri geliştiricileri neyi değiştirmeli?

Bireysel dikkat platform seviyesindeki sorunu tek başına çözemez. Ajan sistemleri:

  • Depo ve becerileri serbest metinle URL üretmek yerine yetkili arama API’leriyle çözümlemeli.
  • Kimliği veya sahipliği doğrulanamayan kaynakları çekmeyi reddetmeli.
  • Çekilen tüm içeriği yüksek öncelikli talimat değil, güvenilmeyen veri olarak işaretlemeli.
  • Onay öncesinde tam sahip, URL, oluşturulma geçmişi ve istenen araç etkilerini göstermeli.
  • Çekme, okuma ve çalıştırmayı ayrı ayrı yetkilendirilen adımlara bölmeli.
  • Üçüncü taraf becerilerini en az yetki, sınırlı kimlik bilgileri ve ağ izin listeleriyle çalıştırmalı.
  • Popüler projeler çevresinde yeni açılan benzer isimli kaynakları tespit etmeli.
  • Kullanıcı isteğini, çözümlenen kaynağı, çekilen içeriği, onayı ve araç çağrılarını birbirine bağlayan kayıtları saklamalı.

Temel tasarım kuralı basit: Kaynak kimliğinin doğruluk otoritesi bir dil modeli olmamalı.


Büyük ders: grounding artık bir güvenlik kontrolü

Bir sohbet botunda grounding doğruluğu artırır. Bir ajanda ise makinenize hangi kodun gireceğini ve hangi talimatın yetki kazanacağını belirler.

HalluSquatting üç zayıflık aynı anda oluştuğunda çalışır:

  1. Model kulağa gerçekçi gelen bir kimlik uydurur.
  2. Uygulama bunu yetkili bir kaynaktan doğrulamadan çeker.
  3. Ajan, çekilen metni talimat kabul eder ve harekete geçecek kadar yetkilidir.

Bu bağlantılardan birini kırmak bile riski azaltır. Üçünü birden kırmak—doğrulanmış çözümleme, güvenilmeyen içerik sınırları ve en az yetkili çalıştırma—kalıcı çözümdür.

Yapay zeka ajanları daha hızlı ve özerk hâle geliyor. Bu nedenle “Sanırım doğru depo bu” kabul edilebilir bir güvenlik kararı değildir. Bir ajan kod çekmeden, beceri yüklemeden veya README talimatlarını izlemeden önce kimlik, modelin bir sonraki token tahmininden daha güvenilir bir yöntemle doğrulanmalıdır.