Seguridad híbrida

Seguridad WebView para apps híbridas

Una WebView conecta contenido modificable con capacidades nativas y necesita límites explícitos.

LaunchLint Academy

18 min de lecturaEdición y revisión de fuentes: Rene DresselPolítica editorial
App híbrida protege WebView, dominios y bridge nativo con límites claros
Una WebView es el límite entre contenido web y capacidades nativas. Trata cada navegación como entrada no fiable.
TL;DR

La respuesta breve

Una WebView es el límite entre contenido web y capacidades nativas. Trata cada navegación como entrada no fiable.

  • Limita origins y paths, reduce el bridge y prueba auth, descargas, archivos y errores en la release firmada.

Pruebas necesarias para publicar

No revises seguridad webview en apps híbridas como un interruptor aislado. Relaciónalo con seguridad WebView en apps híbridas, el artefacto de producción firmado y los valores de la consola. Documenta qué archivo genera el ajuste, si un framework o plugin puede modificarlo durante el build y cómo comprobaste el valor resuelto. Una entrada razonable en el proyecto no demuestra que el binario subido contenga la misma configuración.

Separa tres niveles de prueba para seguridad WebView en apps híbridas: configuración visible en los archivos, comportamiento en un dispositivo limpio y ajustes externos de Apple Developer, App Store Connect o Play Console. La revisión solo es fiable cuando los tres describen el mismo candidato. Asigna responsable y criterio de parada a cada diferencia.

Pruebas necesarias para publicar

  • Valor de producción para mapear webviews identificado
  • Archivo o ajuste responsable enlazado
  • Configuración nativa resuelta comprobada
  • Artefacto firmado probado en un dispositivo limpio
  • Diferencias entre iOS y Android documentadas
  • Cada discrepancia tiene responsable y criterio de parada

1. Mapear WebViews

Registra URL, navegación, datos, cookies, descargas y capacidades.

No revises mapear webviews como un interruptor aislado. Relaciónalo con seguridad WebView en apps híbridas, el artefacto de producción firmado y los valores de la consola. Documenta qué archivo genera el ajuste, si un framework o plugin puede modificarlo durante el build y cómo comprobaste el valor resuelto. Una entrada razonable en el proyecto no demuestra que el binario subido contenga la misma configuración.

Pruebas necesarias para publicar

  • Valor de producción para mapear webviews identificado
  • Archivo o ajuste responsable enlazado
  • Configuración nativa resuelta comprobada
  • Artefacto firmado probado en un dispositivo limpio
  • Diferencias entre iOS y Android documentadas
  • Cada discrepancia tiene responsable y criterio de parada

2. Definir origins

Valida scheme, host y puerto completos.

No revises definir origins como un interruptor aislado. Relaciónalo con seguridad WebView en apps híbridas, el artefacto de producción firmado y los valores de la consola. Documenta qué archivo genera el ajuste, si un framework o plugin puede modificarlo durante el build y cómo comprobaste el valor resuelto. Una entrada razonable en el proyecto no demuestra que el binario subido contenga la misma configuración.

Pruebas necesarias para publicar

  • Valor de producción para definir origins identificado
  • Archivo o ajuste responsable enlazado
  • Configuración nativa resuelta comprobada
  • Artefacto firmado probado en un dispositivo limpio
  • Diferencias entre iOS y Android documentadas
  • Cada discrepancia tiene responsable y criterio de parada

3. Reducir bridges

Expón solo métodos necesarios y valida mensajes.

No revises reducir bridges como un interruptor aislado. Relaciónalo con seguridad WebView en apps híbridas, el artefacto de producción firmado y los valores de la consola. Documenta qué archivo genera el ajuste, si un framework o plugin puede modificarlo durante el build y cómo comprobaste el valor resuelto. Una entrada razonable en el proyecto no demuestra que el binario subido contenga la misma configuración.

Pruebas necesarias para publicar

  • Valor de producción para reducir bridges identificado
  • Archivo o ajuste responsable enlazado
  • Configuración nativa resuelta comprobada
  • Artefacto firmado probado en un dispositivo limpio
  • Diferencias entre iOS y Android documentadas
  • Cada discrepancia tiene responsable y criterio de parada

4. Restringir archivos

Desactiva accesos file y content innecesarios.

