LaunchLint Academy

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.