
Moxy é uma ferramenta DAST de código aberto projetada para testes de segurança modernos em aplicações web. Ela fornece uma interface fácil de usar com capacidades agênticas para auxiliar e automatizar fluxos de trabalho de pentest.
Moxy (Proxy Man-in-the-Middle de Nova Geração) Ferramenta DAST de código aberto para testes de penetração alimentada por capacidades de IA agentica (Suportando Ollama). Construída sobre o browser-use, Moxy simplifica os testes de segurança dinâmica de aplicações.
🚀 INCRIVELMENTE FÁCIL DE USAR
E é gratuito, quem não gosta de coisas grátis?
Alerta de Pré-visualização:
🚧 Moxy está em desenvolvimento ativo e atualmente em pré-visualização/beta.
Espere mudanças que quebram compatibilidade, instabilidade e funcionalidades faltantes.
Use por sua conta e risco e acompanhe as atualizações do projeto para as últimas melhorias!
Para executar isso por enquanto, você precisa executar o frontend e backend separadamente.
Antes de executar Moxy, você precisa instalar o uv (astral-uv), um instalador e resolvedor de pacotes Python rápido.
Instalar uv:
uv no seu sistema.Nota:
uvé necessário para gerenciar dependências Python no backend. Se você não o tiver instalado, os comandos do backend falharão.
Navegue até o diretório backend:
cd backend
Instale as dependências e execute o servidor backend:
uv sync
uv run moxy
Navegue até o diretório frontend:
cd frontend
Instale as dependências:
npm install
Inicie o servidor de desenvolvimento frontend:
npm run moxy
Nota:
Por padrão, o frontend executa em http://localhost:8080
e o backend executa em http://localhost:5000
Moxy pode ser executado usando Docker para implantação mais fácil e ambientes consistentes. Desta forma, você pode colaborar e instalar facilmente.
projects_data contém todos os bancos de dados e logs necessários. É a pasta de dados.
Puxe e execute a imagem pré-construída do GitHub Container Registry:
docker run -d \
--name moxy \
-p 5000:5000 \
-p 8081:8081 \
-v $(pwd)/projects_data:/app/projects_data \
ghcr.io/matank001/moxy:latest
Construa e inicie o contêiner:
docker-compose up -d --build
Acesse a aplicação:
Configure seu navegador para usar o proxy:
Quando executando no Docker, você precisa configurar manualmente seu navegador para usar o proxy:
localhost (ou 127.0.0.1)8081Nota:
O proxy executa dentro do contêiner Docker, mas está acessível emlocalhost:8081na sua máquina host.
Você pode configurar as configurações de proxy nas configurações de rede do seu navegador ou usar extensões de navegador para gerenciamento de proxy.
Visualize logs:
docker-compose logs -f
Pare o contêiner:
docker-compose down
Crie um arquivo .env na raiz do projeto para configurar a aplicação (você precisa colocá-lo dentro do diretório backend/):
Nota:
O arquivo.envé opcional. O Docker Compose o carrega automaticamente se presente (nenhum aviso se ausente).
Todos os dados do projeto são persistidos no diretórioprojects_data, que é montado como um volume.
Por padrão, o Moxy funciona sem exigir qualquer configuração ou credenciais de IA - até mesmo fluxos DAST baseados em navegador não usam IA a menos que ativado.
Moxy suporta tanto API do OpenAI quanto Ollama (IA local) para funcionalidades agenticas. Para habilitar capacidades alimentadas por IA:
Para desenvolvimento local: Crie um arquivo .env no diretório backend com a configuração apropriada.
Para Docker: Crie um arquivo .env na raiz do projeto (mesmo diretório que docker-compose.yml).
Para processamento de IA baseado em nuvem com OpenAI, configure seu arquivo .env da seguinte forma:
OPENAI_API_KEY=sk-proj-... # Sua chave de API OpenAI
MODEL=gpt-4o-mini # Opcional: padrão é gpt-4o-mini se não especificado
Para processamento de IA local com Ollama, configure seu arquivo .env da seguinte forma:
USE_OLLAMA=true
OPENAI_API_KEY=test # Obrigatório, mas o valor é ignorado ao usar Ollama
OPENAI_BASE_URL=http://localhost:11434/v1/ # Endpoint da API Ollama
MODEL=qwen3:8b # Seu modelo Ollama preferido
Capacidades do Agente:
O agente usa IA para raciocinar sobre a superfície de ataque da sua aplicação, reproduzir ou modificar tráfego, e até mesmo conduzir sessões de navegador para gerar novos cenários de teste.
Aviso:
Os modos de IA agentica são atualmente experimentais e podem ser instáveis.
Moxy aproveita o MITMproxy como um proxy de interceptação HTTP/HTTPS para capturar e modificar tráfego durante testes de segurança dinâmica de aplicações.
Por padrão, o proxy executa na porta 8081.
Você pode configurar seu navegador ou sistema para usar http://localhost:8081 como proxy para rotear tráfego através do MITMproxy e permitir que o Moxy analise e interaja com as requisições em tempo real.
Para analisar tráfego HTTP e HTTPS do Firefox através do Moxy, você precisa configurar o Firefox para usar o proxy do Moxy e importar o certificado do proxy para que o tráfego do navegador (incluindo HTTPS) possa ser interceptado adequadamente.
Certifique-se de que o Moxy (e seu processo MITMproxy) está em execução.
Configurações (ou Preferências em alguns sistemas).localhost e Porta para 8081.
localhost:8081 também.Agora, todo o tráfego do navegador será roteado através do proxy do Moxy em
http://localhost:8081.
mitmproxy-ca-cert.pem).Configurações → Privacidade e Segurança no Firefox.Após concluir estas etapas, o Firefox confiará nas conexões HTTPS interceptadas pelo proxy do Moxy.
Agora você está pronto para analisar e testar dinamicamente aplicações web via HTTP e HTTPS sem avisos de certificado.
Para mais detalhes, consulte a documentação de certificados do MITMproxy.
moxy.db - Banco de dados principal que armazena metadados do projetoprojects_data/{project_name}.db - Bancos de dados de projetos individuais (nomeados após o projeto, sanitizados)
Aviso:
Nesta fase, não há garantia de migração de banco de dados ou compatibilidade reversa entre versões—versões futuras podem quebrar a compatibilidade com arquivos de banco de dados antigos. Use com cautela se planeja atualizar.
Moxy é projetado estritamente para fins de testes de segurança ética e pesquisa. Ele destina-se a ajudar profissionais de segurança, desenvolvedores e organizações a identificar e corrigir vulnerabilidades em aplicações que possuem ou têm permissão explícita para testar.