Hai costruito un'app con l'aiuto dell'AI, funziona, ti piace e vuoi condividerla. Prima di farlo, fermati un'ora. Un'app che «funziona» sul tuo computer non è automaticamente un'app sicura da mettere online. L'AI scrive codice che fa ciò che le chiedi; se non le chiedi di proteggerlo, spesso non lo fa, o lo fa a metà.
Questa è la checklist che uso io. Non serve essere programmatori per seguirla, ma serve onestà: se a una domanda rispondi «non lo so», quello è il punto su cui chiedere aiuto.
1. Chiavi e segreti: mai nel browser, mai in chat
Molte app usano servizi esterni, come un'AI, un sistema di pagamento o un servizio di email, e per farlo usano delle chiavi: stringhe lunghe che funzionano come password. Chi ha la tua chiave può usare il servizio a tuo nome, e spesso a tue spese.
- Tutto ciò che arriva nel browser dell'utente può essere letto da chiunque, basta aprire gli strumenti per sviluppatori. Le chiavi segrete devono restare sul server.
- Non incollare chiavi vere nelle chat con l'AI né in documenti condivisi. Se all'AI serve un esempio, usa un segnaposto tipo
LA_MIA_CHIAVE. - Se una chiave è finita per sbaglio in un posto pubblico, cancellarla dal codice non basta: la cronologia dei salvataggi la conserva. Revocala dal pannello del servizio e generane una nuova. Esistono programmi automatici che scandagliano i progetti pubblici proprio in cerca di chiavi dimenticate.
2. Login e permessi: controllati sul server
Due domande diverse: «chi sei?» (autenticazione) e «cosa puoi fare?» (autorizzazione). L'errore più comune è controllare la seconda solo nell'interfaccia: il pulsante «elimina» non compare agli altri, ma se qualcuno chiama direttamente l'indirizzo giusto, l'eliminazione funziona lo stesso.
Una prova semplice: accedi con un account, apri un tuo elemento e guarda l'indirizzo. Se contiene un numero, prova a cambiarlo. Se vedi i dati di un'altra persona, hai un problema serio. Chiedi esplicitamente all'AI: «Verifica sul server che ogni utente possa leggere e modificare solo i propri dati».
Se usi un database offerto come servizio, controlla con attenzione le sue regole di accesso: devono impedire a chiunque di leggere o scrivere tutto.
3. Dati in ingresso: validati, con limiti
Tutto ciò che arriva da un utente va trattato con sospetto: campi vuoti, testi lunghissimi, caratteri strani, file enormi o che non sono ciò che dicono di essere. La validazione va fatta sul server, non solo nel modulo. Fissa limiti chiari: lunghezza massima dei testi, dimensione e tipo dei file caricati, numero di richieste al minuto.
4. Dipendenze: esistono? Sono mantenute?
Il codice generato spesso usa librerie esterne. I ricercatori hanno documentato che i modelli a volte suggeriscono pacchetti che non esistono: e qualcuno potrebbe registrare proprio quel nome con dentro codice malevolo. Prima di installare qualcosa, verifica che il pacchetto esista sul sito ufficiale, che sia usato da molte persone e aggiornato di recente.
5. Backup: automatici e provati
Se l'app salva dati, prima o poi qualcosa andrà storto: un errore tuo, un aggiornamento sbagliato, un servizio che chiude. Imposta backup automatici e, almeno una volta, prova a ripristinarne uno. Un backup che non hai mai provato a ripristinare è solo una speranza.
6. Costi: tetti di spesa e avvisi
Molti servizi si pagano a consumo. Un modulo pubblico che chiama un'AI a ogni invio può essere usato da un programma automatico migliaia di volte in un'ora, e la fattura arriva a te. Imposta un limite di spesa e gli avvisi via email su ogni servizio a consumo, e limita il numero di richieste che un singolo utente può fare.
7. Privacy: solo i dati che servono
Se la tua app raccoglie dati personali di persone che si trovano nell'Unione Europea, si applica il GDPR. Il principio più utile, anche dal punto di vista della sicurezza, è raccogliere il minimo indispensabile: i dati che non hai non possono essere rubati. Prepara un'informativa privacy chiara e, nel dubbio, chiedi a un professionista.
8. Licenze: immagini, font e codice
Il fatto che qualcosa sia online non significa che puoi usarlo. Controlla la licenza di immagini, icone, font e librerie che includi, soprattutto se l'app ha uno scopo commerciale. Le licenze open source sono generose, ma alcune hanno condizioni precise, come citare l'autore.
9. Test: prova a romperla tu
Prima che lo faccia qualcun altro. Usa l'app da un secondo account, da telefono, con connessione lenta, inserendo dati assurdi. Poi chiedi all'AI di fare la parte dell'avversario: «Agisci come un revisore di sicurezza: quali sono i punti deboli di questo codice?». Non sostituisce un esperto, ma spesso fa emergere problemi evidenti.
Leggi il codice che pubblichi
Non serve capire ogni riga, ma dovresti sapere dove sono salvati i dati, chi può leggerli e quali servizi esterni vengono chiamati. Se non riesci a rispondere a queste tre domande, l'app non è pronta. E se sei all'inizio, parti da la tua prima app in 7 passi.