
Aperçus complets de la sécurité Android.
Aperçus de sécurité Android en spectre complet.
Fonctionnalités • Aperçu de la détection • Installation • Utilisation • Rapports
Présenté à Black Hat MEA 2023 et Black Hat ASIA 2024

APKDeepLens est un outil d'analyse statique basé sur Python pour les fichiers APK Android. Il décompile les APK à l'aide de JADX et effectue une analyse de sécurité multicouche approfondie couvrant le OWASP Mobile Top 10 (2024). Chaque résultat est associé à un niveau de sévérité (CRITIQUE / ÉLEVÉ / MOYEN / FAIBLE / INFO) et à une catégorie OWASP, et les résultats sont exportés au format JSON, HTML, PDF ou TXT.
Pour les identifiants de vérification complets, les motifs regex et les exemples de preuves, voir DETECTION.md.
Prérequis : Python 3.10+, Java / OpenJDK
git clone https://github.com/d78ui98/APKDeepLens.git
cd APKDeepLens
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python APKDeepLens.py --help
git clone https://github.com/d78ui98/APKDeepLens.git
cd APKDeepLens
python3 -m venv venv
.\venv\Scripts\activate
pip install -r requirements.txt
python APKDeepLens.py --help
docker build -t apkdeeplens .
docker run --rm -v /path/to/apk/files:/apk apkdeeplens -apk /apk/file.apk
# Basic scan — outputs JSON report
python APKDeepLens.py -apk app.apk
# Skip decompilation when source is already extracted
python APKDeepLens.py -apk app.apk -source_code_path /path/to/source
# Generate HTML report
python APKDeepLens.py -apk app.apk -report html
# Generate PDF report
python APKDeepLens.py -apk app.apk -report pdf
# Generate plain-text report
python APKDeepLens.py -apk app.apk -report txt
# Specify output directory
python APKDeepLens.py -apk app.apk -report json -o /path/to/output/
# Skip virtualenv check (CI/CD)
python APKDeepLens.py -apk app.apk --ignore_virtualenv
Tous les rapports sont enregistrés dans un sous-répertoire reports/ du chemin de sortie.
Voir DETECTION.md pour le schéma complet de sortie JSON.
APKDeepLens/
├── APKDeepLens.py # Point d'entrée principal
├── report_gen.py # Génération de rapports (JSON, HTML, PDF, TXT)
├── report_template.html # Modèle de rapport HTML
├── requirements.txt
└── static_tools/
├── code_scanner.py # Analyseur de sécurité par motifs de code approfondi (40+ vérifications)
├── scan_android_manifest.py # Analyseur de manifeste + vérificateur de sécurité
├── sensitive_info_extractor.py # Analyseur de secrets codés en dur + URLs non sécurisées
├── known_false_positives.txt # Liste filtrée de faux positifs organisée
└── utility/
└── utility_class.py # Constantes partagées (DANGEROUS_PERMISSIONS, util)
Les demandes de fonctionnalités, les rapports de bogues et les pull requests sont les bienvenus sur github.com/d78ui98/APKDeepLens/issues.
| Catégorie | Vérifications | Plage de sévérité | OWASP |
|---|
| Sécurité du manifeste | 10 | CRITIQUE → MOYEN | M3–M9 |
| Cryptographie | 7 | CRITIQUE → MOYEN | M1, M10 |
| Sécurité WebView | 6 | CRITIQUE → ÉLEVÉ | M4, M5, M7, M9 |
| SSL / TLS | 5 | CRITIQUE → MOYEN | M5 |
| Exécution de code dynamique | 4 | ÉLEVÉ → MOYEN | M4, M7 |
| Stockage de données non sécurisé | 6 | ÉLEVÉ → FAIBLE | M4, M6, M9 |
| Journaux / Vie privée | 3 | MOYEN → FAIBLE | M6 |
| Sécurité des intentions | 2 | ÉLEVÉ → MOYEN | M4 |
| Traversée de chemin Zip | 1 | ÉLEVÉ | M4 |
| Secrets codés en dur | 16+ | — | M1 |
| Communications non sécurisées | — | — | M5 |
| Format | Description |
|---|
| JSON (par défaut) | Lisible par machine. Tous les résultats incluent id, severity, owasp, description et evidence. Idéal pour l'intégration dans des pipelines. |
| HTML / PDF | Tableaux de sévérité codés par couleur — CRITIQUE en rouge, ÉLEVÉ en orange, MOYEN en ambre. |
| TXT | Résultats triés par sévérité, lisibles par l'humain, avec emplacements de fichiers et descriptions. |