移动边缘动态统一安全分析
一个模块化自动化框架和脚本仓库,用于运行时测试和调查 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 功能(包括 Tab 补全)已禁用,因为未找到受支持的 readline 版本。 要解决此问题,请在 Windows 上安装 pyreadline3,或在 Linux/Mac 上安装 gnureadline。
解决方案:为 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 <command-name>
# 列出可用模块
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 <database-name> 来创建或加载用于存储 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 的子项目,专门用于该框架内的 Intent 监控。以下是快速设置和有效使用 Stheno 的指南。
包含 Intent 模块:
将 intents/start_activity 模块添加到你的 Medusa 项目:
medusa> add intents/start_activity
运行套接字服务器: 启动 Medusa 套接字服务器以促进通信:
medusa> startserver
启动 Stheno: 打开 Stheno 并导航到 Intent 监控菜单,然后单击 Start 开始监控 Intent。






钩取了此类恶意软件中常见的 API 调用,包括:
- 联系人泄露
- 通话记录泄露
- 摄像头使用
- 麦克风使用
- 位置追踪
- 文件上传
- 媒体录制
- 剪贴板追踪
- 设备侦察
- 屏幕截图捕获
通过钩取 'setText' 调用来翻译应用的 UI
