
Инсайты по безопасности Android в полном спектре.
Безопасность Android в полном спектре.
Возможности • Обнаружение с первого взгляда • Установка • Использование • Отчеты
Представлен на Black Hat MEA 2023 и Black Hat ASIA 2024

APKDeepLens — это инструмент статического анализа на Python для APK-файлов Android. Он декомпилирует APK с помощью JADX и выполняет глубокое многоуровневое сканирование безопасности, охватывающее OWASP Mobile Top 10 (2024). Каждая находка помечается уровнем серьезности (CRITICAL / HIGH / MEDIUM / LOW / INFO) и категорией OWASP, а результаты экспортируются в форматах JSON, HTML, PDF или TXT.
Полные идентификаторы проверок, шаблоны регулярных выражений и примеры доказательств см. в DETECTION.md.
Требования: 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
Все отчеты сохраняются в подкаталог reports/ пути вывода.
Полную схему вывода JSON см. в DETECTION.md.
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)
Запросы функций, сообщения об ошибках и pull request’ы приветствуются на github.com/d78ui98/APKDeepLens/issues.
| Категория | Проверки | Диапазон серьезности | OWASP |
|---|
| Безопасность манифеста | 10 | CRITICAL → MEDIUM | M3–M9 |
| Криптография | 7 | CRITICAL → MEDIUM | M1, M10 |
| Безопасность WebView | 6 | CRITICAL → HIGH | M4, M5, M7, M9 |
| SSL / TLS | 5 | CRITICAL → MEDIUM | M5 |
| Динамическое выполнение кода | 4 | HIGH → MEDIUM | M4, M7 |
| Небезопасное хранение данных | 6 | HIGH → LOW | M4, M6, M9 |
| Логи / Конфиденциальность | 3 | MEDIUM → LOW | M6 |
| Безопасность Intent | 2 | HIGH → MEDIUM | M4 |
| Обход пути Zip | 1 | HIGH | M4 |
| Жестко закодированные секреты | 16+ | — | M1 |
| Небезопасные коммуникации | — | — | M5 |
| Формат | Описание |
|---|
| JSON (по умолчанию) | Машиночитаемый. Все находки включают id, severity, owasp, description и evidence. Идеально для интеграции в конвейер. |
| HTML / PDF | Таблицы серьезности с цветовой кодировкой — CRITICAL красный, HIGH оранжевый, MEDIUM янтарный. |
| TXT | Человекочитаемый, находки отсортированы по серьезности с указанием местоположения файлов и описаний. |