Lavoro da decenni con il software aziendale e con la sua introduzione nelle imprese. Ma non sono un programmatore, e non avevo in mente di costruire un prodotto di sicurezza.
Tutto è cominciato con un video. All'inizio del 2025, poche settimane dopo che OpenAI aveva aperto al pubblico il suo modello video Sora, ho guardato filmati di persone mai esistite, e non riuscivo a distinguerli da riprese vere. Il mio primo pensiero è stato: molto presto non potrai più fidarti di nessuno che incontri online. Né del volto in videochiamata, né della voce al telefono.
Quel pensiero è diventato il nucleo di Trusted Codes. A trasformarlo da idea in prodotto sono state due truffe nella mia cerchia. Hanno dimostrato che il pericolo era reale, e mi hanno fatto capire che andava ben oltre le riunioni online.
Due casi, uno schema
Il primo ha colpito l'azienda di mia moglie. Un'e-mail aziendale falsificata ha portato a un pagamento di quasi 100.000 € a dei criminali. I soldi erano spariti, e non sono più tornati. Nelle statistiche si chiama business email compromise, compromissione della posta aziendale. Per le persone coinvolte è uno shock che non finisce con la chiusura dei conti.
Il secondo è stato peggio, in un altro modo. Una mamma nostra amica ha ricevuto una telefonata dalla figlia. Era senza dubbio la voce della figlia: diceva di aver avuto un incidente e di aver bisogno di soldi. La madre era pronta a pagare. Ha esitato per un solo motivo: la cifra era insolitamente alta per un incidente. Quel piccolo dubbio ha salvato i soldi.
La figlia non aveva mai chiamato. La sua voce era stata clonata dai video che aveva pubblicato su Instagram. Per giorni la madre è rimasta scossa. Aveva sentito sua figlia, e non riusciva a credere che quella chiamata fosse stata inventata di sana pianta.
I due casi hanno lo stesso punto debole. L'e-mail sembrava autentica e la voce suonava giusta. Nessuna delle due provava chi ci fosse dall'altra parte. E nessuno dei due è avvenuto in una videochiamata: uno è arrivato per e-mail, l'altro al telefono. Un controllo che funziona solo nelle riunioni online qui non avrebbe protetto nessuno.
Prima dell'IA il problema non esisteva
La frode è antica. Nuovo è il prezzo. Fino a pochi anni fa imitare la voce di una persona precisa al punto da ingannare sua madre non era qualcosa che un criminale potesse comprare. Oggi bastano una breve registrazione e uno strumento commerciale. Lo stesso vale per le videochiamate: nel 2024 un dipendente della società di ingegneria Arup a Hong Kong ha trasferito circa 25 milioni di dollari USA dopo una videoconferenza in cui tutti gli altri partecipanti, CFO compreso, erano deepfake.
È dunque un problema creato dall'IA. La reazione più ovvia è combatterlo con altra IA: software di rilevamento che ascolta una chiamata e stima se la voce è sintetica. Capisco l'idea, ma non mi fido. Un rilevatore restituisce una probabilità, e gareggia con generatori che migliorano ogni mese. Ogni miglioramento del rilevatore diventa materiale di addestramento per il generatore successivo. E le persone non fanno meglio: in uno studio pubblicato su PLOS ONE nel 2023, chi ascoltava ha riconosciuto il parlato sintetico solo nel 73 percento dei casi, e l'addestramento è servito a poco.
Le parole in codice sono più vecchie dei computer
La risposta che ho trovato è antica. Gli eserciti usano parole d'ordine da quando esistono le sentinelle. Durante il D-Day, nel 1944, i paracadutisti alleati in Normandia si riconoscevano al buio con una parola d'ordine e una controparola: uno chiamava "Flash" (lampo), l'altro rispondeva "Thunder" (tuono). Molte famiglie concordano una parola in codice per le emergenze per lo stesso motivo.
Una parola in codice funziona perché non dipende da come qualcosa appare o suona. Dipende da ciò che l'altra persona sa. Una voce clonata può dire qualsiasi cosa, tranne la parola che nessuno le ha mai detto.
La parola in codice di famiglia ha però dei punti deboli. Non cambia mai, quindi una volta che qualcuno l'ha sentita o è finita scritta in una chat, è bruciata. Nessuno si ricorda di concordarne una nuova. E copre solo la famiglia, non il collega che chiede un bonifico o il fornitore con nuove coordinate bancarie.
Cosa fa Trusted Codes
Trusted Codes conserva il principio ed elimina quei punti deboli. Due persone, o un team, si connettono una volta. Da lì in poi i loro telefoni mostrano le stesse tre parole, e le parole cambiano a intervalli fissi. Quando una chiamata, un messaggio o un'e-mail chiede qualcosa di insolito, chiedi: "Qual è il nostro codice?" Se le parole coincidono, è la persona con cui sei connesso. Se non coincidono, riattacchi.
La parte importante è come nascono le parole. In quel passaggio non c'è IA. Un segreto condiviso e l'ora attuale entrano in un algoritmo standard e documentato pubblicamente (TOTP, lo stesso usato dalle app di autenticazione), e ne escono tre parole. Il risultato è deterministico: lo stesso segreto e la stessa ora danno sempre le stesse parole, su ogni dispositivo. Niente viene stimato, niente è probabile o improbabile. Le parole coincidono, oppure no.
È una scelta voluta. Un controllo contro le frodi basate sull'IA non dovrebbe dipendere da un modello che l'aggressore può studiare, imitare o superare con un addestramento migliore. Dovrebbe dipendere da un segreto che l'aggressore non ha.
Costruito con l'IA, da chi non scrive codice
Ora la parte che può sembrare una contraddizione. Ho costruito Trusted Codes con l'IA.
Quando ho deciso di fare qualcosa contro queste truffe, avrei potuto scrivere un concept e cercare un team di sviluppo. Ho invece imparato a lavorare con un agente di programmazione basato sull'IA, Claude Code, e lo uso in ogni fase del prodotto, non solo per scrivere codice.
Si parte dalla strategia: quali truffe si possono fermare con quale tipo di controllo, e come deve essere una soluzione per ciascuna. Poi il design: cosa vede l'utente, come funziona un invito, cosa succede quando si perde un telefono. Poi l'implementazione, poi i test, poi la verifica e la documentazione. Gran parte del lavoro consiste nell'attaccare il nostro stesso prodotto. Chiedo all'IA di forzare il codice che ha scritto, di trovare il punto debole prima di un criminale e di dimostrare sul codice ogni affermazione di sicurezza prima che la facciamo in pubblico.
Il risultato è un software aziendale completo: app per smartphone, un'app desktop, un server, portali per aziende e amministratori. Ogni sua riga è stata scritta dall'IA. Ogni decisione su cosa deve fare, e su cosa non deve fare mai, l'ha presa una persona che sa come il software aziendale viene acquistato, introdotto e gestito, e che aveva visto cosa fanno queste truffe alle persone.
Non ci vedo una contraddizione. L'IA è uno strumento. I criminali la usano per falsificare le voci. Io la uso per costruire qualcosa che rende inutili le voci falsificate. La differenza sta nel punto in cui interviene: l'IA ha scritto il software, ma nel momento della verità, quando devi sapere se la persona al telefono è reale, l'IA non c'è. (L'app ha un assistente che ti aiuta a orientarti. Nel controllo non ha alcun ruolo.)
Cosa significa per te
Per cominciare non ti serve Trusted Codes. Concorda oggi una parola in codice con la tua famiglia. Di' ai tuoi genitori che una tua chiamata in cui chiedi soldi, con la tua voce, non prova che sei tu.
Se guidi un'azienda, guarda come viene confermata una richiesta di pagamento. Se la risposta è "l'e-mail veniva dall'indirizzo giusto" o "la voce sembrava quella dell'amministratore delegato", è lo stesso punto debole che è costato quasi 100.000 € all'azienda di mia moglie. Trusted Codes rende la parola in codice adatta a un'azienda: cambia da sola, funziona al telefono, nelle videochiamate e in chat, e con i piani Business gli amministratori vedono chi ha verificato chi, e quando.
Fonti
- Videoconferenza deepfake ai danni di Arup, Hong Kong, 2024: AI Incident Database, incident 634
- Mai, K. T. et al., "Warning: Humans cannot reliably detect speech deepfakes", PLOS ONE, 2 agosto 2023: journals.plos.org
- TOTP: RFC 6238