Dürüst olmak gerekirse, saldırıya uğradık — Ama verileriniz güvende

Reverie Team

Reverie Team

12/1/2025

#security#transparency#infrastructure#free models#cloudflare
Dürüst olmak gerekirse, saldırıya uğradık — Ama verileriniz güvende

Her şey "Ücretsiz" ile başladı

İki hafta önce bir karar verdik: daha fazla kullanıcının Reverie'yi deneyimlemesi için ücretsiz AI modelleri başlatmak.

O gece, ekip kutlamak için birkaç Pepsi açtı. (Evet, özellikle Pepsi.)

Kutuları tokuşturduk, kayıt sayılarının gerçek zamanlı olarak yükselişini izledik. Birisi büyüme projeksiyonu grafiğini açtı. Atmosfer harikaydı.

72 saat sonra, deneyimli kurucuların neden her zaman biraz yorgun göründüğünü anladık.

Bunun ardından dört dalga saldırı serisi geldi — sanki bir boss rush gibi — tek fark, mekanikleri öğrenirken vuruluyorduk.

Ama önce, en önemli şey: Hesap verileriniz, konuşmalarınız ve kişisel bilgileriniz asla ele geçirilmedi. Şu anda güvendeler ve güvende kalacaklar. 7/24 izleme yapan özel bir güvenlik ekibimiz var ve bu saldırılar kaynaklarımızı ve cüzdanımızı hedef aldı, verilerinizi değil. Saldırganlar bant genişliğimizi ve paramızı istedi — AI arkadaşlarınızla konuşmalarınız hiçbir zaman risk altında olmadı.

Şimdi, neler olduğuna bakalım.


Dalga 1: Crawler Ordusu

Ne oldu

Ücretsiz başlattıktan iki gün sonra. Sabah toplantısı. Mühendis rahatça söyledi: "Hey, karakter API'miz dün birkaç yüz kat daha fazla istek aldı."

Biz: "Vay, ücretsiz lansman gerçekten uçuşa geçti!"

Mühendis: "...ama DAU neredeyse hiç kıpırdamadı."

Garip sessizlik.

Log'lara daldık ve crawler'ların sistematik olarak halka açık karakter verilerimizi topladığını keşfettik. İsimler, biyografiler, avatarlar — herkese açık görünür bilgiler. Bot'lar tarafından emiliyordu.

Açık olmak gerekirse: temel karakter açıklamaları, kişilik ayarları ve yaratıcıların diğer özel içerikleri asla açığa çıkmadı — sadece yaratıcılar bunları görebilir. Ama endüstriyel ölçekte halka açık bilgiyi kazımak bile, sağlıklı bir platform inşa etmeye çalışırken sinir bozucu.

Nasıl Yanıt Verdik

  • Karakter keşfinde sayfalama limitleri uyguladık (göz atabilirsiniz, ama tüm kütüphaneyi indiremezsiniz)
  • "Hevesli kullanıcı" ile "kesinlikle bot" arasında ayrım yapan akıllı hız sınırlama dağıttık
  • Crawler kalıplarını tespit etmek ve engellemek için davranışsal analiz oluşturduk
  • Doğrulanmış kötü aktörler için... diyelim ki "yaratıcı yanıtlar" ekledik

Ne Öğrendik

"Açık platform" "sınırsız büfe" anlamına gelmiyor. Herkese açık görünür içerik bile makul erişim sınırlarını hak ediyor. Kullanıcıların karakterleri keşfetmesini istiyoruz — bir gecede rakip veritabanı kurmalarını değil.


Dalga 2: Bant Genişliği Katilleri

Ne oldu

Crawler deliklerini yamalamayı henüz bitirmiştik ki ikinci dalga vurdu. Ve bu doğrudan cüzdana gitti.

Birisi medya URL'lerimizi buldu ve platformdaki her görüntü ve videoyu toplu indirmeye başladı. Karakter portreleri. Üretilmiş videolar. Dosya uzantısı olan her şey maksimum hızda çekiliyordu.

