Anti-abuso e sicurezza dei codici
In anteprimaIl codice è un segreto. Lo trattiamo come tale.
Un codice monouso è valido solo quanto il modo in cui viene generato, archiviato e limitato. Bird Verify genera i codici con una fonte crittografica, archivia solo un hash, confronta a tempo costante e limita sia gli invii che i tentativi — così un log esposto o un attacco brute-force non portano da nessuna parte. Il punteggio antifrode sarà il prossimo passo su questa base.
import { BirdClient } from "@messagebird/sdk";
const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });
// Send the code, then check it by recipient.
await bird.verify.verifications.create({
to: { phone_number: "+15551234567" },
}).safe();
const { data } = await bird.verify.verifications.check({
to: { phone_number: "+15551234567" },
code: userInput,
}).safe();Sicurezza attiva di default, non un componente aggiuntivo.
Ogni verifica sulla API di Bird Verify include le stesse protezioni: il codice viene generato lato server, mai restituito, e archiviato solo come hash; i controlli avvengono a tempo costante e con un budget limitato di tentativi; gli invii sono limitati per destinatario e per workspace. Non devi attivare nulla né configurare manualmente — è così che funziona l'API, che tu la usi per l<twofa>autenticazione a due fattori</twofa> o per laccesso senza password.
Cinque protezioni su ogni verifica.
Nessun passaggio di configurazione, nessun add-on.
- 01
Generazione crittografica.
I codici vengono generati da una fonte casuale crittografica, distribuiti uniformemente nello spazio dei codici, non da un contatore o timestamp prevedibile.
- 02
Hash a riposo, mai in chiaro in uscita.
Viene archiviato solo un HMAC-SHA256 di ogni codice; il testo in chiaro non viene mai restituito dall'API né scritto nel tuo stack o nei nostri log.
- 03
Confronto a tempo costante.
I codici inviati vengono confrontati a tempo costante, così un attaccante non ricava nulla dalla durata del controllo.
- 04
Blocco dei tentativi.
Ogni sessione ha un numero limitato di controlli (5 di default). Una volta esauriti, la sessione fallisce, impedendo tentativi infiniti.
- 05
Limiti di invio e quote.
Un limite di invio per destinatario, un cooldown per il reinvio e una quota giornaliera per workspace delimitano la spesa e la superficie d'abuso, ciascuno con un 429 e Retry-After.
I tentativi si esauriscono prima dei tuoi utenti.
Un codice errato restituisce un risultato con i tentativi rimanenti, e la sessione fallisce una volta esaurito il budget — così un attacco brute-force si scontra con un muro, non con una porta aperta.
const { data } = await bird.verify.verifications.check({
to: { phone_number: "+15551234567" },
code: guess,
}).safe();
// wrong code, attempts left → { result: "invalid", attempts_remaining: 2 }
// budget spent, session done → { result: "failed", attempts_remaining: null }Prossimamente: segnali antifrode e protezione contro l'SMS pumping.
Lo storico per invio che Verify registra oggi è la base per il livello antifrode che stiamo costruendo. Si appoggia alle stesse chiamate create e check — così adottarlo in seguito sarà una modifica di configurazione, non una re-integrazione.
Segnali di rischio alla creazione. Passa dispositivo, IP e contesto della richiesta su una verifica: i tentativi ad alto rischio ricevono un esito bloccato prima ancora che il codice venga inviato — così non paghi per inviare messaggi a un attaccante.
Protezione contro SMS pumping e AIT. Limiti di invio per paese e per prefisso, più un tetto di spesa per workspace, bloccano l'attacco di traffico artificialmente gonfiato che indirizza gli OTP verso numeri premium per la condivisione dei ricavi con l'operatore.
Basato su ciò che già esiste. La valutazione del rischio legge lo storico dei tentativi che Verify conserva fin dal primo giorno, e l'esito bloccato è già parte del modello di stato — così il livello antifrode si integra senza modificare la tua integrazione.
FAQ sulla sicurezza della verifica
Dove viene archiviato il codice monouso?+
Come impedite a qualcuno di forzare il codice con un attacco brute-force?+
E per quanto riguarda l'SMS pumping e il traffico artificialmente gonfiato?+
Queste protezioni hanno un costo aggiuntivo?+
Da chi vedono arrivare il codice i miei utenti?+
Il resto della piattaforma Verify
Un'unica API, un unico set di chiavi. Scopri le altre funzionalità.
Codici generati, archiviati e con limiti di frequenza come dovrebbe essere.
La sicurezza è integrata in Bird Verify, non venduta a parte: i canali, il codice e i limiti sono gli stessi due endpoint.