LaunchLint Academy

La risposta breve
Una WebView è il confine tra contenuto web e capacità native. Tratta ogni navigazione come input non affidabile.
- Limita origin e path, riduci il bridge e prova auth, download, file ed errori nella release firmata.
Prove necessarie per la pubblicazione
Non controllare sicurezza webview nelle app ibride come impostazione isolata. Collegalo a sicurezza WebView nelle app ibride, all’artefatto di produzione firmato e ai valori della console. Annota quale file genera l’impostazione, se un framework o plugin può modificarla durante la build e come hai verificato il valore risolto. Una voce plausibile nel progetto non dimostra che il binario caricato contenga la stessa configurazione.
Separa tre livelli di prova per sicurezza WebView nelle app ibride: configurazione visibile nei file, comportamento su un dispositivo pulito e impostazioni esterne in Apple Developer, App Store Connect o Play Console. Il controllo è affidabile solo quando descrivono lo stesso candidato. Assegna ogni differenza a un responsabile con un criterio di stop.
Prove necessarie per la pubblicazione
- Valore di produzione per mappare le webview identificato
- File o impostazione responsabile collegato
- Configurazione nativa risolta controllata
- Artefatto firmato provato su dispositivo pulito
- Differenze iOS e Android documentate
- Ogni differenza ha responsabile e criterio di stop
1. Mappare le WebView
Registra URL, navigazione, dati, cookie, download e capacità.
Non controllare mappare le webview come impostazione isolata. Collegalo a sicurezza WebView nelle app ibride, all’artefatto di produzione firmato e ai valori della console. Annota quale file genera l’impostazione, se un framework o plugin può modificarla durante la build e come hai verificato il valore risolto. Una voce plausibile nel progetto non dimostra che il binario caricato contenga la stessa configurazione.
Prove necessarie per la pubblicazione
- Valore di produzione per mappare le webview identificato
- File o impostazione responsabile collegato
- Configurazione nativa risolta controllata
- Artefatto firmato provato su dispositivo pulito
- Differenze iOS e Android documentate
- Ogni differenza ha responsabile e criterio di stop
2. Definire le origin
Valida schema, host e porta completi.
Non controllare definire le origin come impostazione isolata. Collegalo a sicurezza WebView nelle app ibride, all’artefatto di produzione firmato e ai valori della console. Annota quale file genera l’impostazione, se un framework o plugin può modificarla durante la build e come hai verificato il valore risolto. Una voce plausibile nel progetto non dimostra che il binario caricato contenga la stessa configurazione.
Prove necessarie per la pubblicazione
- Valore di produzione per definire le origin identificato
- File o impostazione responsabile collegato
- Configurazione nativa risolta controllata
- Artefatto firmato provato su dispositivo pulito
- Differenze iOS e Android documentate
- Ogni differenza ha responsabile e criterio di stop
3. Ridurre i bridge
Esponi solo metodi necessari e valida i messaggi.
Non controllare ridurre i bridge come impostazione isolata. Collegalo a sicurezza WebView nelle app ibride, all’artefatto di produzione firmato e ai valori della console. Annota quale file genera l’impostazione, se un framework o plugin può modificarla durante la build e come hai verificato il valore risolto. Una voce plausibile nel progetto non dimostra che il binario caricato contenga la stessa configurazione.
Prove necessarie per la pubblicazione
- Valore di produzione per ridurre i bridge identificato
- File o impostazione responsabile collegato
- Configurazione nativa risolta controllata
- Artefatto firmato provato su dispositivo pulito
- Differenze iOS e Android documentate
- Ogni differenza ha responsabile e criterio di stop
4. Limitare i file
Disattiva accessi file e content non necessari.
Non controllare limitare i file come impostazione isolata. Collegalo a sicurezza WebView nelle app ibride, all’artefatto di produzione firmato e ai valori della console. Annota quale file genera l’impostazione, se un framework o plugin può modificarla durante la build e come hai verificato il valore risolto. Una voce plausibile nel progetto non dimostra che il binario caricato contenga la stessa configurazione.
Prove necessarie per la pubblicazione
- Valore di produzione per limitare i file identificato
- File o impostazione responsabile collegato
- Configurazione nativa risolta controllata
- Artefatto firmato provato su dispositivo pulito
- Differenze iOS e Android documentate
- Ogni differenza ha responsabile e criterio di stop
5. Controllare la navigazione
Gestisci redirect, finestre, download e intent.
Non controllare controllare la navigazione come impostazione isolata. Collegalo a sicurezza WebView nelle app ibride, all’artefatto di produzione firmato e ai valori della console. Annota quale file genera l’impostazione, se un framework o plugin può modificarla durante la build e come hai verificato il valore risolto. Una voce plausibile nel progetto non dimostra che il binario caricato contenga la stessa configurazione.
Prove necessarie per la pubblicazione
- Valore di produzione per controllare la navigazione identificato
- File o impostazione responsabile collegato
- Configurazione nativa risolta controllata
- Artefatto firmato provato su dispositivo pulito
- Differenze iOS e Android documentate
- Ogni differenza ha responsabile e criterio di stop
6. Proteggere le sessioni
Controlla cookie, token, OAuth e logout.
Non controllare proteggere le sessioni come impostazione isolata. Collegalo a sicurezza WebView nelle app ibride, all’artefatto di produzione firmato e ai valori della console. Annota quale file genera l’impostazione, se un framework o plugin può modificarla durante la build e come hai verificato il valore risolto. Una voce plausibile nel progetto non dimostra che il binario caricato contenga la stessa configurazione.
Prove necessarie per la pubblicazione
- Valore di produzione per proteggere le sessioni identificato
- File o impostazione responsabile collegato
- Configurazione nativa risolta controllata
- Artefatto firmato provato su dispositivo pulito
- Differenze iOS e Android documentate
- Ogni differenza ha responsabile e criterio di stop
7. Esaminare Capacitor
Inventaria navigazione, server e plugin.
Non controllare esaminare capacitor come impostazione isolata. Collegalo a sicurezza WebView nelle app ibride, all’artefatto di produzione firmato e ai valori della console. Annota quale file genera l’impostazione, se un framework o plugin può modificarla durante la build e come hai verificato il valore risolto. Una voce plausibile nel progetto non dimostra che il binario caricato contenga la stessa configurazione.
Prove necessarie per la pubblicazione
- Valore di produzione per esaminare capacitor identificato
- File o impostazione responsabile collegato
- Configurazione nativa risolta controllata
- Artefatto firmato provato su dispositivo pulito
- Differenze iOS e Android documentate
- Ogni differenza ha responsabile e criterio di stop
8. Provare gli attacchi
Usa URL manipolati, iframe e contenuto compromesso.
Non controllare provare gli attacchi come impostazione isolata. Collegalo a sicurezza WebView nelle app ibride, all’artefatto di produzione firmato e ai valori della console. Annota quale file genera l’impostazione, se un framework o plugin può modificarla durante la build e come hai verificato il valore risolto. Una voce plausibile nel progetto non dimostra che il binario caricato contenga la stessa configurazione.
Prove necessarie per la pubblicazione
- Valore di produzione per provare gli attacchi identificato
- File o impostazione responsabile collegato
- Configurazione nativa risolta controllata
- Artefatto firmato provato su dispositivo pulito
- Differenze iOS e Android documentate
- Ogni differenza ha responsabile e criterio di stop
Domande frequenti
Capacitor è sicuro di default?
No. Dipende da origin, plugin e configurazione.
Disattivare JavaScript?
Sì se non serve; altrimenti limita contenuti e bridge.
Basta una allowlist?
No. Contano anche path, redirect e autorizzazione.
Cosa non prova l’analisi statica?
Non osserva tutti i contenuti e redirect dinamici.