Uso del IDE: Búsqueda y Análisis
El objetivo del IDE es facilitar la evaluación manual y ofrecer la capacidad de escribir controles personalizados además de todos los análisis realizados por Ostorlab, desde taint analysis (análisis de manchas), trazas de llamadas dinámicas, tráfico interceptado y solicitudes de API escaneadas.
Acceder al IDE
Para acceder al IDE, vaya a la página de su escaneo y haga clic en "analysis".

Navegación
Las secciones del IDE se enumeran a la izquierda:

- Files: APK e IPA son los formatos de archivo de paquete para las aplicaciones móviles Android e iOS, respectivamente. Estos archivos contienen todos los recursos y el código necesarios para instalar y ejecutar la aplicación en un dispositivo móvil. La opción "Files" puede ayudarle a inspeccionar el contenido del archivo APK o IPA. Verá una lista de archivos y directorios que componen la aplicación. Estos archivos pueden incluir el código de la aplicación, recursos como imágenes y sonidos, archivos de configuración y otros activos utilizados por la aplicación.
- HTTP Folders: Todo el tráfico de red recopilado, clasificado y organizado por endpoint.
- Static: La navegación del análisis estático está creada para ayudar a los ingenieros a identificar posibles problemas en su código. Esto puede implicar leer el código, examinar tipos de variables y funciones, y buscar errores de codificación comunes, como desreferencias de punteros nulos, fugas de memoria o desbordamientos de búfer.
- Dynamic: La sección dinámica muestra las trazas de llamadas de la aplicación recopiladas durante el análisis dinámico. El análisis dinámico es compatible con Java, C, Flutter y Swift.
- Call Coverage: Call Coverage (Cobertura de llamadas) es el flujo de la interfaz de usuario (UI flow) de la aplicación móvil que le muestra la secuencia de pantallas o páginas por las que pasan los robots de Ostorlab mientras utilizan la aplicación. Simula cómo el usuario interactúa con la interfaz de usuario de la aplicación para lograr sus objetivos. Un flujo de interfaz de usuario típico para una aplicación móvil puede incluir los siguientes pasos: página de destino, navegación, páginas de contenido, autenticación, cuadros de diálogo y modales.
- Traffic: Todo el tráfico de red recopilado listado como solicitudes.
- API: La API es el tráfico de red generado por la aplicación cuando los robots de Ostorlab interactúan con ella. Esto puede ayudarle a comprobar los mensajes de solicitud/respuesta HTTP que incluyen payloads JSON, métodos HTTP, versión del protocolo HTTP, estado y la URI del recurso solicitado.
- Search: Puede utilizar la sección search para buscar una palabra clave específica en todos los archivos de la aplicación.
- Logs: En la sección "Logs", puede ver los registros del dispositivo generados durante el proceso de escaneo dinámico.
- Pcap: Todos los archivos
Pcapregistrados listados para su descarga. - Agent Logs: Todos los registros de los agentes durante el escaneo, con filtros por gravedad, clave de agente y búsqueda (específico para agentes personalizados).
- Vulnerabilities: La opción Vulnerabilities le redirige a la lista de vulnerabilidades detectadas por el análisis estático y dinámico.
Archivos
Esta sección le permite inspeccionar el contenido de los archivos APK e IPA:
Verá una lista de archivos y directorios que componen la aplicación. Estos archivos pueden incluir el código de la aplicación, recursos como imágenes y sonidos, archivos de configuración y otros activos utilizados por la aplicación.

El IDE admite:
- resaltado de código para la mayoría de lenguajes de programación:

- extracción de Plist binarios:

Carpetas HTTP
La sección HTTP Folders enumera todo el tráfico de red recopilado y organizado por endpoint:

Estático
La sección de análisis estático está creada para ayudar a los ingenieros a identificar posibles problemas en su código. Esto puede implicar leer el código, examinar tipos de variables y funciones, y buscar errores de codificación comunes, como desreferencias de punteros nulos, fugas de memoria o desbordamientos de búfer.
- Generación contextual de trazas de llamadas

Puede utilizar la búsqueda para buscar una o varias metodologías.

