MobSF(Mobile Security Framework)を使うと、スマートフォンアプリのファイルをブラウザにアップロードするだけで、問題になりそうな箇所の一覧を作れます。この記事では、自分で作ったアプリの点検に絞って使い方を説明します。
この記事は、Android や iOS のアプリを作っていて、公開前に安全面を確かめたい人に向けています。読み終えると、次のことができるようになります。
- Docker で MobSF を起動する
- 自作アプリの APK などを静的解析にかけ、結果を読む
- 動的解析に何が必要かを判断する
MobSF でできること
MobSF は、Android・iOS・Windows のアプリを調べる診断ツールです。調べ方は 2 種類あります。
| 静的解析 | 動的解析 | |
|---|---|---|
| 調べ方 | アプリのファイルを分解して読む | アプリを実際に動かして挙動を見る |
| 入力 | APK、IPA、APPX、ソースコード | Android または iOS のアプリ |
| 必要な環境 | MobSF だけ | 対応する Android エミュレーターや端末など |
| 分かること | 権限、設定、コード中の問題など | 実行中のデータや通信など |
MobSF には REST API と CLI もあり、CI/CD に組み込んで自動で点検することもできます。
安全な試し方:自作アプリを静的解析する
まずは動的解析を使わず、静的解析だけを試します。必要なのは Docker だけです。公式ドキュメントは Docker 20.10.0 以上を勧めています。
-
公式ドキュメントの手順どおりに、最新のイメージを取得して起動します。
docker pull opensecurity/mobile-security-framework-mobsf:latest docker run -it --rm -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest -
ブラウザで
http://127.0.0.1:8000を開きます。 -
初期のユーザー名とパスワード(どちらも
mobsf)でログインします。 -
自分でビルドした APK などをアップロードします。解析が終わると、結果のページが表示されます。
-
権限や設定の指摘を見て、意図したとおりになっているかを確かめます。
この起動方法は --rm を付けているので、止めるとコンテナごと消え、中に保存された解析結果も残りません。結果を残したいときは、公式の「Docker のオプション」にある手順で、手元のフォルダをコンテナの /home/mobsf/.MobSF にマウントします。
動的解析に必要なもの
動的解析では、MobSF を起動する前に、対応する Android の仮想端末か実機を動かしておく必要があります。公式ドキュメントが挙げている主な環境は次のとおりです。
| 環境 | 公式ドキュメントの説明 |
|---|---|
| Genymotion Desktop | 最も手間なく用意できる環境として勧められています |
| Android Studio のエミュレーター | Google Play ストアが入っていないイメージで作る必要があります |
| Android 実機 | 開発者向けオプションと USB デバッグを有効にします(v4.6.0 以降のベータ機能) |
| iOS | Corellium の iOS 仮想端末か、脱獄した iOS 端末(ベータ)が必要です |
root 化した Android での完全な対応は、Android 11(API 30)までです。それより新しい版や root 化していない端末は、v4.6.0 以降の Frida Gadget モード(ベータ)で扱うと説明されています。このモードはアプリに手を加えて署名し直すので、アプリの署名が変わります。なお、この記事を書いた時点で GitHub の最新リリースは v4.5.3 です。実機と Frida Gadget モードを使う場合は、手元の版が対応しているかを確かめてください。
動的解析で起動するときは、端末の識別子を MOBSF_ANALYZER_IDENTIFIER で渡し、ポート 1337 も開けます。
docker run -it --rm \
-p 8000:8000 \
-p 1337:1337 \
-e MOBSF_ANALYZER_IDENTIFIER=<adb device identifier> \
opensecurity/mobile-security-framework-mobsf:latest
Linux では、--add-host=host.docker.internal:host-gateway の追加も必要です。識別子の調べ方は、公式の Dynamic Analyzer のページに環境ごとに書かれています。
注意点
- 解析するのは、自分が作ったアプリか、書面で許可を得たアプリだけにしてください。他人のアプリの解析は、利用規約で禁じられていることがあります。
- 初期のユーザー名とパスワードは公開されています。MobSF をインターネットから届く場所で動かさないでください。
- 動的解析で実機を使うとき、ADB サーバーのポート(5037)を外から触れる状態にすると、つながっている端末をすべて操作されるおそれがあります。公式ドキュメントのとおり、ファイアウォールで Docker のホストだけに制限してください。
- VirusTotal との連携は初期状態では無効です。有効にしてファイルのアップロード(
MOBSF_VT_UPLOAD)まで許可すると、アプリのファイルが VirusTotal へ送られます。公開前のアプリでは注意してください。 - 静的解析では、アプリ内のドメインを調べる機能(
MOBSF_DOMAIN_MALWARE_SCAN)が初期状態で有効です。
次に読む
出典
- 公式リポジトリ READMEgithub.com/MobSF/Mobile-Security-Framework-MobSF
- 公式ドキュメント:Docker での起動(Running MobSF)mobsf.github.io/docs/
- 公式ドキュメント:動的解析(Dynamic Analyzer)mobsf.github.io/docs/
- 公式ドキュメント:Docker のオプションmobsf.github.io/docs/
- 公式ドキュメント:設定項目(Configurations)mobsf.github.io/docs/
- リリース:v4.5.3github.com/MobSF/Mobile-Security-Framework-MobSF/releases/tag/v4.5.3
確認日 2026-10-24
似たツール
Ghidra
影響範囲 手元だけコンパイル済みのプログラムを逆アセンブル・逆コンパイルして、中身を読めるようにするリバースエンジニアリングの道具一式。米国 NSA が開発し公開しています。
- 用途
- 学習
- 形式
- デスクトップアプリ
- 難易度
- 上級
- ライセンス
- 自由に使えるApache-2.0
- 分類
- リバースエンジニアリング/学習・演習環境
ZAP
影響範囲 相手に実害ブラウザと Web アプリの間に入って通信を記録し、脆弱性を探す無料の Web アプリ診断ツール。旧称 OWASP ZAP、現在は ZAP by Checkmarx。
- 用途
- 診断・監査
- 形式
- デスクトップアプリ
- 難易度
- 中級
- ライセンス
- 自由に使えるApache-2.0
- 分類
- Web セキュリティ/脆弱性スキャン