Onestamente, Siamo Stati Attaccati — Ma i Vostri Dati Sono al Sicuro

Reverie Team

Reverie Team

12/1/2025

#security#transparency#infrastructure#free models#cloudflare
Onestamente, Siamo Stati Attaccati — Ma i Vostri Dati Sono al Sicuro

Tutto È Iniziato con "Gratis"

Due settimane fa, abbiamo preso una decisione: lanciare modelli AI gratuiti per permettere a più utenti di provare Reverie.

Quella sera, il team ha stappato qualche Pepsi per festeggiare. (Sì, proprio Pepsi.)

Abbiamo brindato, guardando i numeri delle registrazioni salire in tempo reale. Qualcuno ha aperto un grafico delle proiezioni di crescita. L'atmosfera era ottima.

72 ore dopo, abbiamo capito perché i fondatori esperti hanno sempre l'aria un po' stanca.

Quello che è seguito è stata una sequenza di quattro ondate di attacchi che sembrava una boss rush — solo che stavamo imparando le meccaniche mentre venivamo colpiti.

Ma prima, la cosa più importante: i dati del vostro account, le conversazioni e le informazioni personali non sono mai stati compromessi. Sono al sicuro ora e lo rimarranno. Abbiamo un team di sicurezza dedicato che monitora 24/7, e questi attacchi hanno preso di mira le nostre risorse e il nostro portafoglio, non i vostri dati. Gli attaccanti volevano la nostra banda e i nostri soldi — le vostre conversazioni con i vostri compagni AI non sono mai state a rischio.

Ora, vediamo cosa è successo.


Ondata 1: L'Esercito dei Crawler

Cosa È Successo

Secondo giorno dopo il lancio gratuito. Standup mattutino. Un ingegnere menziona casualmente: "Ehi, la nostra API dei personaggi ha ricevuto qualche centinaio di volte più richieste ieri."

Noi: "Wow, il lancio gratuito sta davvero decollando!"

Ingegnere: "...ma i DAU si sono mossi appena."

Silenzio imbarazzante.

Ci siamo tuffati nei log e abbiamo scoperto crawler che raccoglievano sistematicamente i dati pubblici dei nostri personaggi. Nomi, biografie, avatar — le informazioni pubblicamente visibili. Tutto aspirato da bot.

Per essere chiari: le descrizioni principali dei personaggi, le impostazioni della personalità e altri contenuti privati dei creatori non sono mai stati esposti — solo i creatori possono vederli. Ma anche lo scraping di informazioni pubbliche su scala industriale è frustrante quando stai cercando di costruire una piattaforma sana.

