
Aplicación Django que realiza análisis SAST y de malware para APKs de Android
Análisis de seguridad para APKs de Android, desde la carga hasta hallazgos accionables.
Mobile Audit es una aplicación Django para pruebas de seguridad de aplicaciones estáticas e inspección de malware. Extrae metadatos de APK, detecta patrones de implementación riesgosos, organiza los hallazgos por severidad y proporciona un espacio de trabajo enfocado para revisión y generación de informes.

Docker Compose ejecuta la pila local completa: Django, PostgreSQL, RabbitMQ, Celery y Nginx.
docker compose build
docker compose up
Abra http://localhost:8888 cuando los servicios estén listos.
Para ejecutar en segundo plano o detener la pila:
docker compose up -d
docker compose down
Antes de usar Mobile Audit fuera de un entorno local, reemplace el secreto de ejemplo, las credenciales de la base de datos y las credenciales del administrador en .env.example.
| Área | Qué proporciona Mobile Audit |
|---|---|
| Inspección de APK | Metadatos de la aplicación, componentes, permisos, certificados, cadenas, bases de datos y archivos |
| Análisis estático | Reglas SAST configurables con mapeos de CWE y Mobile Top 10 |
| Comprobaciones de malware | Comprobaciones de dominios contra fuentes de MalwareDB y Maltrail |
| Gestión de hallazgos | Resúmenes de severidad, evidencia detallada, edición y triaje de falsos positivos |
| Integraciones | Inspección opcional de VirusTotal y exportación a DefectDojo |
| Informes | Exportaciones PDF más una API REST autenticada por token |
Revise el historial de escaneos de una aplicación y compare cómo cambia su recuento de hallazgos entre versiones de APK.

Pase del resumen de seguridad a los metadatos de la aplicación, permisos, componentes, hallazgos, certificados, cadenas, archivos y bases de datos.

La interfaz utiliza Bootstrap 5 y JavaScript nativo. La navegación, el filtrado de tablas en vivo, la ordenación, la paginación, las confirmaciones y las actualizaciones del estado del escaneo no requieren jQuery.
Las reglas de análisis se pueden habilitar o deshabilitar desde la pantalla Patterns. Algunos patrones codificados de forma fija se derivan de apkleaks.

| Servicio | Responsabilidad |
|---|---|
| Django 5.2 LTS | Aplicación web y API REST |
| PostgreSQL 16 | Datos persistentes de la aplicación |
| Celery | Análisis de APK en segundo plano |
| RabbitMQ 4.2 | Broker de tareas |
| Nginx | Punto de entrada HTTP o TLS |
El entorno de ejecución de la aplicación utiliza Python 3.12. La descompilación de APK la proporciona JADX.
Solicite un token:
POST /api/v1/auth-token/
Autentique las solicitudes posteriores:
Authorization: Token <api-key>
| Documentación | Ruta |
|---|---|
| Swagger UI | /swagger/ |
| ReDoc | /redoc/ |
| OpenAPI JSON | /swagger.json |
| OpenAPI YAML | /swagger.yaml |
Las siguientes funciones están deshabilitadas de forma predeterminada y se configuran a través de .env.example:
Habilite solo los servicios para los que tenga endpoints y credenciales válidos.
Coloque el certificado y la clave privada en nginx/ssl, luego inicie la configuración TLS:
docker compose -f docker-compose.prod.yaml up -d
La aplicación estará disponible en https://localhost.
Para pruebas locales, genere un certificado autofirmado de un día:
openssl req -x509 -nodes -days 1 -newkey rsa:4096 \
-subj "/C=ES/ST=Madrid/L=Madrid/O=Example/OU=IT/CN=localhost" \
-keyout nginx/ssl/nginx.key \
-out nginx/ssl/nginx.crt