
mobileAudit v3.2.0
Application Django qui effectue une analyse SAST et une analyse de malwares pour les APK Android.
Mobile Audit
Analyse de sécurité pour les APK Android, du téléversement à des résultats exploitables.
Mobile Audit est une application Django destinée aux tests de sécurité statique des applications et à l'inspection des logiciels malveillants. Elle extrait les métadonnées des APK, détecte les schémas d'implémentation à risque, organise les résultats par gravité et fournit un espace de travail dédié à la revue et au reporting.

Pour commencer
Docker Compose exécute l'ensemble de la pile locale : Django, PostgreSQL, RabbitMQ, Celery et Nginx.
docker compose build
docker compose up
Ouvrez http://localhost:8888 lorsque les services sont prêts.
Pour exécuter en arrière-plan ou arrêter la pile :
docker compose up -d
docker compose down
Avant d'utiliser Mobile Audit en dehors d'un environnement local, remplacez le secret d'exemple, les identifiants de base de données et les identifiants administrateur dans .env.example.
Capacités principales
| Domaine | Ce que Mobile Audit fournit |
|---|---|
| Inspection des APK | Métadonnées de l'application, composants, permissions, certificats, chaînes, bases de données et fichiers |
| Analyse statique | Règles SAST configurables avec correspondances CWE et Mobile Top 10 |
| Vérifications de logiciels malveillants | Vérifications de domaines via les sources MalwareDB et Maltrail |
| Gestion des résultats | Résumés par gravité, preuves détaillées, édition et tri des faux positifs |
| Intégrations | Inspection VirusTotal en option et export DefectDojo |
| Reporting | Exports PDF ainsi qu'une API REST authentifiée par jeton |
Visite de l'interface
Espace de travail d'application
Consultez l'historique des analyses d'une application et comparez l'évolution du nombre de résultats entre les versions d'APK.

Analyse de scan
Passez du résumé de sécurité aux métadonnées de l'application, permissions, composants, résultats, certificats, chaînes, fichiers et bases de données.

L'interface utilise Bootstrap 5 et du JavaScript natif. La navigation, le filtrage de tableaux en direct, le tri, la pagination, les confirmations et les mises à jour du statut des scans ne nécessitent pas jQuery.
Flux d'analyse
- Créez un espace de travail d'application.
- Téléversez un APK et lancez une analyse.
- Consultez les totaux par gravité et examinez les preuves associées.
- Triez les résultats, exportez un rapport PDF ou utilisez une intégration.
Les règles d'analyse peuvent être activées ou désactivées depuis l'écran Patterns. Certains motifs codés en dur sont dérivés de apkleaks.
Architecture

| Service | Responsabilité |
|---|---|
| Django 5.2 LTS | Application web et API REST |
| PostgreSQL 16 | Données persistantes de l'application |
| Celery | Analyse des APK en arrière-plan |
| RabbitMQ 4.2 | Courtier de tâches |
| Nginx | Point d'entrée HTTP ou TLS |
L'environnement d'exécution de l'application utilise Python 3.12. La décompilation des APK est assurée par JADX.
API
Demandez un jeton :
POST /api/v1/auth-token/
Authentifiez les requêtes suivantes :
Authorization: Token <api-key>
| Documentation | Chemin |
|---|---|
| Swagger UI | /swagger/ |
| ReDoc | /redoc/ |
| OpenAPI JSON | /swagger.json |
| OpenAPI YAML | /swagger.yaml |
Intégrations optionnelles
Les fonctionnalités suivantes sont désactivées par défaut et se configurent via .env.example :
- Recherches VirusTotal API v3 et téléversements en option
- Exports de résultats DefectDojo API v2
- Vérifications de domaines MalwareDB et Maltrail
N'activez que les services pour lesquels vous disposez d'endpoints et d'identifiants valides.
TLS
Placez le certificat et la clé privée dans nginx/ssl, puis démarrez la configuration TLS :
docker compose -f docker-compose.prod.yaml up -d
L'application sera disponible à l'adresse https://localhost.
Pour des tests locaux, générez un certificat auto-signé d'un jour :
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