LaunchLint Academy

Die kurze Antwort
Eine WebView ist eine Vertrauensgrenze zwischen Webinhalt und nativen Fähigkeiten. Sobald fremde URLs, JavaScript-Bridges, Datei-Zugriff oder sensible Sitzungen beteiligt sind, muss jede Navigation wie nicht vertrauenswürdige Eingabe behandelt werden.
- Begrenze Origins und Pfade, minimiere Bridge-Funktionen, trenne externe Links und teste Auth, Downloads, Dateiauswahl und Fehlerzustände im signierten Release.
Nachweise für die Release-Freigabe
Prüfe webview-sicherheit in hybrid-apps nicht als isolierten Schalter, sondern im Zusammenhang mit WebView-Sicherheit in Hybrid-Apps, dem tatsächlich signierten Produktionsartefakt und den Angaben in der Store-Konsole. Halte fest, welche Datei die Einstellung erzeugt, ob ein Framework oder Plugin sie beim Build verändert und wie du den aufgelösten Wert kontrolliert hast. Ein plausibler Eintrag im Quellprojekt beweist noch nicht, dass derselbe Wert im hochgeladenen Binary angekommen ist.
Trenne bei WebView-Sicherheit in Hybrid-Apps drei Nachweise: statisch erkennbare Projektkonfiguration, Verhalten auf einem sauberen Gerät und externe Einstellungen in Apple Developer, App Store Connect oder Play Console. Erst wenn diese Ebenen denselben Release-Kandidaten beschreiben, ist die Prüfung belastbar. Dokumentiere Abweichungen mit Owner und Stop-Kriterium, statt sie als vermeintlichen Standardwert zu akzeptieren.
Nachweise für die Release-Freigabe
- Produktionswert für webview-einsatz kartieren eindeutig benannt
- Verantwortliche Projektdatei oder Store-Einstellung verlinkt
- Aufgelöste native Konfiguration kontrolliert
- Signiertes Artefakt auf sauberem Gerät geprüft
- iOS- und Android-Unterschiede dokumentiert
- Offene Abweichung mit Owner und Stop-Kriterium versehen
1. WebView-Einsatz kartieren
Erfasse jede WebView, ihre Start-URL, erlaubte Navigation, Daten, Cookies, Downloads und nativen Fähigkeiten.
Prüfe webview-einsatz kartieren nicht als isolierten Schalter, sondern im Zusammenhang mit WebView-Sicherheit in Hybrid-Apps, dem tatsächlich signierten Produktionsartefakt und den Angaben in der Store-Konsole. Halte fest, welche Datei die Einstellung erzeugt, ob ein Framework oder Plugin sie beim Build verändert und wie du den aufgelösten Wert kontrolliert hast. Ein plausibler Eintrag im Quellprojekt beweist noch nicht, dass derselbe Wert im hochgeladenen Binary angekommen ist.
Nachweise für die Release-Freigabe
- Produktionswert für webview-einsatz kartieren eindeutig benannt
- Verantwortliche Projektdatei oder Store-Einstellung verlinkt
- Aufgelöste native Konfiguration kontrolliert
- Signiertes Artefakt auf sauberem Gerät geprüft
- iOS- und Android-Unterschiede dokumentiert
- Offene Abweichung mit Owner und Stop-Kriterium versehen
2. Vertrauenswürdige Origins definieren
Prüfe Schema, Host und Port vollständig. Teilstring- oder Suffixprüfungen können bösartige Domains fälschlich akzeptieren.
Prüfe vertrauenswürdige origins definieren nicht als isolierten Schalter, sondern im Zusammenhang mit WebView-Sicherheit in Hybrid-Apps, dem tatsächlich signierten Produktionsartefakt und den Angaben in der Store-Konsole. Halte fest, welche Datei die Einstellung erzeugt, ob ein Framework oder Plugin sie beim Build verändert und wie du den aufgelösten Wert kontrolliert hast. Ein plausibler Eintrag im Quellprojekt beweist noch nicht, dass derselbe Wert im hochgeladenen Binary angekommen ist.
Nachweise für die Release-Freigabe
- Produktionswert für vertrauenswürdige origins definieren eindeutig benannt
- Verantwortliche Projektdatei oder Store-Einstellung verlinkt
- Aufgelöste native Konfiguration kontrolliert
- Signiertes Artefakt auf sauberem Gerät geprüft
- iOS- und Android-Unterschiede dokumentiert
- Offene Abweichung mit Owner und Stop-Kriterium versehen
3. JavaScript-Bridges minimieren
Expose nur notwendige Methoden, validiere jede Nachricht und lade keine fremden Frames in eine WebView mit privilegierter Bridge.
Prüfe javascript-bridges minimieren nicht als isolierten Schalter, sondern im Zusammenhang mit WebView-Sicherheit in Hybrid-Apps, dem tatsächlich signierten Produktionsartefakt und den Angaben in der Store-Konsole. Halte fest, welche Datei die Einstellung erzeugt, ob ein Framework oder Plugin sie beim Build verändert und wie du den aufgelösten Wert kontrolliert hast. Ein plausibler Eintrag im Quellprojekt beweist noch nicht, dass derselbe Wert im hochgeladenen Binary angekommen ist.
Nachweise für die Release-Freigabe
- Produktionswert für javascript-bridges minimieren eindeutig benannt
- Verantwortliche Projektdatei oder Store-Einstellung verlinkt
- Aufgelöste native Konfiguration kontrolliert
- Signiertes Artefakt auf sauberem Gerät geprüft
- iOS- und Android-Unterschiede dokumentiert
- Offene Abweichung mit Owner und Stop-Kriterium versehen
4. Datei- und Content-Zugriff begrenzen
Deaktiviere unnötige file://-, Content- und Universal-File-URL-Zugriffe. Bevorzuge sichere Asset-Loader.
Prüfe datei- und content-zugriff begrenzen nicht als isolierten Schalter, sondern im Zusammenhang mit WebView-Sicherheit in Hybrid-Apps, dem tatsächlich signierten Produktionsartefakt und den Angaben in der Store-Konsole. Halte fest, welche Datei die Einstellung erzeugt, ob ein Framework oder Plugin sie beim Build verändert und wie du den aufgelösten Wert kontrolliert hast. Ein plausibler Eintrag im Quellprojekt beweist noch nicht, dass derselbe Wert im hochgeladenen Binary angekommen ist.
Nachweise für die Release-Freigabe
- Produktionswert für datei- und content-zugriff begrenzen eindeutig benannt
- Verantwortliche Projektdatei oder Store-Einstellung verlinkt
- Aufgelöste native Konfiguration kontrolliert
- Signiertes Artefakt auf sauberem Gerät geprüft
- iOS- und Android-Unterschiede dokumentiert
- Offene Abweichung mit Owner und Stop-Kriterium versehen
5. Navigation und neue Fenster kontrollieren
Behandle Redirects, target=_blank, Downloads, Intent-URLs und externe Browserübergaben ausdrücklich.
Prüfe navigation und neue fenster kontrollieren nicht als isolierten Schalter, sondern im Zusammenhang mit WebView-Sicherheit in Hybrid-Apps, dem tatsächlich signierten Produktionsartefakt und den Angaben in der Store-Konsole. Halte fest, welche Datei die Einstellung erzeugt, ob ein Framework oder Plugin sie beim Build verändert und wie du den aufgelösten Wert kontrolliert hast. Ein plausibler Eintrag im Quellprojekt beweist noch nicht, dass derselbe Wert im hochgeladenen Binary angekommen ist.
Nachweise für die Release-Freigabe
- Produktionswert für navigation und neue fenster kontrollieren eindeutig benannt
- Verantwortliche Projektdatei oder Store-Einstellung verlinkt
- Aufgelöste native Konfiguration kontrolliert
- Signiertes Artefakt auf sauberem Gerät geprüft
- iOS- und Android-Unterschiede dokumentiert
- Offene Abweichung mit Owner und Stop-Kriterium versehen
6. Auth und Sitzungen schützen
Prüfe Cookies, Token, OAuth-Callbacks, Logout und Screenshots. Web- und Native-Sitzung dürfen keine unklaren Übergänge erzeugen.
Prüfe auth und sitzungen schützen nicht als isolierten Schalter, sondern im Zusammenhang mit WebView-Sicherheit in Hybrid-Apps, dem tatsächlich signierten Produktionsartefakt und den Angaben in der Store-Konsole. Halte fest, welche Datei die Einstellung erzeugt, ob ein Framework oder Plugin sie beim Build verändert und wie du den aufgelösten Wert kontrolliert hast. Ein plausibler Eintrag im Quellprojekt beweist noch nicht, dass derselbe Wert im hochgeladenen Binary angekommen ist.
Nachweise für die Release-Freigabe
- Produktionswert für auth und sitzungen schützen eindeutig benannt
- Verantwortliche Projektdatei oder Store-Einstellung verlinkt
- Aufgelöste native Konfiguration kontrolliert
- Signiertes Artefakt auf sauberem Gerät geprüft
- iOS- und Android-Unterschiede dokumentiert
- Offene Abweichung mit Owner und Stop-Kriterium versehen
7. Capacitor und Plugins prüfen
Inventarisiere erlaubte Navigationsziele, Server-Konfiguration und Plugins. Eine komfortable Bridge erweitert die Angriffsfläche.
Prüfe capacitor und plugins prüfen nicht als isolierten Schalter, sondern im Zusammenhang mit WebView-Sicherheit in Hybrid-Apps, dem tatsächlich signierten Produktionsartefakt und den Angaben in der Store-Konsole. Halte fest, welche Datei die Einstellung erzeugt, ob ein Framework oder Plugin sie beim Build verändert und wie du den aufgelösten Wert kontrolliert hast. Ein plausibler Eintrag im Quellprojekt beweist noch nicht, dass derselbe Wert im hochgeladenen Binary angekommen ist.
Nachweise für die Release-Freigabe
- Produktionswert für capacitor und plugins prüfen eindeutig benannt
- Verantwortliche Projektdatei oder Store-Einstellung verlinkt
- Aufgelöste native Konfiguration kontrolliert
- Signiertes Artefakt auf sauberem Gerät geprüft
- iOS- und Android-Unterschiede dokumentiert
- Offene Abweichung mit Owner und Stop-Kriterium versehen
8. Angriffspfade praktisch testen
Teste manipulierte URLs, fremde iframes, Offline-Inhalte, Dateiauswahl, Zurück-Navigation und kompromittierte Inhalte auf echten Geräten.
Prüfe angriffspfade praktisch testen nicht als isolierten Schalter, sondern im Zusammenhang mit WebView-Sicherheit in Hybrid-Apps, dem tatsächlich signierten Produktionsartefakt und den Angaben in der Store-Konsole. Halte fest, welche Datei die Einstellung erzeugt, ob ein Framework oder Plugin sie beim Build verändert und wie du den aufgelösten Wert kontrolliert hast. Ein plausibler Eintrag im Quellprojekt beweist noch nicht, dass derselbe Wert im hochgeladenen Binary angekommen ist.
Nachweise für die Release-Freigabe
- Produktionswert für angriffspfade praktisch testen eindeutig benannt
- Verantwortliche Projektdatei oder Store-Einstellung verlinkt
- Aufgelöste native Konfiguration kontrolliert
- Signiertes Artefakt auf sauberem Gerät geprüft
- iOS- und Android-Unterschiede dokumentiert
- Offene Abweichung mit Owner und Stop-Kriterium versehen
Häufige Fragen
Ist Capacitor automatisch sicher?
Nein. Es bietet eine Architektur, aber Sicherheit hängt von Origins, Plugins, Navigation, Webinhalt und nativer Konfiguration ab.
Soll JavaScript deaktiviert werden?
Wenn es nicht benötigt wird, ja. Hybrid-Apps benötigen es häufig; dann müssen Inhalte und Bridges besonders eng kontrolliert werden.
Reicht eine Domain-Allowlist?
Nein. Pfad, Schema, Redirects, Nachrichten, Autorisierung und die geladene Ressource müssen ebenfalls geprüft werden.
Was kann eine statische Prüfung nicht beweisen?
Sie kann Konfiguration und riskante APIs finden, aber nicht jeden dynamischen Redirect, kompromittierten Server oder Laufzeitinhalt beobachten.