
Applicazione Django che esegue SAST e Malware Analysis per APK Android

MobileAudit - Analisi SAST e Malware per APK Android Mobile
Un'applicazione web Django per eseguire analisi statiche e rilevare contenuti dannosi all'interno di APK Android. Il progetto estrae i metadati dell'app, analizza il codice sorgente per individuare debolezze e aggrega i risultati (risultati SAST, best practice, informazioni sul certificato, stringhe, database, file, VirusTotal e altro) in una dashboard navigabile e un'API.
Documentazione DeepWiki: https://deepwiki.com/mpast/mobileAudit

In ogni scansione, saranno disponibili le seguenti informazioni:

Per un accesso facile, è presente una barra laterale sulla sinistra della pagina di scansione:


L'immagine è basata su Python Buster. Link all'immagine Docker Hub
Pianificato / lista dei desideri
/patterns.
L'applicazione ha creato modelli per ciascuna delle entità delle informazioni di scansione per poter creare relazioni e ottenere le migliori conclusioni per ciascuno degli APK.

Per vedere l'intero schema del modello, vai a modelli
Utilizzando Docker-compose:
Il file docker-compose.yml fornito ti permette di eseguire l'app localmente in sviluppo.
Per costruire l'immagine locale e se ci sono modifiche al Dockerfile dell'applicazione locale, puoi costruire l'immagine con:
docker-compose build
Poi, per avviare il container, esegui:
docker-compose up
Opzionale: esegui in modalità detached (non vedere i log)
docker-compose up -d
Una volta avviata l'applicazione, puoi testarla navigando su: http://localhost:8888/ per accedere alla dashboard.

Inoltre, esiste una versione TLS che utilizza docker-compose.prod.yaml in esecuzione sulla porta 443
Per usarla, esegui
docker-compose -f docker-compose.prod.yaml up
Poi, puoi testare l'applicazione navigando su: https://localhost/ per accedere alla dashboard.
Per maggiori informazioni, vedi TLS
Per fermare e rimuovere i container, esegui
docker-compose down
Integrazione API REST con 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.confPer impostazione predefinita, c'è un volume in docker-compose.yml con la configurazione con la porta 8888 disponibile
- ./nginx/app.conf:/etc/nginx/conf.d/app.conf
In un ambiente di produzione usa docker-compose.prod.yaml con la porta 443
- ./nginx/app_tls.conf:/etc/nginx/conf.d/app_tls.conf
Tutte le variabili d'ambiente sono in un file .env, c'è un .env.example con tutte le variabili necessarie. Inoltre sono raccolte in app/config/settings.py
Regolazioni minime suggerite per il .env per lo sviluppo locale
Se desideri contribuire, vedi Contribuire
| Immagine | Tag | 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 |