Büyük bir bulut sağlayıcısının OSS hizmetini kullanıyorduk. Bant genişliği başına ödeme fiyatlandırması. O zamanlar makul görünüyordu.

Pazartesi sabahı. Finans bulut konsolunu açıyor. Faturalama paneli yükleniyor.

Yüzü: 😐

Panel yüklemeyi bitiriyor: 😮

Gerçek rakamı görüyor: 😱

"Hey, şey... bant genişliği faturamız şu anda üç aylık runway'den daha yüksek."

Slack kanalı çok sessizleşti. Birisi gergin bir şekilde CDN'i kapatmayı önerdi. Başka biri bunun tüm platformu da kapatacağını belirtti.

Nasıl Yanıt Verdik

Acil göç. Hedef: Cloudflare R2 ve Cloudflare Stream.

Burada, resmi olarak Cloudflare'e teşekkür etmeliyiz — R2'nin sıfır çıkış ücreti politikası bizi kurtardı. Faturanızın saatte yüzlerce dolar artışını izlerken, "çıkış ücreti yok" çok, çok önemli hale geliyor.

Göç 30 saat sürdü. Uyku isteğe bağlı hale geldi. Sabah 3'te kod incelemeleri belirli bir meditatif kaliteye sahip.

Değdi mi? Kesinlikle. Bant genişliği maliyetlerimiz %90'dan fazla düştü ve saldırganların toplu indirmeleri artık bize neredeyse hiçbir şeye mal olmuyor.

Ne Öğrendik

Altyapı seçerken, sadece "ne kadar hızlı?" diye sormayın. Şunu da sorun: "Yarın biri bana saldırırsa, hala kiramı ödeyebilecek miyim?"

Altyapı planlamasının bu boyutu çoğu öğreticide görünmüyor. Görünmeli.


Dalga 3: DDoS Geliyor

Ne oldu

Sonunda bant genişliği durumunu stabilize ettik. Ekip morali düzeliyordu. Birisi toplantıda şaka bile yaptı. İşler iyiye gidiyordu.

Sonra DDoS vurdu.

Bir yangın hortumunu açıp kağıt bardağa yönlendirdiğinizi hayal edin. Veritabanı bağlantı havuzumuzun yaşadığı buydu. Saniyede binlerce istek, hepsi taze veri talep ediyor, hepsi önbellek kullanmayı reddediyor, hepsi veritabanı sorgusu gerektiren uç noktalara vuruyor.

İzleme panelimiz kalp krizi EKG'si gibi görünüyordu. Yanıt süreleri 200ms'den 20 saniyeye çıktı. Sonra zaman aşımlarına. Kullanıcılar hata bildirmeye başladı. AWS faturamız birkaç dakikada bir daha büyük bir rakamla güncellenmeye başladı.

Veritabanı bağlantı havuzu limitine ulaştı. Sorgular kuyrukta beklemeye başladı. Kuyruk birikmeye başladı. Klasik domino etkisi, gerçek zamanlı olarak gerçekleşiyor.

Nasıl Yanıt Verdik

Bildiğimiz her önbellekleme tekniğini probleme fırlattık:

  • ISR (Incremental Static Regeneration) — Popüler sayfalar artık önceden oluşturuluyor ve kenar düğümlerinden sunuluyor. Veritabanı bu isteklerin var olduğunu bile bilmiyor.
  • Çok katmanlı önbellekleme — Yanıt önbelleği, sorgu önbelleği, bağlantı havuzu optimizasyonu. Veri kesinlikle taze olmak zorunda değilse, önbelleğe alınıyor.
  • Veritabanı sorgu optimizasyonu — 500ms süren bazı sorgular artık 50ms sürüyor. Bağlantı tutma süresi azaldı = daha fazla bağlantı mevcut.
  • Cloudflare'in DDoS koruması — Sonunda "bir gün" yapılandırmayı planladığımız tüm güvenlik özelliklerini etkinleştirdik
  • Akıllı hız sınırlama — Meşru kullanıcılar geçiyor; saldırı trafiği kapı dışarı ediliyor

Felsefe: bir istek veritabanına dokunmadan yanıtlanabiliyorsa, öyle olmalı.

