
Análise de Segurança Unificada Dinâmica para Mobile Edge
Um framework de automação modular e repositório de scripts para testes de runtime e investigação de aplicativos Android e iOS, projetado para testadores de penetração e analistas de malware. Ele permite conectar módulos para bypass de proteções (como SSL pinning), inspecionar atividades de rede/WebView, rastrear chamadas de API, examinar memória/criptografia e monitorar comportamento de malware — tudo a partir de um único script coordenado. Funciona internamente com FRIDA e inclui mais de 90 módulos reutilizáveis, facilitando a escalabilidade e repetibilidade dos testes.
Requisitos do sistema:
Instalando a partir do github:
# using the system python3/pip
pip3 install -r requirements.txt
# or inside a virtual environment (recommended)
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
Ou baixe a versão estável mais recente aqui
Usando Docker:
Um Dockerfile pré-configurado está disponível no diretório medusa/.
Construa a imagem: docker build -t medusa:latest ./
Execute o contêiner: docker run --name medusa --net=host --rm -it medusa:latest
Ative o ADB via TCP/IP no dispositivo físico ou emulador: adb tcpip 5555
Conecte-se ao dispositivo de dentro do contêiner: root@docker# adb connect <device_ip>:5555
Durante a instalação no macOS, você pode encontrar o seguinte problema:
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.
Para resolver, instale o pacote gnureadline para Python:
pip install gnureadline
Para Python 3.12, use o seguinte comando para instalar o gnureadline a partir de um commit específico:
pip install git+https://github.com/ludwigschwardt/python-gnureadline.git@8474e5583d4473f96b42745393c3492e2cb49224
Se você estiver atualizando de uma versão mais antiga do Medusa e encontrar problemas de compatibilidade de banco de dados com o Mango, consulte DATABASE_MIGRATIONS.md para instruções de migração.
Importante: Se você possui um banco de dados Mango existente e receber erros após a atualização, verifique o guia de migração para atualizar o esquema do banco de dados.
Execute o script de entrada apropriado para cada plataforma:
# Android
python3 medusa.py
# iOS
python3 medusa_ios.py
Após a inicialização, o MEDUSA enumerará os dispositivos disponíveis e permitirá que você escolha um.
Fluxo interativo comum
# list available commands or get help about a specific command
medusa> help # or help <command-name>
# list available modules
medusa> show all
# get quick help/details about a module
medusa> info http_communications/ssl-pinning-bypass
# add a module (Tab completes module paths)
medusa> use http_communications/ # press [Tab] to autocomplete
# list installed packages on the device
medusa> list
# instrument a package (by package name)
medusa> run -f com.my.app
# show available devices and select one
medusa> loaddevice
O companheiro CLI leve do Medusa para preparação estática e automação — análise de manifesto, enumeração de superfície de ataque, rastreamento de aplicativos e automação simples de dispositivo/proxy.
Execute python3 mango.py <database-name> para criar ou carregar um banco de dados para armazenar os resultados do Mango.
# show available devices and select one
mango> loaddevice
# pull an app (by package name)
mango> pull com.my.app
# import an app for analysis
mango> import /path/to/apk
Isso é opcional e não é necessário para o fluxo de trabalho padrão da CLI do Medusa.
Se você quiser usar o servidor MCP Android (medusa_android_mcp.py), instale os requisitos do MCP:
pip install -r requirements-mcp.txt
# Run
MEDUSA_MCP_TRANSPORT=streamable-http python medusa_android_mcp.py
"medusa-android": {
"type": "http",
"url": "http://127.0.0.1:8000/mcp"
}
Para uso avançado e exemplos, consulte nossa wiki. Para dicas rápidas e fluxos de trabalho introdutórios, confira as demonstrações abaixo:
Você pode contribuir com este projeto:
Stheno é um subprojeto do Medusa, projetado especificamente para monitoramento de intents dentro deste framework. Abaixo está um guia rápido de como configurar e usar o Stheno de forma eficaz.
Inclua o Módulo de Intent:
Adicione o módulo intents/start_activity ao seu projeto Medusa:
medusa> add intents/start_activity
Inicie o Servidor Socket: Inicie o servidor socket do Medusa para facilitar a comunicação:
medusa> startserver
Execute o Stheno: Abra o Stheno e navegue até o menu Intent Monitor, depois clique em Iniciar para começar a monitorar intents.






Hooks em chamadas de API comuns para esse tipo de malware, incluindo:
- Exfiltração de contatos
- Exfiltração de registros de chamadas
- Uso da câmera
- Uso do microfone
- Rastreamento de localização
- Upload de arquivos
- Gravação de mídia
- Rastreamento da área de transferência
- Reconhecimento do dispositivo
- Captura de tela
Traduz a interface do aplicativo interceptando chamadas 'setText'
