针对 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 | Web 应用程序和 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