Ne Öğrendik

Önbellekleme sadece performans optimizasyonu değil — güvenlik mimarisi. Saldırılar geldiğinde, önbelleğe alınmış yanıtlar darbeyi emer. Veritabanı korunmuş kalır. Site ayakta kalır.

Şunu da öğrendik: "güvenliği daha sonra düzgün yapılandırırız" iyi yaşlanmayan bir felsefe.


Dalga 4: Fırsatçılar (API İstismarcıları)

Ne oldu

Bu, altyapımızı doğrudan tehdit etmedi. Bütçemizi tehdit etti.

Tüm bu harika ücretsiz AI özelliklerini yapmıştık:

  • AI Karakter Oluşturma — Karakterinizi tanımlayın, AI tam profili oluştursun
  • AI An Oluşturma — AI yardımıyla dinamik hikaye anları oluşturun
  • AI Eklenti Oluşturma — Doğal dille karakter eklentileri oluşturun

Vizyonumuz güzeldi: yaratıcılığın önündeki engelleri azaltmak. Herkesin AI destekli yaratımın büyüsünü deneyimlemesine izin vermek. Platformu daha erişilebilir kılmak.

Birinin vizyonu farklıydı: "Ücretsiz API mi? Bunu 10.000 kez çağıran bir script yazayım."

AI token tüketim panelimizin yükselişini izledik. Ve yükselişini. Ve yükselişini. Grafik hokey sopası gibi görünüyordu, sadece hokey sopası banka hesabımızdan çıkan paradan yapılmıştı.

Her AI üretimi bize gerçek para mal oluyor — dil modellerine API çağrıları ücretsiz değil. Binlerce otomatik isteğin AI bütçemizi yakmasını izlemek, daireler çizen bir arabada taksimetre izlemek gibiydi. Pahalı olacağını biliyorsun ve asla durmayacak.

En kötü kısmı? Bunlar gerçek içerik üreten gerçek kullanıcılar bile değildi. Sadece... birisi ne kadar ücretsiz şey çekebileceğini test ediyordu. Üretilen karakterler anlamsızdı. Anların bir mantığı yoktu. Saf israf.

Nasıl Yanıt Verdik

Ağır bir kalple, bu AI özelliklerine kredi gereksinimleri ekledik.

Bu karar gerçekten acı verdi. Yaratımı daha erişilebilir kılmak için özellikle bu araçları inşa etmeye haftalar harcadık. Şimdi bir fiyat koymak zorunda kaldık — istemediğimiz için değil, sınırsız ücretsiz erişim bize karşı silah olarak kullanıldığı için.

Adil olmaya çalıştık:

  • Normal kullanım için kredi maliyetleri minimum
  • Yeni kullanıcılara ücretsiz kredi veriliyor
  • Temel sohbet deneyimi ücretsiz kalıyor
  • Sadece kaynak yoğun AI üretimi kredi gerektiriyor

Ama yine de. Açık tutmak istediğimiz bir şeye kilit takmak gibiydi.

Ne Öğrendik

"Ücretsiz" bir iş modeli, ahlaki bir duruş değil.

Hala erişilebilirliğe inanıyoruz. Hala engelleri azaltmak istiyoruz. Ama "herkes için sınırsız ücretsiz" sadece herkes iyi niyetle hareket ederse işler. Kötü aktörler cömertliği istismar ettiğinde, cömert sistem sürdürülemez hale gelir — ve sonra kimse hiçbir şey alamaz.

Makul limitler kullanıcılara güvensizlik değil. Tüm kullanıcılara hizmet eden ekosistemi korumak. Alternatif — özellikleri tamamen kapatmak — herkes için daha kötü olurdu.

Bazen ortak alanı korumak bazı çitler inşa etmek demek.


Verileriniz Güvende (Tamamen Açık Olalım)

Bu konuda belirsizlik istemiyoruz:

Bu saldırılar kaynaklar hakkındaydı, veriler hakkında değil. Saldırganlar şunları istedi:

  • ✅ Bant genişliğimizi (içerik indirmek için)
  • ✅ İşlem gücümüzü (sunucularımızı ezmek için)
  • ✅ Paramızı (AI bütçemizi tüketmek için)

