
Приложение на Django, выполняющее SAST и анализ вредоносного ПО для Android APK.

MobileAudit — SAST-анализ и анализ вредоносного ПО для Android APK
Веб-приложение на Django для статического анализа и обнаружения вредоносного содержимого в APK-файлах Android. Проект извлекает метаданные приложения, сканирует исходный код на уязвимости и агрегирует результаты (находки SAST, лучшие практики, информация о сертификатах, строки, базы данных, файлы, VirusTotal и другое) в обозреваемую панель управления и API.
Документация DeepWiki: https://deepwiki.com/mpast/mobileAudit

В каждом сканировании будет следующая информация:

Для быстрого доступа на левой панели сканирования есть боковое меню:


Образ основан на python buster. Ссылка на Docker Hub image
В планах / список желаемого
/patterns.
В приложении созданы модели для каждой сущности информации сканирования, чтобы можно было создавать связи и получать наилучшие выводы для каждого APK.

Чтобы увидеть полную схему модели, перейдите к models
Использование Docker-compose:
Предоставленный файл docker-compose.yml позволяет запустить приложение локально в режиме разработки.
Чтобы собрать локальный образ, и если есть изменения в локальном Dockerfile приложения, можно собрать образ с помощью:
docker-compose build
Затем для запуска контейнера выполните:
docker-compose up
Опционально: запуск в detached-режиме (без просмотра логов)
docker-compose up -d
После запуска приложения вы можете проверить его, перейдя по адресу: http://localhost:8888/ для доступа к панели управления.

Также существует TLS-версия с использованием docker-compose.prod.yaml, работающая на порту 443
Чтобы использовать её, выполните
docker-compose -f docker-compose.prod.yaml up
Затем вы можете проверить приложение, перейдя по адресу: https://localhost/ для доступа к панели управления.
Для получения дополнительной информации см. TLS
Чтобы остановить и удалить контейнеры, выполните
docker-compose down
REST API с интеграцией Swagger и ReDoc.
/api/v1/auth-token/
Authorization: Token <ApiKey>

/swagger.json/swagger.yaml/swagger//redoc/nginx/sslopenssl 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
nginx/app_tls.confnginx/app.confПо умолчанию в docker-compose.yml есть том с конфигурацией на порту 8888
- ./nginx/app.conf:/etc/nginx/conf.d/app.conf
В производственной среде используйте docker-compose.prod.yaml с портом 443
- ./nginx/app_tls.conf:/etc/nginx/conf.d/app_tls.conf
Все переменные окружения находятся в файле .env, есть файл .env.example со всеми необходимыми переменными. Также они собраны в app/config/settings.py
Рекомендуемые минимальные настройки .env для локальной разработки:
Если вы хотите внести вклад, см. Contributing
| Изображение | Теги | Основа |
|---|
| mpast/mobile_audit | 3.0.0 | python:3.9.16-buster |
| mpast/mobile_audit | 2.2.1 | python:3.9.7-buster |
| mpast/mobile_audit | 1.3.8 | python:3.9.4-buster |
| mpast/mobile_audit | 1.0.0 | python:3.9.0-buster |