
Insights de segurança Android em espectro completo.
Insights de segurança Android em espectro total.
Recursos • Detecção • Instalação • Uso • Relatórios
Apresentado no Black Hat MEA 2023 e no Black Hat ASIA 2024

APKDeepLens é uma ferramenta de análise estática baseada em Python para arquivos APK Android. Ela descompila APKs usando JADX e executa uma varredura de segurança profunda em múltiplas camadas cobrindo o OWASP Mobile Top 10 (2024). Cada descoberta é marcada com um nível de severidade (CRITICAL / HIGH / MEDIUM / LOW / INFO) e uma categoria OWASP, e os resultados são exportados em formato JSON, HTML, PDF ou TXT.
Para IDs de verificação completos, padrões regex e exemplos de evidências, veja DETECTION.md.
Requisitos: 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
Todos os relatórios são salvos em um subdiretório reports/ do caminho de saída.
Veja DETECTION.md para o esquema completo da saída JSON.
APKDeepLens/
├── APKDeepLens.py # Main entry point
├── report_gen.py # Report generation (JSON, HTML, PDF, TXT)
├── report_template.html # HTML report template
├── requirements.txt
└── static_tools/
├── code_scanner.py # Deep code-pattern security scanner (40+ checks)
├── scan_android_manifest.py # Manifest parser + security checker
├── sensitive_info_extractor.py # Hardcoded secret + insecure URL scanner
├── known_false_positives.txt # Curated false-positive filter list
└── utility/
└── utility_class.py # Shared constants (DANGEROUS_PERMISSIONS, util)
Solicitações de funcionalidades, relatórios de bugs e pull requests são bem-vindos em github.com/d78ui98/APKDeepLens/issues.
| Categoria | Verificações | Faixa de Severidade | OWASP |
|---|
| Segurança do Manifesto | 10 | CRITICAL → MEDIUM | M3–M9 |
| Criptografia | 7 | CRITICAL → MEDIUM | M1, M10 |
| Segurança WebView | 6 | CRITICAL → HIGH | M4, M5, M7, M9 |
| SSL / TLS | 5 | CRITICAL → MEDIUM | M5 |
| Execução de Código Dinâmico | 4 | HIGH → MEDIUM | M4, M7 |
| Armazenamento Inseguro de Dados | 6 | HIGH → LOW | M4, M6, M9 |
| Logs / Privacidade | 3 | MEDIUM → LOW | M6 |
| Segurança de Intents | 2 | HIGH → MEDIUM | M4 |
| Path Traversal em ZIP | 1 | HIGH | M4 |
| Segredos Hardcoded | 16+ | — | M1 |
| Comunicações Inseguras | — | — | M5 |
| Formato | Descrição |
|---|
| JSON (padrão) | Legível por máquina. Todas as descobertas incluem id, severity, owasp, description e evidence. Ideal para integração com pipelines. |
| HTML / PDF | Tabelas de severidade codificadas por cores — CRITICAL em vermelho, HIGH em laranja, MEDIUM em âmbar. |
| TXT | Legível por humanos, descobertas ordenadas por severidade com localizações de arquivos e descrições. |