
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.
| 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 |
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.
| 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. |
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.