返回更新列表
新发布Sep 9, 2026

mobileAudit v3.2.0

Django 应用程序,用于对 Android APK 执行 SAST 和恶意软件分析。

分享

Mobile Audit

Icon

MobileAudit - Android移动APK的SAST与恶意软件分析

一个Django Web应用程序,用于对Android APK进行静态分析并检测恶意内容。该项目提取应用元数据,扫描源代码中的弱点,并将结果(SAST发现、最佳实践、证书信息、字符串、数据库、文件、VirusTotal等)聚合到可浏览的仪表盘和API中。

DeepWiki文档:https://deepwiki.com/mpast/mobileAudit


App

每次扫描都会包含以下信息:

  • APK信息与分析:应用信息、安全信息、组件、证书信息、字符串、数据库、文件
  • SAST发现,按CWE和Mobile Top 10映射分类
  • 带有可切换规则的模式引擎
  • 针对MalwareDB和Maltrail的恶意软件域名检查
  • VirusTotal (API v3) 查找与可选上传(默认禁用)
  • DefectDojo集成(API v2,可选)用于导出发现
  • 支持Swagger和ReDoc的API,以及基于令牌的身份验证
  • 将扫描报告导出为PDF
  • 可编辑的发现,用于误报分类

App

为了方便访问,扫描页面左侧有一个侧边栏:

Menu

组件

Schema

  • 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镜像

镜像标签基础
mpast/mobile_audit3.0.0python:3.9.16-buster
mpast/mobile_audit2.2.1python:3.9.7-buster
mpast/mobile_audit1.3.8python:3.9.4-buster
mpast/mobile_audit1.0.0python:3.9.0-buster

主要功能

  • 在Docker中运行,易于复现部署
  • 提取并显示详细的APK信息
  • SAST规则映射到CWE和Mobile Top 10风险
  • 恶意软件指标检测(MalwareDB / Maltrail)
  • VirusTotal和DefectDojo的集成点(可选)
  • 将扫描结果导出为PDF
  • 用户认证、管理和基于令牌的API
  • Swagger和ReDoc文档
  • 支持生产环境的TLS Nginx配置

计划/愿望清单

  • LDAP集成
  • 导出为Markdown / CSV
  • 动态页面重新加载改进(进行中)

模式

  • 该应用包含一个规则/模式引擎,用于检测APK内的潜在漏洞和恶意代码片段。
  • 模式可配置,并可从/patterns UI启用/禁用。
  • 注意:部分硬编码模式源自apkleaks项目:https://github.com/dwisiswant0/apkleaks

Patterns

模型

应用程序为扫描信息的每个实体创建了模型,以便能够建立关系并对每个APK获得最佳结论。

Models

要查看完整的模型架构,请转到models

安装

使用Docker-compose:

提供的docker-compose.yml文件允许你在本地开发环境中运行该应用。

要构建本地镜像,并且如果本地Application Dockerfile有更改,你可以使用以下命令构建镜像:

docker-compose build

然后,启动容器:

docker-compose up

可选:以分离模式运行(不查看日志)

docker-compose up -d

应用启动后,你可以通过导航到 http://localhost:8888/ 来测试应用,以访问仪表盘。

Dashboard

另外,还有一个使用docker-compose.prod.yaml的TLS版本,运行在443端口

要使用它,执行

  docker-compose -f docker-compose.prod.yaml up

然后,你可以通过导航到 https://localhost/ 来测试应用,以访问仪表盘。

更多信息,请参见TLS

要停止并移除容器,运行

docker-compose down

API v1

与Swagger和ReDoc的REST API集成。

使用

  • 用于认证并获取令牌的端点: /api/v1/auth-token/

Auth token

  • 认证后,在所有请求中使用头: Authorization: Token <ApiKey>

Swagger

Swagger

ReDoc

ReDoc

端点

  • 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禁用。

贡献

如果你愿意贡献,请参见贡献指南


分类