
Приложение на Django, выполняющее SAST и анализ вредоносного ПО для Android APK.
Анализ безопасности Android APK — от загрузки до практических результатов.
Mobile Audit — это приложение на Django для статического анализа безопасности приложений и исследования вредоносного ПО. Оно извлекает метаданные APK, выявляет рискованные шаблоны реализации, упорядочивает находки по уровню критичности и предоставляет специализированное рабочее пространство для проверки и составления отчётов.

Docker Compose запускает полный локальный стек: Django, PostgreSQL, RabbitMQ, Celery и Nginx.
docker compose build
docker compose up
Откройте http://localhost:8888, когда сервисы будут готовы.
Чтобы запустить в фоновом режиме или остановить стек:
docker compose up -d
docker compose down
Перед использованием Mobile Audit вне локальной среды замените пример секрета, учётные данные базы данных и учётные данные администратора в .env.example.
| Область | Что предоставляет Mobile Audit |
|---|---|
| Инспекция APK | Метаданные приложения, компоненты, разрешения, сертификаты, строки, базы данных и файлы |
| Статический анализ | Настраиваемые правила SAST с сопоставлением CWE и Mobile Top 10 |
| Проверки на вредоносное ПО | Проверки доменов по источникам MalwareDB и Maltrail |
| Управление находками | Сводки по критичности, подробные доказательства, редактирование и разбор ложных срабатываний |
| Интеграции | Опциональная проверка VirusTotal и экспорт в DefectDojo |
| Отчётность | Экспорт в PDF, а также REST API с аутентификацией по токену |
Просматривайте историю сканирований приложения и сравнивайте, как меняется количество находок между версиями APK.

Переходите от сводки безопасности к метаданным приложения, разрешениям, компонентам, находкам, сертификатам, строкам, файлам и базам данных.

Интерфейс использует Bootstrap 5 и нативный JavaScript. Навигация, фильтрация таблиц в реальном времени, сортировка, пагинация, подтверждения и обновления статуса сканирования не требуют jQuery.
Правила анализа можно включать или отключать на экране Patterns. Некоторые жёстко заданные шаблоны взяты из apkleaks.

| Сервис | Ответственность |
|---|---|
| Django 5.2 LTS | Веб-приложение и REST API |
| PostgreSQL 16 | Постоянное хранение данных приложения |
| Celery | Фоновый анализ APK |
| RabbitMQ 4.2 | Брокер задач |
| Nginx | Точка входа HTTP или TLS |
Среда выполнения приложения использует Python 3.12. Декомпиляция APK обеспечивается JADX.
Запросите токен:
POST /api/v1/auth-token/
Аутентифицируйте последующие запросы:
Authorization: Token <api-key>
| Документация | Путь |
|---|---|
| Swagger UI | /swagger/ |
| ReDoc | /redoc/ |
| OpenAPI JSON | /swagger.json |
| OpenAPI YAML | /swagger.yaml |
Следующие функции отключены по умолчанию и настраиваются через .env.example:
Включайте только те сервисы, для которых у вас есть действительные конечные точки и учётные данные.
Поместите сертификат и закрытый ключ в nginx/ssl, затем запустите конфигурацию TLS:
docker compose -f docker-compose.prod.yaml up -d
Приложение будет доступно по адресу https://localhost.
Для локального тестирования сгенерируйте самоподписанный сертификат на один день:
openssl req -x509 -nodes -days 1 -newkey rsa:4096 \
-subj "/C=ES/ST=Madrid/L=Madrid/O=Example/OU=IT/CN=localhost" \
-keyout nginx/ssl/nginx.key \
-out nginx/ssl/nginx.crt