Come Abbiamo Risposto

  • Implementato limiti di paginazione sulla scoperta dei personaggi (puoi navigare, ma non puoi scaricare l'intera libreria)
  • Implementato rate limiting intelligente che distingue "utente entusiasta" da "sicuramente un bot"
  • Costruito analisi comportamentale per rilevare e bloccare i pattern dei crawler
  • Aggiunto alcune... diciamo "risposte creative" per i malintenzionati confermati

Cosa Abbiamo Imparato

"Piattaforma aperta" non significa "buffet all-you-can-eat." Anche i contenuti pubblicamente visibili meritano limiti di accesso ragionevoli. Vogliamo che gli utenti scoprano i personaggi — non che costruiscano un database concorrente in una notte.


Ondata 2: Gli Assassini della Banda

Cosa È Successo

Avevamo appena finito di tappare i buchi dei crawler quando la seconda ondata ha colpito. E questa è andata dritta al portafoglio.

Qualcuno ha scoperto i nostri URL dei media e ha iniziato a scaricare in massa ogni immagine e video sulla piattaforma. Ritratti dei personaggi. Video generati. Tutto ciò che aveva un'estensione file veniva scaricato alla massima velocità.

Stavamo usando il servizio OSS di un importante cloud provider. Prezzi a consumo per la banda. Sembrava ragionevole all'epoca.

Lunedì mattina. Il reparto finanziario apre la console cloud. La dashboard di fatturazione si carica.

La sua faccia: 😐

La dashboard finisce di caricarsi: 😮

Vede il numero effettivo: 😱

"Ehi, allora... la nostra bolletta della banda attualmente è più alta di tre mesi di runway."

Il canale Slack è diventato molto silenzioso. Qualcuno ha suggerito nervosamente di spegnere semplicemente il CDN. Qualcun altro ha fatto notare che questo avrebbe anche spento l'intera piattaforma.

Come Abbiamo Risposto

Migrazione d'emergenza. Destinazione: Cloudflare R2 e Cloudflare Stream.

Qui, dobbiamo ringraziare formalmente Cloudflare — la politica di zero costi di egress di R2 ci ha salvato. Quando guardi la tua bolletta salire di centinaia di dollari all'ora, "nessun costo di egress" diventa molto, molto rilevante.

La migrazione ha richiesto 30 ore. Il sonno è diventato opzionale. Le code review alle 3 del mattino hanno una certa qualità meditativa.

Ne è valsa la pena? Assolutamente. I nostri costi di banda sono scesi di oltre il 90%, e i download in massa degli attaccanti ora non ci costano praticamente nulla.

Cosa Abbiamo Imparato

Quando scegli l'infrastruttura, non chiederti solo "quanto è veloce?" Chiediti anche: "Se qualcuno mi attacca domani, potrò ancora permettermi l'affitto?"

Questa dimensione della pianificazione dell'infrastruttura non appare nella maggior parte dei tutorial. Dovrebbe.


Ondata 3: Arriva il DDoS

Cosa È Successo

Avevamo finalmente stabilizzato la situazione della banda. Il morale del team si stava riprendendo. Qualcuno ha persino fatto una battuta allo standup. Le cose stavano migliorando.

Poi è arrivato il DDoS.

Immagina di accendere un idrante e puntarlo su un bicchiere di carta. Questo è quello che ha sperimentato il nostro pool di connessioni al database. Migliaia di richieste al secondo, tutte che richiedevano dati freschi, tutte che rifiutavano di usare la cache, tutte che colpivano endpoint che richiedevano query al database.

La nostra dashboard di monitoraggio sembrava un ECG durante un infarto. I tempi di risposta sono passati da 200ms a 20 secondi. Poi ai timeout. Gli utenti hanno iniziato a segnalare errori. La nostra bolletta AWS ha iniziato a fare quella cosa dove si aggiorna ogni pochi minuti con un numero più grande.

Il pool di connessioni al database ha raggiunto il limite. Le query hanno iniziato ad accodarsi. La coda ha iniziato ad accumularsi. Classico fallimento a cascata, in tempo reale.

Come Abbiamo Risposto

Abbiamo lanciato ogni tecnica di caching che conoscevamo contro il problema:

  • ISR (Incremental Static Regeneration) — Le pagine popolari ora vengono pre-renderizzate e servite dai nodi edge. Il database non sa nemmeno che queste richieste esistono.
  • Caching multi-livello — Cache delle risposte, cache delle query, ottimizzazione del connection pooling. Se i dati non devono assolutamente essere freschi, vengono cachati.
  • Ottimizzazione delle query del database — Alcune query che impiegavano 500ms ora ne impiegano 50ms. Meno tempo a tenere le connessioni = più connessioni disponibili.
  • Protezione DDoS di Cloudflare — Finalmente abilitato tutte le funzionalità di sicurezza che avremmo dovuto configurare "prima o poi"
  • Rate limiting intelligente — Gli utenti legittimi passano; il traffico degli attacchi viene mostrato la porta

La filosofia: se una richiesta può essere soddisfatta senza toccare il database, dovrebbe esserlo.

Cosa Abbiamo Imparato

Il caching non è solo un'ottimizzazione delle prestazioni — è un'architettura di sicurezza. Quando arrivano gli attacchi, le risposte cachate assorbono il colpo. Il database rimane protetto. Il sito rimane online.

Abbiamo anche imparato: "configureremo la sicurezza correttamente dopo" è una filosofia che invecchia male.


Ondata 4: Gli Scrocconi (Abusatori delle API)

Cosa È Successo

Questa non ha minacciato direttamente la nostra infrastruttura. Ha minacciato il nostro budget.

Avevamo costruito tutte queste meravigliose funzionalità AI gratuite:

  • Creazione Personaggi AI — Descrivi il tuo personaggio, l'AI genera il profilo completo
  • Generazione Momenti AI — Crea momenti dinamici della storia con l'assistenza dell'AI
  • Creazione Plugin AI — Costruisci plugin per i personaggi con il linguaggio naturale

La nostra visione era bellissima: abbassare le barriere alla creatività. Far provare a tutti la magia della creazione assistita dall'AI. Rendere la piattaforma più accessibile.

La visione di qualcuno era diversa: "API gratuita? Fammi scrivere uno script che la chiama 10.000 volte."

Abbiamo guardato la nostra dashboard del consumo di token AI salire. E salire. E salire. Il grafico sembrava una mazza da hockey, solo che la mazza era fatta di soldi che uscivano dal nostro conto in banca.

Ogni generazione AI ci costa soldi veri — le chiamate API ai modelli linguistici non sono gratuite. Guardare migliaia di richieste automatizzate bruciare il nostro budget AI sembrava come guardare un tassametro in un'auto che gira in tondo. Sai che sarà costoso, e non si fermerà mai.

La parte peggiore? Non erano nemmeno utenti reali che creavano contenuti reali. Era solo... qualcuno che testava quanta roba gratis poteva estrarre. I personaggi generati erano incomprensibili. I momenti non avevano senso. Puro spreco.

Come Abbiamo Risposto

Con il cuore pesante, abbiamo aggiunto requisiti di crediti a queste funzionalità AI.

Questa decisione ci ha fatto davvero male. Abbiamo passato settimane a costruire questi strumenti specificamente per rendere la creazione più accessibile. Ora dovevamo metterci un prezzo — non perché volevamo, ma perché l'accesso gratuito illimitato veniva usato come arma contro di noi.

Abbiamo cercato di essere equi:

  • I costi in crediti sono minimi per l'uso normale
  • I crediti gratuiti vengono dati ai nuovi utenti
  • L'esperienza di chat principale rimane gratuita
  • Solo la generazione AI ad alta intensità di risorse richiede crediti

Ma comunque. Sembrava come mettere un lucchetto su qualcosa che volevamo tenere aperto.

Cosa Abbiamo Imparato

"Gratis" è un modello di business, non una posizione morale.

Crediamo ancora nell'accessibilità. Vogliamo ancora abbassare le barriere. Ma "gratis illimitato per tutti" funziona solo se tutti agiscono in buona fede. Quando i malintenzionati sfruttano la generosità, il sistema generoso diventa insostenibile — e poi nessuno ottiene nulla.

I limiti ragionevoli non sono sfiducia verso gli utenti. Sono protezione dell'ecosistema che serve tutti gli utenti. L'alternativa — chiudere completamente le funzionalità — sarebbe peggio per tutti.

A volte proteggere i beni comuni significa costruire qualche recinzione.


I Vostri Dati Sono al Sicuro (Siamo Assolutamente Chiari)

Vogliamo essere inequivocabili su questo:

Questi attacchi riguardavano le risorse, non i dati. Gli attaccanti volevano:

  • ✅ La nostra banda (per scaricare contenuti)
  • ✅ La nostra capacità di calcolo (per sovraccaricare i nostri server)
  • ✅ I nostri soldi (per prosciugare il nostro budget AI)

NON hanno avuto accesso a:

  • ❌ Account utenti
  • ❌ Cronologie delle conversazioni
  • ❌ Informazioni personali
  • ❌ Dettagli di pagamento
  • ❌ Qualsiasi dato privato

Abbiamo un team di sicurezza dedicato che monitora le minacce di sicurezza reali 24/7. I dati degli utenti sono crittografati a riposo e in transito. I controlli di accesso sono rigorosi. L'autenticazione è robusta. Il lavoro di sicurezza noioso e importante che non fa notizia nei blog — lo facciamo tutto.

Zero dati utente sono stati compromessi. Possiamo affermarlo con sicurezza perché abbiamo loggato tutto, analizzato tutto e verificato tutto. Gli attaccanti hanno ottenuto da noi bollette di banda e mal di testa. Non hanno ottenuto nulla da voi.

I vostri personaggi, le vostre conversazioni, il vostro lavoro creativo — tutto al sicuro, tutto intatto, tutto esattamente dove dovrebbe essere.


Perché Ve Lo Stiamo Raccontando

Potreste chiedervi: perché condividere questo pubblicamente? Non ci fa sembrare vulnerabili?

Ci abbiamo pensato attentamente.

La Trasparenza Costruisce Fiducia

Stiamo chiedendo agli utenti di fidarsi di noi per qualcosa di significativo — il loro lavoro creativo, le loro connessioni emotive con i personaggi AI, le loro conversazioni. Quella fiducia richiede onestà sulle sfide che affrontiamo.

Il vecchio copione è nascondere i problemi fino a quando non esplodono, poi rilasciare una vaga dichiarazione "abbiamo sperimentato difficoltà tecniche". Preferiamo essere diretti: ecco cosa è successo, ecco come lo abbiamo gestito, ecco cosa abbiamo imparato.

Altri Builder Possono Imparare

Non siamo il primo piccolo team ad essere attaccato dopo aver lanciato funzionalità gratuite, e non saremo gli ultimi. Se la nostra costosa educazione aiuta qualcun altro a prepararsi meglio, è una vittoria per tutto l'ecosistema.

Considerate questo il nostro contributo al curriculum "cose che non ti insegnano alla startup school".

Meritavate di Sapere

Alcuni utenti hanno notato tempi di risposta più lenti durante queste settimane. Alcuni hanno notato che le funzionalità ora richiedono crediti. Meritavate una spiegazione — non PR aziendale, ma la storia vera.

Stavamo lottando per mantenere la piattaforma in funzione. Abbiamo preso decisioni difficili sotto pressione. Alcune di quelle decisioni hanno influenzato la vostra esperienza. Dovreste sapere perché.


Cosa Viene Dopo

Non stiamo solo tappando buchi — stiamo costruendo una piattaforma più resiliente:

Già Implementato:

  • Caching multi-livello con architettura edge-first (le vostre richieste sono più veloci E siamo più difficili da attaccare)
  • Rate limiting intelligente con analisi comportamentale (i bot vengono bloccati, gli umani non se ne accorgono)
  • La suite completa di sicurezza di Cloudflare (finalmente configurata correttamente, non "prima o poi")
  • Accesso basato sui crediti per le funzionalità AI ad alta intensità di risorse (generosità sostenibile)

In Arrivo:

  • Rilevamento anomalie migliorato (catturare gli attacchi prima)
  • Ottimizzazione geografica (più veloce per tutti, ovunque)
  • Prevenzione abusi più sofisticata (stare avanti ai malintenzionati)

Cosa Non Cambierà:

  • Faremo del nostro meglio per mantenere l'accesso al tier gratuito — anche se potrebbe essere instabile o cambiare senza preavviso
  • Privacy e sicurezza dei dati utente — sempre la nostra massima priorità
  • Comunicazione trasparente — se qualcosa va storto, lo saprete

Una Nota ai Fellow Builder

Se state costruendo una piattaforma aperta, ecco le lezioni che abbiamo pagato con soldi veri (e stress vero) per imparare:

  1. Il rate limiting non è opzionale — implementatelo dal primo giorno, non dal giorno "siamo sotto attacco"
  2. Scegliete infrastruttura resistente agli attacchi — Cloudflare è genuinamente eccellente; i costi di egress vi distruggeranno
  3. Cachate aggressivamente — è il vostro doppio scudo per prestazioni e sicurezza
  4. Le funzionalità gratuite hanno bisogno di confini — la buona volontà illimitata viene sfruttata da malintenzionati illimitati
  5. Monitorate tutto — prima rilevate le anomalie, minore è il danno
  6. Tenete un budget di emergenza — non sapete mai quando arriva la prossima ondata

E forse la cosa più importante:

  1. Non siate troppo orgogliosi per chiedere aiuto — la comunità degli sviluppatori indie è più solidale di quanto vi aspettereste

Speriamo che non dobbiate imparare queste cose nel modo costoso. Ma se dovete, sappiate che non siete soli.


Ai Nostri Utenti

Essere attaccati è un'esperienza strana.

È come se aveste passato mesi a decorare un accogliente salotto, sistemato i mobili nel modo giusto, messo fuori gli snack, e inviato inviti a tutti i vostri amici. Arriva la serata di apertura. I vostri amici si presentano — meraviglioso!

Ma anche: un gruppo di persone che non avete mai incontrato si presenta con camion per traslochi, tentando di smontare il vostro divano, fotografare ogni angolo della vostra casa, e in qualche modo anche appiccare piccoli incendi in cucina.

Avevamo delle opzioni. Potevamo saldare la porta chiusa. Andare solo su invito. Far dimostrare a tutti di non essere un bot prima di vedere qualsiasi cosa.

Non l'abbiamo fatto.

Invece, abbiamo installato serrature migliori. Assunto sicurezza più intelligente. Costruito regole della casa ragionevoli. Perché la stragrande maggioranza delle persone che vengono su Reverie sono qui per creare, connettersi e divertirsi. Non puniremo i molti per i peccati dei pochi.

La festa continua. La porta rimane aperta. Siamo solo diventati più bravi a individuare le persone con i camion per traslochi.


Grazie

A ogni utente che è rimasto con noi attraverso tempi di caricamento più lenti e requisiti di crediti: grazie.

A tutti quelli che hanno segnalato problemi invece di andarsene: grazie.

Alla comunità degli sviluppatori indie che ha condiviso consigli e storie di guerra: grazie.

A Cloudflare: grazie. 🙏

Ora siamo più forti. Più resilienti. Temprati dalla battaglia. La piattaforma che è emersa da questi attacchi è migliore di quella che ci è entrata.

La prossima volta che vi scriviamo, speriamo sia per annunciare una nuova entusiasmante funzionalità.

Non un altro boss che abbiamo sconfitto.

Ma ehi — se arriva un altro boss, ce la faremo anche con quello.

Ci vediamo nel prossimo aggiornamento. 💙


Il Team Reverie

Dicembre 2025

Pronto a sperimentare conversazioni dinamiche con l'IA?

Unisciti a migliaia di utenti che già esplorano personalità infinite e interazioni coinvolgenti su Reverie.

Onestamente, Siamo Stati Attaccati — Ma i Vostri Dati Sono al Sicuro | Reverie