Sécurité hybride

Checklist sécurité WebView pour apps hybrides

Une WebView relie contenu modifiable et capacités natives et exige des limites explicites.

LaunchLint Academy

18 min de lectureÉdition et vérification des sources : Rene DresselPolitique éditoriale
App hybride protégeant WebView, domaines et pont natif avec des limites claires
Une WebView sépare contenu web et capacités natives. Traitez chaque navigation comme une entrée non fiable.
TL;DR

La réponse courte

Une WebView sépare contenu web et capacités natives. Traitez chaque navigation comme une entrée non fiable.

  • Limitez origins et chemins, réduisez le pont et testez auth, téléchargements, fichiers et erreurs dans la release signée.

Preuves nécessaires avant publication

Ne contrôlez pas sécurité webview des apps hybrides comme un réglage isolé. Reliez-le à sécurité WebView des apps hybrides, à l’artefact de production signé et aux valeurs de la console. Notez quel fichier produit le réglage, si un framework ou un plugin peut le modifier pendant la construction et comment la valeur résolue a été vérifiée. Une valeur plausible dans le projet ne prouve pas que le binaire envoyé contient la même configuration.

Séparez trois niveaux de preuve pour sécurité WebView des apps hybrides : configuration visible dans les fichiers, comportement sur un appareil propre et réglages externes dans Apple Developer, App Store Connect ou Play Console. Le contrôle n’est fiable que si ces niveaux décrivent le même candidat. Attribuez chaque écart à un responsable avec un critère d’arrêt.

Preuves nécessaires avant publication

  • Valeur de production pour cartographier les webviews identifiée
  • Fichier ou réglage responsable relié
  • Configuration native résolue contrôlée
  • Artefact signé testé sur un appareil propre
  • Écarts iOS et Android documentés
  • Chaque écart possède responsable et critère d’arrêt

1. Cartographier les WebViews

Notez URL, navigation, données, cookies, téléchargements et capacités.

Ne contrôlez pas cartographier les webviews comme un réglage isolé. Reliez-le à sécurité WebView des apps hybrides, à l’artefact de production signé et aux valeurs de la console. Notez quel fichier produit le réglage, si un framework ou un plugin peut le modifier pendant la construction et comment la valeur résolue a été vérifiée. Une valeur plausible dans le projet ne prouve pas que le binaire envoyé contient la même configuration.

Preuves nécessaires avant publication

  • Valeur de production pour cartographier les webviews identifiée
  • Fichier ou réglage responsable relié
  • Configuration native résolue contrôlée
  • Artefact signé testé sur un appareil propre
  • Écarts iOS et Android documentés
  • Chaque écart possède responsable et critère d’arrêt

2. Définir les origins

Validez schéma, hôte et port complets.

Ne contrôlez pas définir les origins comme un réglage isolé. Reliez-le à sécurité WebView des apps hybrides, à l’artefact de production signé et aux valeurs de la console. Notez quel fichier produit le réglage, si un framework ou un plugin peut le modifier pendant la construction et comment la valeur résolue a été vérifiée. Une valeur plausible dans le projet ne prouve pas que le binaire envoyé contient la même configuration.

Preuves nécessaires avant publication

  • Valeur de production pour définir les origins identifiée
  • Fichier ou réglage responsable relié
  • Configuration native résolue contrôlée
  • Artefact signé testé sur un appareil propre
  • Écarts iOS et Android documentés
  • Chaque écart possède responsable et critère d’arrêt

3. Réduire les ponts

Exposez uniquement les méthodes nécessaires et validez les messages.

Ne contrôlez pas réduire les ponts comme un réglage isolé. Reliez-le à sécurité WebView des apps hybrides, à l’artefact de production signé et aux valeurs de la console. Notez quel fichier produit le réglage, si un framework ou un plugin peut le modifier pendant la construction et comment la valeur résolue a été vérifiée. Une valeur plausible dans le projet ne prouve pas que le binaire envoyé contient la même configuration.

Preuves nécessaires avant publication

  • Valeur de production pour réduire les ponts identifiée
  • Fichier ou réglage responsable relié
  • Configuration native résolue contrôlée
  • Artefact signé testé sur un appareil propre
  • Écarts iOS et Android documentés
  • Chaque écart possède responsable et critère d’arrêt

4. Restreindre les fichiers

Désactivez les accès file et content inutiles.

