
Moxy è uno strumento DAST open-source progettato per il test di sicurezza delle applicazioni web moderne. Offre un'interfaccia facile da usare con capacità agentiche per assistere e automatizzare i flussi di lavoro di pentesting.
Moxy (Proxy Man-in-the-Middle di Nuova Generazione) Strumento DAST open-source per penetration testing potenziato da capacità AI agentiche (supporto Ollama). Basato su browser-use, Moxy semplifica i test dinamici di sicurezza delle applicazioni.
🚀 ESTREMAMENTE FACILE DA USARE
Ed è gratuito, a chi non piacciono le cose gratuite?
Avviso di anteprima:
🚧 Moxy è in fase di sviluppo attivo e attualmente in anteprima/beta.
Sono previsti cambiamenti radicali, instabilità e funzionalità mancanti.
Utilizzalo a tuo rischio e segui gli aggiornamenti del progetto per le ultime novità!
Per eseguirlo al momento, devi avviare frontend e backend separatamente.
Prima di eseguire Moxy, devi installare uv (astral-uv), un veloce installatore e risolutore di pacchetti Python.
Installa uv:
uv sul tuo sistema.Nota:
uvè necessario per gestire le dipendenze Python nel backend. Se non lo hai installato, i comandi del backend falliranno.
Vai nella directory del backend:
cd backend
Installa le dipendenze e avvia il server backend:
uv sync
uv run moxy
Vai nella directory del frontend:
cd frontend
Installa le dipendenze:
npm install
Avvia il server di sviluppo del frontend:
npm run moxy
Nota:
Di default, il frontend è eseguito su http://localhost:8080
e il backend su http://localhost:5000
Moxy può essere eseguito usando Docker per una distribuzione più semplice e ambienti coerenti. In questo modo puoi collaborare e installare facilmente.
projects_data contiene tutti i database e i log necessari. È la cartella dei dati.
Scarica ed esegui l'immagine precompilata dal 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
Compila e avvia il contenitore:
docker-compose up -d --build
Accedi all'applicazione:
Configura il browser per usare il proxy:
Quando esegui in Docker, devi configurare manualmente il browser per usare il proxy:
localhost (o 127.0.0.1)8081Nota:
Il proxy viene eseguito all'interno del contenitore Docker ma è accessibile sulocalhost:8081sulla tua macchina host.
Puoi configurare le impostazioni del proxy nelle impostazioni di rete del browser o usare estensioni per la gestione del proxy.
Visualizza i log:
docker-compose logs -f
Arresta il contenitore:
docker-compose down
Crea un file .env nella directory principale del progetto per configurare l'applicazione (devi inserirlo nella directory backend/):
Nota:
Il file.envè opzionale. Docker Compose lo carica automaticamente se presente (nessun avviso se mancante).
Tutti i dati del progetto sono conservati nella directoryprojects_data, montata come volume.
Di default, Moxy funziona senza richiedere alcuna configurazione o credenziali AI – anche i flussi DAST basati su browser non usano l'AI se non abilitata.
Moxy supporta sia l'API di OpenAI che Ollama (AI locale) per funzionalità agentiche. Per abilitare le capacità basate sull'AI:
Per lo sviluppo locale: Crea un file .env nella directory backend con la configurazione appropriata.
Per Docker: Crea un file .env nella directory principale del progetto (stessa directory di docker-compose.yml).
Per elaborazione AI basata su cloud con OpenAI, configura il file .env come segue:
OPENAI_API_KEY=sk-proj-... # La tua chiave API OpenAI
MODEL=gpt-4o-mini # Opzionale: di default è gpt-4o-mini se non specificato
Per elaborazione AI locale con Ollama, configura il file .env come segue:
USE_OLLAMA=true
OPENAI_API_KEY=test # Richiesta ma il valore viene ignorato quando si usa Ollama
OPENAI_BASE_URL=http://localhost:11434/v1/ # Endpoint API di Ollama
MODEL=qwen3:8b # Il tuo modello Ollama preferito
Capacità dell'agente:
L'agente usa l'AI per ragionare sulla superficie di attacco della tua applicazione, riprodurre o modificare il traffico e persino guidare sessioni del browser per generare nuovi scenari di test.
Attenzione:
Le modalità AI agentiche sono attualmente sperimentali e potrebbero essere instabili.
Moxy sfrutta MITMproxy come proxy HTTP/HTTPS d'intercettazione per catturare e modificare il traffico durante i test dinamici di sicurezza delle applicazioni.
Di default, il proxy è eseguito sulla porta 8081.
Puoi configurare il browser o il sistema per usare http://localhost:8081 come proxy per instradare il traffico attraverso MITMproxy e permettere a Moxy di analizzare e interagire con le richieste in tempo reale.
Per analizzare il traffico HTTP e HTTPS da Firefox attraverso Moxy, devi configurare Firefox per usare il proxy di Moxy e importare il certificato del proxy in modo che il traffico del browser (incluso HTTPS) possa essere correttamente intercettato.
Assicurati che Moxy (e il suo processo MITMproxy) sia in esecuzione.
Impostazioni (o Preferenze su alcuni sistemi).localhost e Porta su 8081.
localhost:8081.Ora tutto il traffico del browser sarà instradato attraverso il proxy di Moxy su
http://localhost:8081.
mitmproxy-ca-cert.pem).Impostazioni → Privacy e sicurezza in Firefox.Dopo aver completato questi passaggi, Firefox si fiderà delle connessioni HTTPS intercettate dal proxy di Moxy.
Ora sei pronto per analizzare e testare dinamicamente le applicazioni web tramite HTTP e HTTPS senza avvisi di certificato.
Per maggiori dettagli, consulta la documentazione sui certificati di MITMproxy.
moxy.db - Database principale che memorizza i metadati del progettoprojects_data/{nome_progetto}.db - Database dei singoli progetti (nominati in base al progetto, sanitizzato)
Attenzione:
In questa fase, non è garantita la migrazione del database o la retrocompatibilità tra le versioni – le versioni future potrebbero rompere la compatibilità con i vecchi file di database. Usa con cautela se prevedi di aggiornare.
Moxy è progettato strettamente per scopi etici di test di sicurezza e ricerca. È pensato per assistere professionisti della sicurezza, sviluppatori e organizzazioni nell'identificare e correggere vulnerabilità in applicazioni di cui possiedono o hanno esplicita autorizzazione a testare.