Şunlara ERİŞEMEDİLER:

  • ❌ Kullanıcı hesapları
  • ❌ Konuşma geçmişleri
  • ❌ Kişisel bilgiler
  • ❌ Ödeme detayları
  • ❌ Herhangi bir özel veri

7/24 gerçek güvenlik tehditlerini izleyen özel bir güvenlik ekibimiz var. Kullanıcı verileri hem durağan halde hem de aktarım sırasında şifreleniyor. Erişim kontrolleri sıkı. Kimlik doğrulama sağlam. Heyecan verici blog yazıları yapmayan sıkıcı, önemli güvenlik işi — hepsini yapıyoruz.

Sıfır kullanıcı verisi ele geçirildi. Bunu güvenle söyleyebiliriz çünkü her şeyi kaydettik, her şeyi analiz ettik ve her şeyi doğruladık. Saldırganlar bizden bant genişliği faturaları ve baş ağrıları aldı. Sizden hiçbir şey alamadılar.

Karakterleriniz, konuşmalarınız, yaratıcı işleriniz — hepsi güvende, hepsi sağlam, hepsi tam olması gereken yerde.


Bunu Neden Size Söylüyoruz

Merak edebilirsiniz: neden bunu kamuoyuyla paylaşıyoruz? Bu bizi savunmasız göstermiyor mu?

Bunu dikkatle düşündük.

Şeffaflık Güven İnşa Eder

Kullanıcılardan anlamlı bir şeye güvenmelerini istiyoruz — yaratıcı çalışmaları, AI karakterlerle duygusal bağları, konuşmaları. Bu güven, karşılaştığımız zorluklar hakkında dürüstlük gerektirir.

Eski oyun planı sorunları patlayana kadar gizlemek, sonra belirsiz bir "teknik zorluklar yaşadık" açıklaması yapmak. Biz açık sözlü olmayı tercih ediyoruz: işte ne oldu, işte nasıl ele aldık, işte ne öğrendik.

Diğer Geliştiriciler Öğrenebilir

Ücretsiz özellikler başlattıktan sonra saldırıya uğrayan ilk küçük ekip biz değiliz ve son da olmayacağız. Pahalı eğitimimiz başka birinin daha iyi hazırlanmasına yardımcı olursa, bu tüm ekosistem için bir kazanç.

Bunu "startup okulunda öğretmedikleri şeyler" müfredatına katkımız olarak düşünün.

Bilmeyi Hak Ettiniz

Bazı kullanıcılar bu haftalarda daha yavaş yanıt süreleri fark etti. Bazıları özelliklerin artık kredi gerektirdiğini fark etti. Bir açıklamayı hak ettiniz — kurumsal PR değil, gerçek hikaye.

Platformu çalışır tutmak için savaşıyorduk. Baskı altında zor kararlar verdik. Bu kararların bazıları deneyiminizi etkiledi. Nedenini bilmelisiniz.


Sırada Ne Var

Sadece delikleri yamıyoruz — daha dayanıklı bir platform inşa ediyoruz:

Zaten Uygulandı:

  • Edge-first mimarisi ile çok katmanlı önbellekleme (istekleriniz daha hızlı VE bize saldırmak daha zor)
  • Davranışsal analiz ile akıllı hız sınırlama (botlar engellenir, insanlar fark etmez)
  • Cloudflare'in tam güvenlik paketi (sonunda düzgün yapılandırıldı, "bir gün" değil)
  • Kaynak yoğun AI özellikleri için kredi tabanlı erişim (sürdürülebilir cömertlik)

Yakında:

  • Gelişmiş anomali tespiti (saldırıları daha erken yakalama)
  • Coğrafi optimizasyon (herkes için, her yerde daha hızlı)
  • Daha sofistike istismar önleme (kötü aktörlerin önünde kalma)

