
Approfondimenti sulla sicurezza Android a tutto spettro.
Approfondimenti sulla sicurezza Android in pieno spettro.
Funzionalità • Rilevamento • Installazione • Utilizzo • Report
Presentato a Black Hat MEA 2023 e Black Hat ASIA 2024

APKDeepLens è uno strumento di analisi statica basato su Python per file APK Android. Decompila gli APK usando JADX ed esegue una scansione di sicurezza multi-livello approfondita che copre OWASP Mobile Top 10 (2024). Ogni rilevamento è contrassegnato con un livello di gravità (CRITICAL / HIGH / MEDIUM / LOW / INFO) e una categoria OWASP, e i risultati vengono esportati in formato JSON, HTML, PDF o TXT.
Per ID dei check completi, pattern regex ed esempi di evidenze vedi DETECTION.md.
Requisiti: 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
# Scansione base — produce report JSON
python APKDeepLens.py -apk app.apk
# Salta la decompilazione quando il sorgente è già estratto
python APKDeepLens.py -apk app.apk -source_code_path /path/to/source
# Genera report HTML
python APKDeepLens.py -apk app.apk -report html
# Genera report PDF
python APKDeepLens.py -apk app.apk -report pdf
# Genera report in testo semplice
python APKDeepLens.py -apk app.apk -report txt
# Specifica la directory di output
python APKDeepLens.py -apk app.apk -report json -o /path/to/output/
# Salta il controllo virtualenv (CI/CD)
python APKDeepLens.py -apk app.apk --ignore_virtualenv
Tutti i report vengono salvati in una sottodirectory reports/ del percorso di output.
Vedi DETECTION.md per lo schema completo dell'output JSON.
APKDeepLens/
├── APKDeepLens.py # Punto di ingresso principale
├── report_gen.py # Generazione report (JSON, HTML, PDF, TXT)
├── report_template.html # Template report HTML
├── requirements.txt
└── static_tools/
├── code_scanner.py # Scanner di sicurezza approfondito per pattern di codice (40+ check)
├── scan_android_manifest.py # Analizzatore del Manifest + controllo di sicurezza
├── sensitive_info_extractor.py # Scanner segreti hardcoded + URL non sicuri
├── known_false_positives.txt # Lista curata di filtri per falsi positivi
└── utility/
└── utility_class.py # Costanti condivise (DANGEROUS_PERMISSIONS, util)
Richiedi funzionalità, segnala bug e invia pull request su github.com/d78ui98/APKDeepLens/issues.
| Categoria | Check | Intervallo di Gravità | OWASP |
|---|
| Sicurezza del Manifest | 10 | CRITICAL → MEDIUM | M3–M9 |
| Crittografia | 7 | CRITICAL → MEDIUM | M1, M10 |
| Sicurezza WebView | 6 | CRITICAL → HIGH | M4, M5, M7, M9 |
| SSL / TLS | 5 | CRITICAL → MEDIUM | M5 |
| Esecuzione Codice Dinamico | 4 | HIGH → MEDIUM | M4, M7 |
| Archiviazione Dati Non Sicura | 6 | HIGH → LOW | M4, M6, M9 |
| Log / Privacy | 3 | MEDIUM → LOW | M6 |
| Sicurezza Intent | 2 | HIGH → MEDIUM | M4 |
| Path Traversal Zip | 1 | HIGH | M4 |
| Segreti Hardcoded | 16+ | — | M1 |
| Comunicazioni Non Sicure | — | — | M5 |
| Formato | Descrizione |
|---|
| JSON (predefinito) | Leggibile dalla macchina. Tutti i rilevamenti includono id, severity, owasp, description e evidence. Ideale per l'integrazione in pipeline. |
| HTML / PDF | Tabelle di gravità con codice colore — CRITICAL in rosso, HIGH in arancione, MEDIUM in ambra. |
| TXT | Leggibile dall'uomo, rilevamenti ordinati per gravità con posizioni dei file e descrizioni. |