No revises restringir archivos como un interruptor aislado. Relaciónalo con seguridad WebView en apps híbridas, el artefacto de producción firmado y los valores de la consola. Documenta qué archivo genera el ajuste, si un framework o plugin puede modificarlo durante el build y cómo comprobaste el valor resuelto. Una entrada razonable en el proyecto no demuestra que el binario subido contenga la misma configuración.

Pruebas necesarias para publicar

  • Valor de producción para restringir archivos identificado
  • Archivo o ajuste responsable enlazado
  • Configuración nativa resuelta comprobada
  • Artefacto firmado probado en un dispositivo limpio
  • Diferencias entre iOS y Android documentadas
  • Cada discrepancia tiene responsable y criterio de parada

5. Controlar navegación

Gestiona redirects, ventanas, descargas e intents.

No revises controlar navegación como un interruptor aislado. Relaciónalo con seguridad WebView en apps híbridas, el artefacto de producción firmado y los valores de la consola. Documenta qué archivo genera el ajuste, si un framework o plugin puede modificarlo durante el build y cómo comprobaste el valor resuelto. Una entrada razonable en el proyecto no demuestra que el binario subido contenga la misma configuración.

Pruebas necesarias para publicar

  • Valor de producción para controlar navegación identificado
  • Archivo o ajuste responsable enlazado
  • Configuración nativa resuelta comprobada
  • Artefacto firmado probado en un dispositivo limpio
  • Diferencias entre iOS y Android documentadas
  • Cada discrepancia tiene responsable y criterio de parada

6. Proteger sesiones

Revisa cookies, tokens, OAuth y logout.

No revises proteger sesiones como un interruptor aislado. Relaciónalo con seguridad WebView en apps híbridas, el artefacto de producción firmado y los valores de la consola. Documenta qué archivo genera el ajuste, si un framework o plugin puede modificarlo durante el build y cómo comprobaste el valor resuelto. Una entrada razonable en el proyecto no demuestra que el binario subido contenga la misma configuración.

Pruebas necesarias para publicar

  • Valor de producción para proteger sesiones identificado
  • Archivo o ajuste responsable enlazado
  • Configuración nativa resuelta comprobada
  • Artefacto firmado probado en un dispositivo limpio
  • Diferencias entre iOS y Android documentadas
  • Cada discrepancia tiene responsable y criterio de parada

7. Revisar Capacitor

Inventaría navegación, servidor y plugins.

No revises revisar capacitor como un interruptor aislado. Relaciónalo con seguridad WebView en apps híbridas, el artefacto de producción firmado y los valores de la consola. Documenta qué archivo genera el ajuste, si un framework o plugin puede modificarlo durante el build y cómo comprobaste el valor resuelto. Una entrada razonable en el proyecto no demuestra que el binario subido contenga la misma configuración.

Pruebas necesarias para publicar

  • Valor de producción para revisar capacitor identificado
  • Archivo o ajuste responsable enlazado
  • Configuración nativa resuelta comprobada
  • Artefacto firmado probado en un dispositivo limpio
  • Diferencias entre iOS y Android documentadas
  • Cada discrepancia tiene responsable y criterio de parada

8. Probar ataques

Usa URLs manipuladas, iframes y contenido comprometido.

No revises probar ataques como un interruptor aislado. Relaciónalo con seguridad WebView en apps híbridas, el artefacto de producción firmado y los valores de la consola. Documenta qué archivo genera el ajuste, si un framework o plugin puede modificarlo durante el build y cómo comprobaste el valor resuelto. Una entrada razonable en el proyecto no demuestra que el binario subido contenga la misma configuración.

Pruebas necesarias para publicar

  • Valor de producción para probar ataques identificado
  • Archivo o ajuste responsable enlazado
  • Configuración nativa resuelta comprobada
  • Artefacto firmado probado en un dispositivo limpio
  • Diferencias entre iOS y Android documentadas
  • Cada discrepancia tiene responsable y criterio de parada

Preguntas frecuentes

¿Capacitor es seguro por defecto?

No. Depende de origins, plugins y configuración.

¿Desactivo JavaScript?

Sí si no se necesita; si se usa, limita contenidos y bridges.

¿Basta una allowlist?

No. También importan paths, redirects y autorización.

¿Qué no prueba el análisis estático?

No observa todos los contenidos y redirects en runtime.

Fuentes primarias oficiales

Este artículo se basa en las siguientes fuentes primarias oficiales. Las reglas pueden cambiar; comprueba siempre la versión vigente antes de enviar.