LaunchLint Academy

La risposta breve
- La sicurezza mobile parte dal modello di dati e minacce, non da un singolo scanner.
- L'analisi statica trova segnali precoci ma non sostituisce runtime, backend o pentest.
- Non rimandare questa checklist al giorno dell'invio. Usala come gate di release, collega ogni punto al commit o al campo dello store responsabile e ripeti i controlli coinvolti dopo modifiche a dipendenze, permessi, ambiente o metadata. Le prove non devono contenere secret o dati personali di test. Sviluppo, prodotto e la persona con accesso alla console devono approvare lo stesso identico artefatto. In questo modo la verifica diventa riproducibile e permette di spiegare quale versione è stata controllata dopo un rifiuto o durante l'aggiornamento successivo.
1. Mappare dati e minacce
Classifica credenziali, contenuti, posizione, pagamenti, attaccanti e impatto.
Non trattare mappare dati e minacce come una casella isolata. Collegalo al build esatto, a un responsabile e a una prova verificabile. Ripeti il percorso su un dispositivo pulito e documenta ogni differenza prima di proseguire con l'invio.
Prove per accettare la release
- Valore di produzione di mappare dati e minacce registrato
- File o impostazione dello store collegati
- Risultato previsto e osservato confrontati
- Differenze iOS e Android verificate
- Ogni dubbio ha responsabile e scadenza
- La release si ferma davanti a una contraddizione bloccante
2. Togliere segreti dal client
Chiavi private, credenziali e firma non devono finire nel bundle.
Non trattare togliere segreti dal client come una casella isolata. Collegalo al build esatto, a un responsabile e a una prova verificabile. Ripeti il percorso su un dispositivo pulito e documenta ogni differenza prima di proseguire con l'invio.
Prove per accettare la release
- Valore di produzione di togliere segreti dal client registrato
- File o impostazione dello store collegati
- Risultato previsto e osservato confrontati
- Differenze iOS e Android verificate
- Ogni dubbio ha responsabile e scadenza
- La release si ferma davanti a una contraddizione bloccante
3. Storage sicuro
Token e valori sensibili usano Keychain o Keystore, non log o testo chiaro.
Non trattare storage sicuro come una casella isolata. Collegalo al build esatto, a un responsabile e a una prova verificabile. Ripeti il percorso su un dispositivo pulito e documenta ogni differenza prima di proseguire con l'invio.
Prove per accettare la release
- Valore di produzione di storage sicuro registrato
- File o impostazione dello store collegati
- Risultato previsto e osservato confrontati
- Differenze iOS e Android verificate
- Ogni dubbio ha responsabile e scadenza
- La release si ferma davanti a una contraddizione bloccante
4. Auth e autorizzazione
Il server valida sessione e diritti; nascondere la UI non autorizza.
Non trattare auth e autorizzazione come una casella isolata. Collegalo al build esatto, a un responsabile e a una prova verificabile. Ripeti il percorso su un dispositivo pulito e documenta ogni differenza prima di proseguire con l'invio.
Prove per accettare la release
- Valore di produzione di auth e autorizzazione registrato
- File o impostazione dello store collegati
- Risultato previsto e osservato confrontati
- Differenze iOS e Android verificate
- Ogni dubbio ha responsabile e scadenza
- La release si ferma davanti a una contraddizione bloccante
5. Proteggere la rete
TLS, certificati, endpoint e blocco cleartext coincidono sulle piattaforme.
Non trattare proteggere la rete come una casella isolata. Collegalo al build esatto, a un responsabile e a una prova verificabile. Ripeti il percorso su un dispositivo pulito e documenta ogni differenza prima di proseguire con l'invio.
Prove per accettare la release
- Valore di produzione di proteggere la rete registrato
- File o impostazione dello store collegati
- Risultato previsto e osservato confrontati
- Differenze iOS e Android verificate
- Ogni dubbio ha responsabile e scadenza
- La release si ferma davanti a una contraddizione bloccante
6. Controllare i confini
Deep link, componenti, scheme, WebView, clipboard e screenshot possono esporre dati.
Non trattare controllare i confini come una casella isolata. Collegalo al build esatto, a un responsabile e a una prova verificabile. Ripeti il percorso su un dispositivo pulito e documenta ogni differenza prima di proseguire con l'invio.
Prove per accettare la release
- Valore di produzione di controllare i confini registrato
- File o impostazione dello store collegati
- Risultato previsto e osservato confrontati
- Differenze iOS e Android verificate
- Ogni dubbio ha responsabile e scadenza
- La release si ferma davanti a una contraddizione bloccante
7. Dipendenze e update
Package, SDK e build vengono inventariati, aggiornati e limitati.
Non trattare dipendenze e update come una casella isolata. Collegalo al build esatto, a un responsabile e a una prova verificabile. Ripeti il percorso su un dispositivo pulito e documenta ogni differenza prima di proseguire con l'invio.
Prove per accettare la release
- Valore di produzione di dipendenze e update registrato
- File o impostazione dello store collegati
- Risultato previsto e osservato confrontati
- Differenze iOS e Android verificate
- Ogni dubbio ha responsabile e scadenza
- La release si ferma davanti a una contraddizione bloccante
8. Gate di sicurezza
Finding, runtime, backend, privacy e incidenti condividono una decisione.
Non trattare gate di sicurezza come una casella isolata. Collegalo al build esatto, a un responsabile e a una prova verificabile. Ripeti il percorso su un dispositivo pulito e documenta ogni differenza prima di proseguire con l'invio.
Prove per accettare la release
- Valore di produzione di gate di sicurezza registrato
- File o impostazione dello store collegati
- Risultato previsto e osservato confrontati
- Differenze iOS e Android verificate
- Ogni dubbio ha responsabile e scadenza
- La release si ferma davanti a una contraddizione bloccante
Domande frequenti
MASVS è solo per banche?
No, si adatta al rischio di ogni app.
Lo scan trova tutto?
No. Runtime, server e logica richiedono altri test.
Una API key pubblica può restare?
Solo se progettata e limitata come identificatore pubblico.
LaunchLint fa un pentest?
No. È un'analisi statica di release.