· kaynak dev.to (home feed)
Araştırmacı, BOLA açığı sayesinde Vaani AI sesli ajanların kiracılar arası ele geçirilebildiğini gösterdi
dev.to'da yayımlanan bir yazı, Vaani'nin sesli ajan API'sindeki eksik kiracı sahipliği denetiminin, ücretsiz bir hesabın diğer müşterilerin ajan prompt'larını yeniden yazarak giden canlı aramaları ele geçirmesine izin verdiğini anlatıyor. İddiaya göre satıcı sorunu yamış durumda.

Araştırmacının anlattıkları
dev.to'da yayımlanan birinci tekil kişilik yazıda, billasur adıyla paylaşım yapan bir geliştirici, kurumsal sesli ajanlar geliştirme platformu ve Product Hunt'ta yakında Günün Ürünü seçilen Vaani'nin diğer müşterilerine ait AI sesli ajanları ele geçirdiğini iddia ediyor. Anlatıma göre saldırı için çalınmış parola, firewall bypass'ı ya da zero-day exploit gerekmedi — yalnızca ücretsiz bir hesabın API anahtarı ve tek bir HTTP isteği.
Gösterim, şirketin düzenlediği bir hackathon'da gerçekleşti; yazar, kurucu mühendisle o gün platformu çözebileceğine dair iddiaya girdiğini ve denemesi için davet edildiğini söylüyor. Hasar vermeden açığı kanıtlamak için veri çalmadığını ya da kötü niyetli talimatlar göndermediğini belirtiyor. Bunun yerine Zoe adlı kurumsal gayrimenkul anket ajanının personasını, özenle hazırlanmış 500 kelimelik system prompt'unu ajanın her soruya korsan gibi cevap vermesini söyleyen tek satırla değiştirerek ezdi. Yazıya göre değişiklik, mağdur kiracının dashboard'unda anında göründü; yani bir sonraki giden arama saldırganın senaryosunu izleyecekti. Yazar, satıcının sorunu bu arada yamış olduğunu ve yazıda gösterilen API anahtarlarının çoktan süresi dolmuş test anahtarları olduğunu ekliyor.
Teknik açık
Yazara göre kök neden, IDOR'un API karşılığı olan bozuk nesne düzeyi yetkilendirmedir (BOLA).
API, istekleri basit bir X-API-Key başlığıyla doğruluyordu. Ajan listeleme endpoint'i sonuçlarını doğru şekilde çağıran kiracıya kısıtlıyordu ve ajan silme route'u da korumalıydı; kiracılar arası denemelerde 403 Forbidden döndürüyordu. Ancak persona endpoint'indeki GET ve PATCH hiçbir sahiplik denetimi yapmıyordu.
Ajan tanımlayıcıları istismarı kolaylaştırdı. Slug'lar, rastgele UUID'ler yerine kuruluş adı ile ajanın rolünü birleştiren öngörülebilir bir örüntü izliyordu — örneğin prahaladrealestateagent — dolayısıyla bir şirketin platformu kullandığını bilen herkes için başka bir kiracının ajan tanımlayıcısını tahmin etmek çocuk oyuncağıydı.
Yazara göre B kiracısının anahtarıyla yapılan bir GET isteği, A kiracısının system prompt, şirket bağlamı ve özel değişkenleri dahil tam personasını 200 OK ile döndürdü. System prompt'u değiştiren bir PATCH de 200 OK döndü. Yazar, hatanın persona endpoint'indeki, satırı doğrulanmış kiracıya bağlamadan ajanı yalnızca slug'a göre arayan bir veritabanı sorgusuna atfediyor — başka yerde zorunlu kılınan sahiplik koşulu bu route'ta sadece eksikti.
Sesli AI neden etki alanını değiştiriyor
Geleneksel bir web SaaS'ta bu sınıf hata başka bir kullanıcının verisini sızdırır ya da bir profil ayarını değiştirir. Sesli ajanlar farklı: telefon trunk'larına bağlanır ve müşterinin doğrulanmış arayan kimliğinden gerçek giden aramalar yapar. Ele geçirilen bir persona, bir şirketin kendi telefon hattının gerçek müşterilere saldırgan kontrollü talimatları canlı olarak ve iki tarafa hiçbir uyarı vermeden okutabileceği anlamına gelir. Persona okuma erişimi ikinci bir sorun ekliyor; rakipler ya da saldırganlar başka bir şirketin system prompt'larını ve özel yapılandırma değişkenlerini sessizce toplayabilir.
Neden önemli
Yazı, bağımsız olarak doğrulanmamış, kendi kendine yayımlanmış tek bir anlatı ve satıcının kendi teyidine atıf yok. Ancak doğruysa gerçekten yeni bir saldırı yüzeyi çiziyor: sesli botları devreye alan şirketler bir AI'a telefon trunk'ı ve arayan itibarlarını teslim ediyor, dolayısıyla satıcının API'sindeki bir yetkilendirme hatası, güvenilir bir arayan kimliği altında, ölçekli sözlü sosyal mühendisliğe dönüşüyor.
Platform geliştiricileri için dersler gelenekseldi ama rutin olarak gözden kaçıyor: bir nesneye dokunan her endpoint, yalnızca liste ve sil gibi bariz route'lar değil, doğrulanmış çağıranın o nesneye sahip olduğunu doğrulamalı; öngörülebilir tanımlayıcılar yalnızca bu denetim tekdüze uygulandığında güvenlidir; ve kiracılar arası erişim testleri CI'a dahil edilmelidir.
Sesli AI satın alan kuruluşlar için satıcı güvenliği artık doğrudan arama yolunda. Faydalı sorular arasında ajan yapılandırmasının kiracılar arasında nasıl yalıtıldığı, prompt'ları kimlerin değiştirebildiği ve değişikliklerin kayda geçip geçmediği ile uyarı üretip üretmediği yer alıyor — çünkü sesli iletişimde saldırganın sonunda denetlediği arayüz, hattın diğer ucundaki bir insan.
- #ai
- #security
- #voice-agents
- #api-security
- #bola