Contents
With MobSF (Mobile Security Framework), you upload a mobile app file in your browser and get a list of places that may cause problems. This review covers only one use: checking apps that you built yourself.
This review is for people who build Android or iOS apps and want to check them for security issues before release. After reading it, you can do the following:
- Start MobSF with Docker
- Run static analysis on your own APK or similar file and read the results
- Decide what you need for dynamic analysis
What MobSF is for
MobSF is a security assessment tool for Android, iOS, and Windows apps. It analyzes apps in two ways.
| Static analysis | Dynamic analysis | |
|---|---|---|
| Method | Takes the app file apart and reads it | Runs the app and watches what it does |
| Input | APK, IPA, APPX, or source code | Android or iOS apps |
| What you need | Only MobSF | A supported Android emulator, device, or similar |
| What you learn | Permissions, settings, code issues, and more | Runtime data, network traffic, and more |
MobSF also has REST APIs and CLI tools, so you can add automatic checks to a CI/CD pipeline.
Try it safely with static analysis of your own app
Start with static analysis only. All you need is Docker. The official docs recommend Docker 20.10.0 or later.
-
Following the official docs, pull the latest image and start it.
docker pull opensecurity/mobile-security-framework-mobsf:latest docker run -it --rm -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest -
Open
http://127.0.0.1:8000in your browser. -
Log in with the default username and password (both are
mobsf). -
Upload an APK or other file that you built. When the analysis finishes, the results page appears.
-
Review the findings about permissions and settings, and check that they match what you intended.
This command uses --rm, so stopping MobSF removes the container and the analysis results stored in it. To keep results, follow the “Docker options” page of the official docs and mount a local folder to /home/mobsf/.MobSF in the container.
What dynamic analysis needs
For dynamic analysis, start a supported Android virtual device or physical device before you start MobSF. The official docs list these main options:
| Environment | What the docs say |
|---|---|
| Genymotion Desktop | Recommended as the setup with the least friction |
| Android Studio Emulator | Create the virtual device from an image without the Google Play Store |
| Physical Android device | Enable Developer options and USB debugging (beta, from v4.6.0) |
| iOS | Needs a Corellium iOS VM or a jailbroken iOS device (beta) |
Full rooted support covers Android up to 11 (API 30). The docs say newer versions and non-rooted devices use Frida Gadget mode (beta) from v4.6.0. This mode modifies and re-signs the app, so the app’s signature changes. At the time of writing, the latest GitHub release is v4.5.3. If you plan to use a physical device or Frida Gadget mode, check that your version supports it.
To run MobSF for dynamic analysis, pass the device identifier in MOBSF_ANALYZER_IDENTIFIER and also publish port 1337.
docker run -it --rm \
-p 8000:8000 \
-p 1337:1337 \
-e MOBSF_ANALYZER_IDENTIFIER=<adb device identifier> \
opensecurity/mobile-security-framework-mobsf:latest
On Linux, also add --add-host=host.docker.internal:host-gateway. The Dynamic Analyzer page of the official docs explains how to find the identifier for each environment.
Cautions
- Only analyze apps that you built or that you have written permission to test. Analyzing other people’s apps may be forbidden by their terms of use.
- The default username and password are public. Don’t run MobSF where it can be reached from the internet.
- If you use a physical device for dynamic analysis, an ADB server port (5037) that others can reach gives full control of every attached device. As the official docs say, restrict it with a firewall so only the Docker host can reach it.
- VirusTotal integration is off by default. If you turn it on and also allow file uploads (
MOBSF_VT_UPLOAD), your app files are sent to VirusTotal. Be careful with apps that are not public yet. - During static analysis, the domain malware scan (
MOBSF_DOMAIN_MALWARE_SCAN) is on by default.
Read next
Sources
- Official repository READMEgithub.com/MobSF/Mobile-Security-Framework-MobSF
- Docs: Running MobSF with Dockermobsf.github.io/docs/
- Docs: Dynamic Analyzermobsf.github.io/docs/
- Docs: Docker optionsmobsf.github.io/docs/
- Docs: Configurationsmobsf.github.io/docs/
- Release: v4.5.3github.com/MobSF/Mobile-Security-Framework-MobSF/releases/tag/v4.5.3
Checked on 2026-10-24
Similar tools
Ghidra
Impact Local onlyA software reverse engineering suite from the NSA that disassembles and decompiles compiled programs so you can read what they do.
- Purpose
- Learning
- Type
- Desktop app
- Difficulty
- Advanced
- License
- PermissiveApache-2.0
- Category
- Reverse engineering / Learning and practice labs
ZAP
Impact Can harm othersA free web app scanner that sits between your browser and a web app, records the traffic, and looks for vulnerabilities. Formerly OWASP ZAP, now ZAP by Checkmarx.
- Purpose
- Audit
- Type
- Desktop app
- Difficulty
- Intermediate
- License
- PermissiveApache-2.0
- Category
- Web security / Vulnerability scanning