Puede utilizar la pestaña de filtro para enumerar todas las metodologías en una tabla y luego seleccionar una o varias metodologías para resaltar sus conexiones en el mapa.
La función de búsqueda en el análisis estático admite varias palabras clave que se pueden encadenar. Por ejemplo, para buscar todos los métodos que contengan la palabra "mem". Puede escribir search dos puntos mem.
La lista de palabras clave admitidas es:
search: búsqueda arbitraria dentro de todos los atributos del método o función.path: ruta con el archivo APK o IPA.package: nombre del paquete si corresponde.class: nombre de la clase si corresponde.method: nombre del método.function: nombre de la función.signature: firma del método o función.sink: categoría de sink (sumidero), admite*como comodín.source: categoría de origen, admite*como comodín.privacySource: categoría de origen de privacidad, admite*como comodín.input: categoría de entrada, admite*como comodín.sanitizer: categoría de sanitizador (sanitizer), admite*como comodín.persistRead: categoría de lectura persistente, admite*como comodín.persistWrite: categoría de escritura persistente, admite*como comodín.deprecated: la función o el método está en desuso en la última API.
El etiquetado de funciones ayuda a identificar puntos críticos de seguridad. Un caso de uso sencillo es encontrar todos los métodos que pueden dar lugar a una inyección SQL, usar la función de traza de llamadas para ver dónde se usa el método y si un atacante controla potencialmente la entrada:
El etiquetado distingue entre:
- Sink: más de una docena de categorías de sinks. Los sinks son funciones o métodos que pueden provocar vulnerabilidades, como execSQL, que puede dar lugar a una inyección SQL si el usuario controla la entrada.
- Source: Las funciones y métodos de origen devuelven entradas que no son de confianza que podrían provenir de la red, IPC, sistema de archivos (almacenamiento externo)...
- Privacy Source: Las funciones y métodos de origen de privacidad (privacy source) devuelven entradas confidenciales, como la ubicación del usuario, SMS, puntos de acceso Wi-Fi, que pueden afectar la privacidad del usuario.
- Input: Los métodos de entrada (input) suelen ser métodos reemplazables que sirven como callbacks y cuyos parámetros no son de confianza y pueden ser manipulados por un atacante. Un ejemplo típico son los métodos de consulta, actualización, inserción, eliminación, etc., de los content providers.
- Sanitizer: Las funciones y métodos sanitizer (sanitizadores) se utilizan para limpiar entradas que no son de confianza para un uso particular de la API.
- Persist Read and Write: Persist read y write (Lectura y escritura persistentes) son útiles para encontrar vulnerabilidades de inyección de segundo orden. Las operaciones de lectura y escritura están separadas.
- Deprecated: funciones y métodos simplemente en desuso.
Dinámico
La sección de Análisis Dinámico muestra las trazas de llamadas de la aplicación recopiladas durante el análisis dinámico.
El análisis dinámico es compatible con Java, C, Flutter y Swift.

Puede hacer clic en cualquier traza de la pila (stack trace) para ver sus frames.
Puede filtrar las trazas de llamadas por: nombre de clase, función, paquete, ruta, valor y tipo.

Cobertura de llamadas
La sección Call Coverage (Cobertura de llamadas) muestra el flujo de la interfaz de usuario (UI flow) de la aplicación móvil que le muestra la secuencia de pantallas o páginas por las que pasan los robots de Ostorlab mientras utilizan la aplicación.
Simula cómo el usuario interactúa con la interfaz de usuario de la aplicación para lograr sus objetivos.
Un flujo de interfaz de usuario típico para una aplicación móvil puede incluir los siguientes pasos:
página de destino, navegación, páginas de contenido, autenticación, cuadros de diálogo y modales.

Tráfico
La sección Traffic enumera todo el tráfico recopilado a lo largo del escaneo dinámico.

API
La sección API muestra el tráfico de red generado por la aplicación cuando los robots de Ostorlab interactúan con la aplicación.
Esto puede ayudarle a comprobar los mensajes de solicitud/respuesta HTTP que incluyen payloads JSON, métodos HTTP, versión del protocolo HTTP, estado y la URI del recurso solicitado.

Buscar
Puede utilizar la sección de búsqueda (search) para buscar una palabra clave específica en todos los archivos de la aplicación.

Registros
En la sección "Logs", puede ver los registros del dispositivo generados durante el proceso de escaneo dinámico.

Pcap
La sección Pcap proporciona el tráfico de red recopilado en forma de archivos pcap que se pueden descargar para un examen más detallado.

Registros del agente
La sección de registros de agentes (agent logs) proporciona acceso a los registros de cualquier agente personalizado que haya implementado.

Vulnerabilidades
La opción Vulnerabilities le redirige a la lista de vulnerabilidades detectadas por el análisis estático y dinámico.
Cada hallazgo tiene: nombre, descripción, recomendación, referencias, detalles técnicos.
