
Aplicación Django que realiza análisis SAST y de malware para APKs de Android

MobileAudit - Análisis SAST y de malware para APKs de Android
Una aplicación web Django para realizar análisis estático y detectar contenido malicioso dentro de APKs de Android. El proyecto extrae metadatos de la aplicación, escanea el código fuente en busca de debilidades y agrega resultados (hallazgos SAST, buenas prácticas, información de certificados, cadenas, bases de datos, archivos, VirusTotal y más) en un panel navegable y una API.
Documentación de DeepWiki: https://deepwiki.com/mpast/mobileAudit

En cada uno de los análisis, se tendrá la siguiente información:

Para facilitar el acceso, hay una barra lateral en la página izquierda del análisis:


La imagen está basada en python buster. Enlace a la imagen de Docker Hub
Planificado / lista de deseos
/patterns.
La aplicación tiene modelos creados para cada una de las entidades de la información de los análisis, para poder crear relaciones y obtener las mejores conclusiones para cada uno de los APKs.

Para ver el esquema completo del modelo, vaya a models
Usando Docker-compose:
El archivo docker-compose.yml proporcionado le permite ejecutar la aplicación localmente en desarrollo.
Para construir la imagen local y si hay cambios en el Dockerfile local de la aplicación, puede construir la imagen con:
docker-compose build
Luego, para iniciar el contenedor, ejecute:
docker-compose up
Opcional: ejecutar en modo detached (no ver los registros)
docker-compose up -d
Una vez que la aplicación se haya iniciado, puede probarla navegando a: http://localhost:8888/ para acceder al panel.

Además, hay una versión TLS usando docker-compose.prod.yaml que se ejecuta en el puerto 443
Para usarlo, ejecute
docker-compose -f docker-compose.prod.yaml up
Luego, puede probar la aplicación navegando a: https://localhost/ para acceder al panel.
Para más información, consulte TLS
Para detener y eliminar los contenedores, ejecute
docker-compose down
Integración de API REST con Swagger y ReDoc.
/api/v1/auth-token/
Authorization: Token <ApiKey>

/swagger.json/swagger.yaml/swagger//redoc/nginx/sslopenssl 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
nginx/app_tls.confnginx/app.confPor defecto, hay un volumen en docker-compose.yml con la configuración con el puerto 8888 disponible
- ./nginx/app.conf:/etc/nginx/conf.d/app.conf
En un entorno de producción use docker-compose.prod.yaml con el puerto 443
- ./nginx/app_tls.conf:/etc/nginx/conf.d/app_tls.conf
Todas las variables de entorno están en un archivo .env, hay un .env.example con todas las variables necesarias. También están recogidas en app/config/settings.py
Ajustes mínimos sugeridos para .env en desarrollo local
Si desea contribuir, consulte Contributing
| Imagen | Etiquetas | Base |
|---|
| mpast/mobile_audit | 3.0.0 | python:3.9.16-buster |
| mpast/mobile_audit | 2.2.1 | python:3.9.7-buster |
| mpast/mobile_audit | 1.3.8 | python:3.9.4-buster |
| mpast/mobile_audit | 1.0.0 | python:3.9.0-buster |