Ne contrôlez pas restreindre les fichiers comme un réglage isolé. Reliez-le à sécurité WebView des apps hybrides, à l’artefact de production signé et aux valeurs de la console. Notez quel fichier produit le réglage, si un framework ou un plugin peut le modifier pendant la construction et comment la valeur résolue a été vérifiée. Une valeur plausible dans le projet ne prouve pas que le binaire envoyé contient la même configuration.

Preuves nécessaires avant publication

  • Valeur de production pour restreindre les fichiers identifiée
  • Fichier ou réglage responsable relié
  • Configuration native résolue contrôlée
  • Artefact signé testé sur un appareil propre
  • Écarts iOS et Android documentés
  • Chaque écart possède responsable et critère d’arrêt

5. Contrôler la navigation

Gérez redirections, fenêtres, téléchargements et intents.

Ne contrôlez pas contrôler la navigation comme un réglage isolé. Reliez-le à sécurité WebView des apps hybrides, à l’artefact de production signé et aux valeurs de la console. Notez quel fichier produit le réglage, si un framework ou un plugin peut le modifier pendant la construction et comment la valeur résolue a été vérifiée. Une valeur plausible dans le projet ne prouve pas que le binaire envoyé contient la même configuration.

Preuves nécessaires avant publication

  • Valeur de production pour contrôler la navigation identifiée
  • Fichier ou réglage responsable relié
  • Configuration native résolue contrôlée
  • Artefact signé testé sur un appareil propre
  • Écarts iOS et Android documentés
  • Chaque écart possède responsable et critère d’arrêt

6. Protéger les sessions

Contrôlez cookies, jetons, OAuth et déconnexion.

Ne contrôlez pas protéger les sessions comme un réglage isolé. Reliez-le à sécurité WebView des apps hybrides, à l’artefact de production signé et aux valeurs de la console. Notez quel fichier produit le réglage, si un framework ou un plugin peut le modifier pendant la construction et comment la valeur résolue a été vérifiée. Une valeur plausible dans le projet ne prouve pas que le binaire envoyé contient la même configuration.

Preuves nécessaires avant publication

  • Valeur de production pour protéger les sessions identifiée
  • Fichier ou réglage responsable relié
  • Configuration native résolue contrôlée
  • Artefact signé testé sur un appareil propre
  • Écarts iOS et Android documentés
  • Chaque écart possède responsable et critère d’arrêt

7. Examiner Capacitor

Inventoriez navigation, serveur et plugins.

Ne contrôlez pas examiner capacitor comme un réglage isolé. Reliez-le à sécurité WebView des apps hybrides, à l’artefact de production signé et aux valeurs de la console. Notez quel fichier produit le réglage, si un framework ou un plugin peut le modifier pendant la construction et comment la valeur résolue a été vérifiée. Une valeur plausible dans le projet ne prouve pas que le binaire envoyé contient la même configuration.

Preuves nécessaires avant publication

  • Valeur de production pour examiner capacitor identifiée
  • Fichier ou réglage responsable relié
  • Configuration native résolue contrôlée
  • Artefact signé testé sur un appareil propre
  • Écarts iOS et Android documentés
  • Chaque écart possède responsable et critère d’arrêt

8. Tester les attaques

Essayez URL manipulées, iframes et contenu compromis.

Ne contrôlez pas tester les attaques comme un réglage isolé. Reliez-le à sécurité WebView des apps hybrides, à l’artefact de production signé et aux valeurs de la console. Notez quel fichier produit le réglage, si un framework ou un plugin peut le modifier pendant la construction et comment la valeur résolue a été vérifiée. Une valeur plausible dans le projet ne prouve pas que le binaire envoyé contient la même configuration.

Preuves nécessaires avant publication

  • Valeur de production pour tester les attaques identifiée
  • Fichier ou réglage responsable relié
  • Configuration native résolue contrôlée
  • Artefact signé testé sur un appareil propre
  • Écarts iOS et Android documentés
  • Chaque écart possède responsable et critère d’arrêt

Questions fréquentes

Capacitor est-il sûr par défaut ?

Non. Cela dépend des origins, plugins et réglages.

Désactiver JavaScript ?

Oui s’il est inutile ; sinon limitez contenu et ponts.

Une liste de domaines suffit-elle ?

Non. Chemins, redirections et autorisation comptent aussi.

Que ne prouve pas l’analyse statique ?

Elle n’observe pas tous les contenus et redirections dynamiques.

Sources primaires officielles

Cet article s’appuie sur les sources officielles ci-dessous. Les règles peuvent évoluer : vérifiez leur version actuelle avant chaque soumission.