
モバイルエッジ動的統合セキュリティ分析
Android/iOSアプリのランタイムテストと調査のためのモジュラー自動化フレームワークおよびスクリプトリポジトリ。ペネトレーションテスターやマルウェアアナリスト向けに設計されています。モジュールをプラグインして、プロテクション(SSLピニングなど)のバイパス、ネットワーク/WebViewアクティビティの検査、APIコールのトレース、メモリ/暗号の調査、マルウェアの動作監視をすべて単一の調整されたスクリプトで実行できます。内部ではFRIDA上で動作し、90以上の再利用可能なモジュールを搭載しているため、テストのスケーリングと繰り返しが容易です。
システム要件:
GitHubからのインストール:
# システムのpython3/pipを使用
pip3 install -r requirements.txt
# または仮想環境内(推奨)
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
または、最新の安定版をこちらからダウンロードしてください。
Dockerの使用:
medusa/ディレクトリに事前設定済みのDockerfileがあります。
イメージをビルド: docker build -t medusa:latest ./
コンテナを実行: docker run --name medusa --net=host --rm -it medusa:latest
物理デバイスまたはエミュレータでADB over TCP/IPを有効にする: adb tcpip 5555
コンテナ内からデバイスに接続: root@docker# adb connect <device_ip>:5555
macOSでのインストール中に、次の問題が発生する可能性があります:
Readline features including tab completion have been disabled because no supported version of readline was found. To resolve this, install pyreadline3 on Windows or gnureadline on Linux/Mac.
解決するには、Python用のgnureadlineパッケージをインストールしてください:
pip install gnureadline
Python 3.12の場合は、次のコマンドで特定のコミットからgnureadlineをインストールします:
pip install git+https://github.com/ludwigschwardt/python-gnureadline.git@8474e5583d4473f96b42745393c3492e2cb49224
古いバージョンのMedusaからアップグレードしていて、Mangoとのデータベース互換性の問題が発生した場合は、DATABASE_MIGRATIONS.mdを参照して移行手順を確認してください。
重要: 既存のMangoデータベースがあり、アップデート後にエラーが発生した場合は、移行ガイドをチェックしてデータベーススキーマを更新してください。
各プラットフォームに適したエントリスクリプトを実行します:
# Android
python3 medusa.py
# iOS
python3 medusa_ios.py
起動後、MEDUSAは利用可能なデバイスを列挙し、選択を促します。
一般的なインタラクティブワークフロー:
# 利用可能なコマンドを一覧表示、または特定のコマンドのヘルプを表示
medusa> help # または help <コマンド名>
# 利用可能なモジュールを一覧表示
medusa> show all
# モジュールのクイックヘルプ/詳細を表示
medusa> info http_communications/ssl-pinning-bypass
# モジュールを追加(Tabでモジュールパスを補完)
medusa> use http_communications/ # [Tab] を押して自動補完
# デバイスにインストールされているパッケージを一覧表示
medusa> list
# パッケージをインストルメント(パッケージ名で指定)
medusa> run -f com.my.app
# 利用可能なデバイスを表示し、選択
medusa> loaddevice
Medusaの軽量コンパニオンCLI。静的準備と自動化(マニフェスト解析、攻撃面の列挙、アプリ追跡、シンプルなデバイス/プロキシ自動化)を行います。
python3 mango.py <データベース名> を実行して、Mangoの結果を保存するデータベースを作成または読み込みます。
# 利用可能なデバイスを表示し、選択
mango> loaddevice
# アプリをプル(パッケージ名で指定)
mango> pull com.my.app
# 分析のためにアプリをインポート
mango> import /path/to/apk
これはオプションであり、標準のMedusa CLIワークフローには必要ありません。
Android MCPサーバー(medusa_android_mcp.py)を使用する場合は、MCP要件をインストールしてください:
pip install -r requirements-mcp.txt
# 実行
MEDUSA_MCP_TRANSPORT=streamable-http python medusa_android_mcp.py
"medusa-android": {
"type": "http",
"url": "http://127.0.0.1:8000/mcp"
}
高度な使い方や例については、wikiをご覧ください。クイックヒントや入門ワークフローについては、以下のデモをチェックしてください:
以下の方法でこのプロジェクトに貢献できます:
SthenoはMedusaのサブプロジェクトで、このフレームワーク内でのインテント監視専用に設計されています。以下はSthenoを効果的にセットアップして使用するためのクイックガイドです。
インテントモジュールを含める:
intents/start_activity モジュールをMedusaプロジェクトに追加します:
medusa> add intents/start_activity
ソケットサーバーを実行する: Medusaソケットサーバーを起動して通信を可能にします:
medusa> startserver
Sthenoを起動する: Sthenoを開き、インテントモニターメニューに移動して開始をクリックし、インテントの監視を開始します。






この種のマルウェアに共通するAPIコールをフックします。以下を含みます:
- 連絡先の流出
- 通話ログの流出
- カメラ使用
- マイク使用
- 位置情報追跡
- ファイルアップロード
- メディア録画
- クリップボード追跡
- デバイス偵察
- スクリーンショット撮影
'setText'呼び出しをフックしてアプリケーションのUIを翻訳します
