
mobileAudit v3.2.0
Aplicação Django que realiza SAST e Malware Analysis para APKs Android.
Mobile Audit
Análise de segurança para APKs Android, do upload a descobertas acionáveis.
Mobile Audit é uma aplicação Django para testes de segurança de aplicações estáticas e inspeção de malware. Ela extrai metadados de APK, detecta padrões de implementação de risco, organiza descobertas por severidade e fornece um espaço de trabalho focado para revisão e relatórios.

Começando
O Docker Compose executa a pilha local completa: Django, PostgreSQL, RabbitMQ, Celery e Nginx.
docker compose build
docker compose up
Abra http://localhost:8888 quando os serviços estiverem prontos.
Para executar em segundo plano ou parar a pilha:
docker compose up -d
docker compose down
Antes de usar o Mobile Audit fora de um ambiente local, substitua o segredo de exemplo, as credenciais do banco de dados e as credenciais do administrador em .env.example.
Capacidades principais
| Área | O que o Mobile Audit oferece |
|---|---|
| Inspeção de APK | Metadados da aplicação, componentes, permissões, certificados, strings, bancos de dados e arquivos |
| Análise estática | Regras SAST configuráveis com mapeamentos CWE e Mobile Top 10 |
| Verificações de malware | Verificações de domínio contra fontes MalwareDB e Maltrail |
| Gerenciamento de descobertas | Resumos de severidade, evidências detalhadas, edição e triagem de falsos positivos |
| Integrações | Inspeção opcional do VirusTotal e exportação para DefectDojo |
| Relatórios | Exportações em PDF mais uma API REST autenticada por token |
Tour pela interface
Espaço de trabalho da aplicação
Revise o histórico de varredura de uma aplicação e compare como a contagem de descobertas muda entre versões de APK.

Análise de varredura
Passe do resumo de segurança para metadados da aplicação, permissões, componentes, descobertas, certificados, strings, arquivos e bancos de dados.

A interface usa Bootstrap 5 e JavaScript nativo. Navegação, filtragem de tabela ao vivo, ordenação, paginação, confirmações e atualizações de status de varredura não exigem jQuery.
Fluxo de trabalho de análise
- Crie um espaço de trabalho de aplicação.
- Faça upload de um APK e inicie uma varredura.
- Revise os totais de severidade e inspecione as evidências de suporte.
- Faça a triagem das descobertas, exporte um relatório em PDF ou use uma integração.
As regras de análise podem ser ativadas ou desativadas na tela Patterns. Alguns padrões codificados são derivados do apkleaks.
Arquitetura

| Serviço | Responsabilidade |
|---|---|
| Django 5.2 LTS | Aplicação web e API REST |
| PostgreSQL 16 | Dados persistentes da aplicação |
| Celery | Análise de APK em segundo plano |
| RabbitMQ 4.2 | Broker de tarefas |
| Nginx | Ponto de entrada HTTP ou TLS |
O runtime da aplicação usa Python 3.12. A descompilação de APK é fornecida pelo JADX.
API
Solicite um token:
POST /api/v1/auth-token/
Autentique solicitações subsequentes:
Authorization: Token <api-key>
| Documentação | Caminho |
|---|---|
| Swagger UI | /swagger/ |
| ReDoc | /redoc/ |
| OpenAPI JSON | /swagger.json |
| OpenAPI YAML | /swagger.yaml |
Integrações opcionais
Os recursos a seguir estão desativados por padrão e são configurados através de .env.example:
- Consultas à API v3 do VirusTotal e uploads opcionais
- Exportações de descobertas da API v2 do DefectDojo
- Verificações de domínio MalwareDB e Maltrail
Ative apenas os serviços para os quais você tem endpoints e credenciais válidos.
TLS
Coloque o certificado e a chave privada em nginx/ssl, depois inicie a configuração TLS:
docker compose -f docker-compose.prod.yaml up -d
A aplicação estará disponível em https://localhost.
Para testes locais, gere um certificado autoassinado de um dia:
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