Nueva herramienta de código abierto muestra el código inyectado en sitios web por los navegadores de las aplicaciones

Un investigador realizó un análisis para ver cómo las principales empresas podrían rastrear la actividad de los usuarios a través de sus navegadores móviles en aplicaciones y lanzó una herramienta gratuita y de código abierto que permite a cualquier persona verificar qué código está siendo inyectado por dichos navegadores.

Algunas aplicaciones móviles utilizan navegadores integrados para permitir a los usuarios acceder rápidamente a sitios web de terceros. Otras aplicaciones incluyen un navegador para cargar sus propios recursos, que pueden ser necesarios para realizar diversas actividades. Sin embargo, estos navegadores internos también podrían presentar riesgos de seguridad y privacidad.

El investigador Felix Krause publicó una publicación de blog a principios de este mes afirmando que las aplicaciones iOS de Instagram y Facebook podrían monitorear todo lo que hace un usuario en un sitio web externo abierto a través del navegador interno de la aplicación. Esta afirmación se basó en el código JavaScript que las aplicaciones inyectan en el sitio web que muestra el navegador integrado en la aplicación.

Pruebas posteriores mostraron que TikTok también inyecta código JavaScript que modifica el contenido de los sitios web de terceros abiertos a través de la aplicación de redes sociales. TikTok parece monitorear todas las entradas de teclado y toques de pantalla, lo que podría permitir que la empresa recopile contraseñas y otra información confidencial ingresada a través del navegador integrado.

Meta dijo que el código se está inyectando como parte de un mecanismo de transparencia de seguimiento de aplicaciones (ATT) que ayuda a la empresa a respetar las opciones de privacidad de los usuarios. TikTok confirmó que existe el código de registro de teclas, pero dijo que en realidad no se está utilizando.

Sin embargo, Krause dice que su análisis destaca los posibles riesgos de seguridad y privacidad asociados con el código JavaScript que los navegadores de la aplicación inyectan en sitios web de terceros. Es por eso que la semana pasada lanzó una herramienta gratuita y de código abierto que cualquiera puede usar para verificar qué código se está ejecutando a través de estos navegadores en la aplicación.

La herramienta en línea, llamada InAppBrowser, muestra el código JavaScript que se inyecta cuando se abre el sitio web inappbrowser.com con un navegador en la aplicación. También proporciona información sobre lo que hace cada comando.

Si bien la herramienta puede proporcionar información útil, Krause señaló que no puede detectar todo el JavaScript ejecutado por el navegador y tampoco proporciona información sobre los mecanismos de seguimiento implementados mediante código nativo. Además, algunas aplicaciones pueden ocultar sus actividades de JavaScript, incluso mediante el uso del objeto WKContentWorld de Apple, que está diseñado para separar la aplicación de las páginas web y los scripts que ejecuta.

Por otro lado, el investigador señaló: “El hecho de que una aplicación inyecte JavaScript en sitios web externos no significa que la aplicación esté haciendo algo malicioso. No hay forma de que sepamos los detalles completos sobre qué tipo de datos recopila cada navegador en la aplicación, o cómo o si los datos se transfieren o utilizan”.

Los usuarios que estén preocupados por los riesgos potenciales siempre deben abrir los sitios web en el navegador de su teléfono en lugar del navegador de la aplicación. Las aplicaciones populares a menudo brindan la opción ‘Abrir en el navegador’ para esta tarea, o los usuarios pueden simplemente copiar y pegar la URL.

Krause también señaló que algunas aplicaciones de iOS siguen la recomendación de Apple y usan Safari o el controlador de vista de Safari para acceder a sitios web externos, y esto evita que inyecten su propio código.

El código fuente de InAppBrowser está disponible en GitHub. La aplicación puede funcionar tanto para aplicaciones de Android como de iOS.