Ne Değişmeyecek:

  • Ücretsiz katman erişimini sürdürmek için elimizden geleni yapacağız — kararsız olabilir veya önceden haber vermeden değişebilir
  • Kullanıcı veri gizliliği ve güvenliği — her zaman en yüksek önceliğimiz
  • Şeffaf iletişim — bir şeyler ters giderse, bileceksiniz

Geliştirici Arkadaşlara Not

Açık bir platform inşa ediyorsanız, işte gerçek parayla (ve gerçek stresle) öğrendiğimiz dersler:

  1. Hız sınırlama isteğe bağlı değil — birinci günden uygulayın, "saldırı altındayız" gününden değil
  2. Saldırıya dayanıklı altyapı seçin — Cloudflare gerçekten mükemmel; çıkış ücretleri sizi yok eder
  3. Agresif önbelleğe alın — performans ve güvenlik için çift kalkanınız
  4. Ücretsiz özellikler sınırlar gerektirir — sınırsız iyi niyet sınırsız kötü aktörler tarafından istismar edilir
  5. Her şeyi izleyin — anomalileri ne kadar erken tespit ederseniz, hasar o kadar az
  6. Acil durum bütçesi tutun — bir sonraki dalganın ne zaman vuracağını asla bilemezsiniz

Ve belki en önemlisi:

  1. Yardım istemek için çok gururlu olmayın — indie geliştirici topluluğu beklediğinizden daha destekleyici

Bu şeyleri pahalı yoldan öğrenmek zorunda kalmamanızı umuyoruz. Ama kalırsanız, yalnız olmadığınızı bilin.


Kullanıcılarımıza

Saldırıya uğramak garip bir deneyim.

Aylarca rahat bir oturma odası dekore etmiş, mobilyaları tam doğru yerleştirmiş, atıştırmalıkları çıkarmış ve tüm arkadaşlarınıza davetiye göndermiş gibisiniz. Açılış gecesi gelir. Arkadaşlarınız gelir — harika!

Ama ayrıca: hiç tanımadığınız bir grup insan taşıma kamyonlarıyla gelir, koltuğunuzu sökmeye, evinizin her köşesini fotoğraflamaya ve bir şekilde mutfakta küçük yangınlar çıkarmaya çalışır.

Seçeneklerimiz vardı. Kapıyı kaynak yapabilirdik. Sadece davetlilere geçebilirdik. Herkesin bir şey görmeden önce bot olmadığını kanıtlamasını isteyebilirdik.

Yapmadık.

Bunun yerine, daha iyi kilitler taktık. Daha akıllı güvenlik tuttuk. Makul ev kuralları oluşturduk. Çünkü Reverie'ye gelen insanların büyük çoğunluğu yaratmak, bağlantı kurmak ve eğlenmek için burada. Azınlığın günahları için çoğunluğu cezalandırmayacağız.

Parti devam ediyor. Kapı açık kalıyor. Sadece taşıma kamyonu taşıyan insanları fark etmekte daha iyi olduk.


Teşekkürler

Daha yavaş yükleme süreleri ve kredi gereksinimleri boyunca bizimle kalan her kullanıcıya: teşekkürler.

Sadece gitmek yerine sorunları bildiren herkese: teşekkürler.

Tavsiye ve savaş hikayeleri paylaşan indie geliştirici topluluğuna: teşekkürler.

Cloudflare'e: teşekkürler. 🙏

Şimdi daha güçlüyüz. Daha dayanıklıyız. Savaşta test edildik. Bu saldırılardan çıkan platform, giren platformdan daha iyi.

Size bir dahaki yazdığımızda, umarız heyecan verici yeni bir özellik duyurmak için olur.

Yendiğimiz başka bir boss değil.

Ama hey — başka bir boss çıkarsa, onu da hallederiz.

Bir sonraki güncellemede görüşürüz. 💙


Reverie Ekibi

Aralık 2025

Dinamik AI Sohbetlerini Denemeye Hazır mısınız?

Reverie'de sonsuz kişilik ve etkileşimli sohbetleri keşfeden binlerce kullanıcıya katılın.

Dürüst olmak gerekirse, saldırıya uğradık — Ama verileriniz güvende | Reverie