Riferimento della CLI
Il backend Rust di Ogma può essere eseguito come server proxy locale, processo MCP integrato o comando di pentest senza interfaccia grafica.
Gli utenti della versione desktop distribuita come pacchetto normalmente avviano Ogma dall’applicazione. La CLI è utile per lo sviluppo, l’automazione e i test locali in modalità server.
Modalità server
bash
ogma \
--listen 127.0.0.1:8080 \
--api-port 127.0.0.1:8181 \
--data-dir ./ogma-dataOpzioni comuni
| Opzione | Valore predefinito | Funzione |
|---|---|---|
--listen | 127.0.0.1:8080 | Indirizzo di ascolto del proxy. |
--api-port | 127.0.0.1:8181 | Indirizzo del server dell’API REST e del frontend. |
--data-dir | ./ogma-data | Database del progetto, certificati, plugin, esportazioni e stato locale. |
--max-plugin-size | 52428800 | Dimensione massima del pacchetto del plugin in byte. |
--intercept-queue-cap | 1000 | Numero massimo di elementi nella coda di intercettazione prima che il nuovo traffico venga inoltrato. |
--ui-dir | non impostato | Directory contenente i file compilati del frontend da servire tramite il server dell’API. |
Opzioni OAST
| Opzione | Valore predefinito | Funzione |
|---|---|---|
--oast-http-port | 8888 | Servizio di ascolto dei callback HTTP. Usa 0 per disattivarlo. |
--oast-https-port | 8443 | Servizio di ascolto dei callback HTTPS. Usa 0 per disattivarlo. |
--oast-dns-port | 5353 | Servizio di ascolto dei callback DNS. Usa 0 per disattivarlo. |
--oast-smtp-port | 2525 | Servizio di ascolto dei callback SMTP. Usa 0 per disattivarlo. |
--oast-domain | oast.local | Dominio usato per i nomi host generati per i callback. |
--oast-public-ip | non impostato | IP pubblico restituito dalle risposte dei record A del DNS OAST. |
Modalità pentest senza interfaccia grafica
Il sottocomando pentest esegue individuazione, analisi passiva e scansione attiva opzionale, e genera un report Markdown.
bash
ogma pentest https://example.com \
--depth 3 \
--concurrency 10 \
--min-severity medium \
--output report.mdOpzioni pentest
| Opzione | Valore predefinito | Funzione |
|---|---|---|
--depth | 3 | Profondità dell’individuazione. 0 significa illimitata. |
--concurrency | 10 | Numero massimo di richieste simultanee. |
--no-active | disattivato | Disattiva la scansione attiva; esegue solo individuazione e analisi passiva. |
--min-severity | medium | Gravità minima che restituisce il codice di uscita 1. Valori validi: info, low, medium, high, critical. |
--output | stdout | Scrive il report in un file anziché su stdout. |
Codici di uscita:
| Codice | Significato |
|---|---|
0 | Completato e nessun rilievo di sicurezza ha raggiunto la soglia di gravità. |
1 | Completato e almeno un rilievo di sicurezza ha raggiunto la soglia di gravità. |
2 | Errore di esecuzione o configurazione. |
Modalità MCP
MCP può essere avviato dalle impostazioni di Ogma o tramite il binario indipendente ogma-mcp. Le opzioni nascoste del backend supportano anche la modalità MCP integrata quando Ogma avvia un processo MCP interno.
Per la configurazione normale, consulta Configurazione di MCP.
Opzioni di ogma-mcp indipendente
bash
ogma-mcp \
--api-url http://127.0.0.1:8181 \
--body-preview-bytes 2048| Opzione | Variabile d’ambiente | Valore predefinito | Funzione |
|---|---|---|---|
--api-url | OGMA_API_URL | http://127.0.0.1:8181 | URL dell’API del backend Ogma in esecuzione. |
--body-preview-bytes | non impostato | 512 | Numero massimo di byte di anteprima del corpo restituiti dagli strumenti di lettura. |
--allow-write-findings | OGMA_MCP_ALLOW_WRITE_FINDINGS | disattivato | Abilita creazione e aggiornamento dei rilievi di sicurezza, tag e collegamento delle evidenze. |
--allow-export-data | OGMA_MCP_ALLOW_EXPORT_DATA | disattivato | Abilita la creazione di attività di esportazione. |
--allow-read-secrets | OGMA_MCP_ALLOW_READ_SECRETS | disattivato | Restituisce i valori delle variabili d’ambiente senza mascheramento. |
--allow-send-requests | OGMA_MCP_ALLOW_SEND_REQUESTS | disattivato | Abilita strumenti che inviano traffico, controllano il browser, eseguono crawling e sonde, verificano l’autenticazione o si connettono a WebSocket. |
--allow-run-workflows | OGMA_MCP_ALLOW_RUN_WORKFLOWS | disattivato | Abilita gli strumenti di anteprima, esecuzione e annullamento dei flussi di lavoro. |
--allow-intercept-control | OGMA_MCP_ALLOW_INTERCEPT_CONTROL | disattivato | Abilita controllo della coda di intercettazione, inoltro, scarto e modifica. |
--tool-profile | OGMA_MCP_TOOL_PROFILE | full | Opzione di compatibilità con versioni precedenti. Tutti gli strumenti vengono sempre annunciati, anche quando un comando precedente passa core o discovery. --mcp-tool-profile è un alias. |
MCP scrive i messaggi del protocollo su stdout, quindi i log di esecuzione vengono inviati a stderr.
Le variabili d’ambiente booleane delle autorizzazioni accettano true per abilitare la capacità. Il server non ha quote di attività per minuto o per sessione; restano validi i limiti dei singoli strumenti. Le opzioni delle quote rimosse non vengono accettate. Le opzioni stdio configurano quel processo indipendentemente dalle impostazioni MCP integrate.
Compilazioni di sviluppo
Gli script di compilazione locale sono disponibili nella radice del repository:
bash
./build-local.sh
./build-desktop-local.shUsa la compilazione desktop per testare l’esperienza Electron distribuita come pacchetto. Usa la compilazione backend/frontend per testare il comportamento dell’API e dell’interfaccia web.