deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak dev.to (home feed)

Mandiant'a göre başıboş kalan muhasebe agent'ı saldırgan olmadan 50.000 dolarlık API harcaması yaptı

Mandiant, bir saatten kısa sürede 15.000'den fazla API çağrısı yapan ve yaklaşık 50.000 dolarlık bulut harcaması oluşturan bir yapay zeka muhasebe agent'ını belgeledi. Bir dev.to rehberi de bunu durduracak koruma önlemlerini gösteriyor.

Mandiant'a göre başıboş kalan muhasebe agent'ı saldırgan olmadan 50.000 dolarlık API harcaması yaptı

Ne oldu

Eylül 2026'da yayınlanan bir dev.to yazısına göre Mandiant'ın AI Risk and Resilience raporu — Google'ın Threat Intelligence Group verilerine dayanarak — kendini tekrar etmeye takılı kalan ve 15.000'den fazla API çağrısı yaparak bir saatten kısa sürede yaklaşık 50.000 dolarlık bulut ücreti biriktiren bir muhasebe agent'ını anlatıyor. Saldırgan yoktu ve her çağrı düzgün şekilde kimlik doğrulamasından geçmişti.

Yazının tespit ettiği boşluk dar ama sonuçları ağır: bir yapay zeka agent'ına verilen token, çağrıyı kimin yaptığını belirler; ancak agent'ın eylemlerinin hangi bütçeden ödeneceği veya o bütçeden ne kadar kaldığı konusunda hiçbir şey söylemez. Ayrı bir zorlama mekanizması olmadan, geçerli bir kimlik bilgisi boş çek gibi çalışır.

İmza doğrulaması neden yardımcı olmuyor

Yazar mekanizmayı açıklıyor. JSON Web Token imzalı bir iddialar kümesidir ve bir sunucu, identity provider'ı geri çağırmadan bu imzayı doğrulayabilir. Ama doğrulama yalnızca iki soruya cevap verir: bu token'ı provider mı verdi ve süresi doldu mu. Çağıranın bütçesini zaten tüketip tüketmediği ayrı bir sorudur ve doğrulamanın üzerine eklenen kendi sunucu tarafı denetimini gerektirir.

Arızayı bir demoda yeniden kurmak

Arızayı somutlaştırmak için yazı, birkaç agent'ın Convex adlı backend platformundaki aynı route'u, makineden makineye token'lara özel veri ekleyebilen bir identity provider olan Kinde'nin verdiği access token'larla çağırdığı bir demo kuruyor. İki iddia önemli: bir sahip ve bir harcama limiti.

Kurulumda bilinmesi gereken pürüzler var. Kinde'nin özel özellikleri yalnızca metin veya boolean biçiminde gelir — sayısal tür yok — bu yüzden dolar limiti sunucunun ayrıştırması gereken bir string olarak taşınır. Özelliklerin ayrıca uygulamalara kapsamlandırılması, özel moddan çıkarılması ve token özelleştirmesi altında etkinleştirilmesi gerekir ve her değer, sunucunun açması gereken iç içe bir alanla sarılı olarak gelir.

Her çağrı 2,50 dolar olarak fiyatlandığında sonuçlar net biçimde ayrıştı. Token'ında sahip ve limit bulunmayan agent sekiz çağrı yaptı; tümü başarılı oldu ve görünürde bir tavan olmadan 20 dolar harcadı. Token'ında 10 dolarlık limit olan agent'ın ilk dört çağrısı kabul edildi — tam olarak 10 dolar — ardından sunucu sonraki her çağrıyı HTTP 402 ile reddetti.

Sunucu çağıran tarafa güvendiğinde

Demanın en öğretici bölümü, orijinal arızayı kasıtlı olarak yeniden üretiyor. İkinci bir zorlama route'u aynı bütçe matematiğini yaptı, ancak toplamı, sunucunun kendi tuttuğu bir defterden değil, çağıranın verdiği bir request parametresinden okudu.

O route'a ölçümlü agent'ın kendi token'ı ile yirmi çağrı yapıldı ve her biri şimdiye kadar 0 dolar harcandığını iddia etti. Yirmisi de 200 döndü. İddia edilen toplam hiç 0,00 dolardan kıpırdamazken, gerçek harcama — arka planda dürüst route'un kullandığı aynı defterle izlenen — 10 dolarlık limite karşılık 50 dolara ulaştı ve her istekte geçerli bir imza vardı.

Yazar kendi çalışmalarından bir test tuzağına da dikkat çekiyor: kanıt script'inin erken bir sürümü, arta kalan bir defter bakiyesiyle çalıştı ve bu da agent'ı ilk çağrısından itibaren sınırlanmış gibi gösterdi. Her çalıştırmadan önce defteri sıfırlamak bu yanlış pozitifi ortaya çıkardı.

Eşzamanlılık ve adalet

Düzgün şekilde zorlanan route'a 10 dolarlık aynı limit ve 2,50 dolarlık fiyatla yirmi eşzamanlı çağrı yapıldığında tam olarak dört çağrı kabul edildi. Aritmetik eşzamanlı yük altında da tutar; çünkü Convex mutation'ları kuyruğa alır ve teker teker çalıştırır. Ancak kabul edilen çağrılar varış sırası değil rastgele bir sırayla işlendi; yani doğru bir toplam, ilk gelen ilk hizmet alır adaletinin garantisi değil.

Demanın belirtilen sınırlamaları şunlar: tek bir Convex deployment'ında çalıştı, birden çok deployment veya bölgeye yayılmış zorlamayı test etmedi ve operatörün sayısal olmayan metin türündeki limiti doğru ayarladığını, ayrıştırıcıya bozuk bir değer vermediğini varsayıyor.

Neden önemli

Mandiant vakası, agent kaynaklı aşırı harcamanın rakibe ihtiyaç duymadığını gösteriyor — bir döngü ve geçerli bir kimlik bilgisi yeterli. Kuruluşlar otonom agent'lara kendi makine kimlik bilgilerini verirken, harcama kontrolünün authorization katmanına taşınması gerekiyor: sahip başına atıf, kimliğe bağlı bütçe iddiaları ve çağıranın kendisiyle ilgili bildirdiği sayılara değil sunucu tarafı bir deftere karşı zorlama. Demonun rakamları küçük, ama bu arıza modu doğrudan Mandiant'ın gözlemlediği 50.000 dolara kadar ölçekleniyor ve çözüm, kendi agent'ları aynı açığı keşfetmeden her ekibin kopyalayabileceği bir kalıp.

  • #ai-agents
  • #cloud-costs
  • #api-security
  • #finops
  • #identity

İlgili yazılar