
Aplicação Django que realiza SAST e Malware Analysis para APKs Android.

MobileAudit - Análise SAST e de Malware para APKs Android
Uma aplicação web Django para realizar análise estática e detectar conteúdo malicioso dentro de APKs Android. O projeto extrai metadados do app, examina o código-fonte em busca de vulnerabilidades e agrega resultados (achados SAST, boas práticas, informações de certificado, strings, bases de dados, arquivos, VirusTotal e muito mais) em um painel navegável e uma API.
Documentação DeepWiki: https://deepwiki.com/mpast/mobileAudit

Em cada uma das análises, as seguintes informações estarão disponíveis:

Para fácil acesso, há uma barra lateral na página à esquerda da análise:


A imagem é baseada em python buster. Link para a imagem no Docker Hub
Planejado / lista de desejos
/patterns.
A aplicação possui modelos criados para cada uma das entidades das informações das análises, a fim de criar relações e obter as melhores conclusões para cada um dos APKs.

Para ver o esquema completo do modelo, vá para models
Usando Docker-compose:
O arquivo docker-compose.yml fornecido permite executar a aplicação localmente em desenvolvimento.
Para construir a imagem local e se houver alterações no Dockerfile da aplicação local, você pode construir a imagem com:
docker-compose build
Em seguida, para iniciar o contêiner, execute:
docker-compose up
Opcional: execute em modo destacado (não veja os logs)
docker-compose up -d
Assim que a aplicação for iniciada, você pode testá-la navegando para: http://localhost:8888/ para acessar o painel.

Além disso, há uma versão TLS usando docker-compose.prod.yaml rodando na porta 443
Para usá-la, execute
docker-compose -f docker-compose.prod.yaml up
Em seguida, você pode testar a aplicação navegando para: https://localhost/ para acessar o painel.
Para mais informações, veja TLS
Para parar e remover os contêineres, execute
docker-compose down
Integração da API REST com Swagger e 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 padrão, há um volume em docker-compose.yml com a configuração tendo a porta 8888 disponível
- ./nginx/app.conf:/etc/nginx/conf.d/app.conf
Em um ambiente de produção use docker-compose.prod.yaml com a porta 443
- ./nginx/app_tls.conf:/etc/nginx/conf.d/app_tls.conf
Todas as variáveis de ambiente estão em um arquivo .env. Há um .env.example com todas as variáveis necessárias. Também estão reunidas em app/config/settings.py
Ajustes mínimos sugeridos para .env em desenvolvimento local
Se você deseja contribuir, veja Contributing
| Imagem | Tags | 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 |