mpast/mobileAudit

GitHub: mpast/mobileAudit

基于 Django 的 Android APK 静态安全分析平台,提供 SAST 漏洞检测、恶意软件分析和病毒扫描集成能力。

Stars: 224 | Forks: 49

## Mobile Audit ![图标](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/de5390312d085631.png) **MobileAudit** - 针对 Android 移动 APK 的 SAST 和恶意软件分析 一个基于 Django 的 Web 应用程序,用于执行静态分析并检测 Android APK 内部的恶意内容。该项目提取应用元数据,扫描源代码以查找弱点,并将结果(SAST 发现、最佳实践、证书信息、字符串、数据库、文件、VirusTotal 等)聚合到可浏览的仪表板和 API 中。 DeepWiki 文档:https://deepwiki.com/mpast/mobileAudit - [组件](#components) - [Docker 基础镜像](#docker-base-images) - [主要功能](#main-features) - [规则模式](#patterns) - [模型](#models) - [安装](#installation) - [API v1](#api-v1) - [使用](#usage) - [Swagger](#swagger) - [ReDoc](#redoc) - [端点](#endpoints) - [TLS](#tls) - [前置条件](#pre-requirements) - [Nginx 配置](#nginx-configuration) - [Docker 配置](#docker-configuration) - [环境变量](#environment-variables) ![应用](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/ae3095ca49085632.png) 在每次扫描中,将包含以下信息: - APK 信息和分析:应用信息、安全信息、组件、证书信息、字符串、数据库、文件 - 映射了 CWE 和 Mobile Top 10 的 SAST 发现分类 - 带有可切换规则的规则引擎 - 针对 MalwareDB 和 Maltrail 的恶意域名检查 - VirusTotal (API v3) 查询及可选上传(默认禁用) - DefectDojo 集成 (API v2)(可选),用于导出发现 - 带有 Swagger 和 ReDoc 的 API,以及基于 Token 的认证 - 导出扫描报告为 PDF - 发现可编辑,支持误报分类标记 ![扫描](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/dc6f39245d085633.png) 为了便于访问,扫描页面的左侧有一个侧边栏: ![菜单](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/20b1dbb86d085634.png) ### 组件 ![架构](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/f2333dcb54085636.png) - **db**: PostgreSQL 3.11.5 - **nginx**: Nginx 1.23.3 - **rabbitmq**: RabbitMQ 3.11.5 - **worker**: Celery 5.2.2 - **web**: Mobile Audit App (Django 3.2.16) ### Docker 基础镜像 镜像基于 python buster。链接到 [Docker Hub 镜像](https://hub.docker.com/repository/docker/mpast/mobile_audit) | Image | Tags | Base | |--------------------|-------|--------------------- | | 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 | ### 主要功能 - 在 Docker 中运行,实现轻松、可复现的部署 - 提取并显示详细的 APK 信息 - 映射到 CWE 和 Mobile Top 10 风险的 SAST 规则 - 恶意软件指标检测 (MalwareDB / Maltrail) - VirusTotal 和 DefectDojo 的集成点(可选) - 导出扫描结果为 PDF - 用户认证、管理和基于 Token 的 API - Swagger 和 ReDoc 文档 - 面向生产环境的 TLS-ready Nginx 配置 计划中 / 愿望清单 - LDAP 集成 - 导出为 Markdown / CSV - 动态页面重载改进 (WIP) ### 规则模式 - 该应用包含一个规则/模式引擎,用于检测 APK 内部的潜在漏洞和恶意代码片段。 - 模式是可配置的,可以在 `/patterns` UI 中启用/禁用。 - 注意:一些硬编码的模式源自 apkleaks 项目:https://github.com/dwisiswant0/apkleaks ![规则模式](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/f297abc9a2085637.png) ### 模型 该应用程序为扫描信息的每个实体创建了模型,以便建立关系并为每个 APK 获取最佳结论。 ![模型](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/134be61eb9085638.png) 要查看完整的模型架构,请访问 [models](app/static/models.png) ### 安装 使用 Docker-compose: 提供的 `docker-compose.yml` 文件允许你在本地开发环境中运行该应用。 要构建本地镜像,或者如果本地 Application Dockerfile 有更改,你可以使用以下命令构建镜像: ``` docker-compose build ``` 然后,要启动容器,运行: ``` docker-compose up ``` 可选:在分离模式下运行(不显示日志) ``` docker-compose up -d ``` 应用启动后,你可以通过访问 http://localhost:8888/ 来测试应用程序并访问仪表板。 ![仪表板](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/7ca94736a5085639.png) 此外,还有一个使用 `docker-compose.prod.yaml` 的 TLS 版本,运行在 443 端口 要使用它,请执行 ``` docker-compose -f docker-compose.prod.yaml up ``` 然后,你可以通过访问 https://localhost/ 来测试应用程序并访问仪表板。 更多信息,请参阅 [TLS](#tls) 要停止并移除容器,运行 ``` docker-compose down ``` ### API v1 REST API 集成,支持 Swagger 和 ReDoc。 #### 使用 * 用于认证并获取 Token 的端点: `/api/v1/auth-token/` ![认证 Token](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/81ef7f54b3085640.png) * 认证通过后,在所有请求中使用 Header: `Authorization: Token ` #### Swagger ![Swagger](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/216e6c8aa6085641.png) #### ReDoc ![ReDoc](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/387b7fcc9a085643.png) #### 端点 * API 规范的 JSON 视图:`/swagger.json` * API 规范的 YAML 视图:`/swagger.yaml` * API 规范的 swagger-ui 视图:`/swagger/` * API 规范的 ReDoc 视图:`/redoc/` ### TLS #### 前置条件 * 将证书添加到 `nginx/ssl` 中 * 生成自签名证书: ``` 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 ``` #### Nginx 配置 * TLS - 端口 443:`nginx/app_tls.conf` * 标准 - 端口 8888:`nginx/app.conf` #### Docker 配置 默认情况下,`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` 最小调整 - 设置 SECRET_KEY、数据库凭据和管理员用户凭据。 - 除非你有有效的 API 密钥和可用的服务,否则保持 VirusTotal / DefectDojo 禁用。 ### 贡献 如果你想做出贡献,请参阅 [贡献](CONTRIBUTING.md)
标签:Android 安全, APK 信息提取, APK 扫描器, Ask搜索, Celery, Cuckoo Sandbox, DAST, DevSecOps, Django, Docker, Nginx, OWASP Top 10, PostgreSQL, Python, ReDoc, REST API, SAST, Swagger, TCP/UDP协议, VirusTotal, Web 应用, 上游代理, 后端开发, 后端开发, 威胁情报, 安全防御评估, 应用安全测试, 开发者工具, 恶意域名检测, 恶意软件分析, 无后门, 测试用例, 盲注攻击, 移动安全审计, 移动应用安全, 网络测绘, 请求拦截, 逆向工具, 错误基检测, 静态代码分析