Referência da CLI
O backend do Ogma em Rust pode ser executado como servidor proxy local, processo MCP incorporado ou comando de pentest sem interface gráfica.
Os usuários da versão desktop empacotada normalmente iniciam o Ogma pelo aplicativo. A CLI é útil para desenvolvimento, automação e testes locais em modo servidor.
Modo servidor
bash
ogma \
--listen 127.0.0.1:8080 \
--api-port 127.0.0.1:8181 \
--data-dir ./ogma-dataOpções comuns
| Opção | Padrão | Finalidade |
|---|---|---|
--listen | 127.0.0.1:8080 | Endereço de escuta do proxy. |
--api-port | 127.0.0.1:8181 | Endereço do servidor da API REST e do frontend. |
--data-dir | ./ogma-data | Banco de dados do projeto, certificados, plugins, exportações e estado local. |
--max-plugin-size | 52428800 | Tamanho máximo do pacote de plugin em bytes. |
--intercept-queue-cap | 1000 | Número máximo de itens na fila de interceptação antes que o tráfego novo seja encaminhado. |
--ui-dir | não definido | Diretório com os arquivos compilados do frontend a serem servidos pelo servidor da API. |
Opções de OAST
| Opção | Padrão | Finalidade |
|---|---|---|
--oast-http-port | 8888 | Serviço de escuta de callbacks HTTP. Use 0 para desativar. |
--oast-https-port | 8443 | Serviço de escuta de callbacks HTTPS. Use 0 para desativar. |
--oast-dns-port | 5353 | Serviço de escuta de callbacks DNS. Use 0 para desativar. |
--oast-smtp-port | 2525 | Serviço de escuta de callbacks SMTP. Use 0 para desativar. |
--oast-domain | oast.local | Domínio usado nos nomes de host gerados para callbacks. |
--oast-public-ip | não definido | IP público retornado pelas respostas de registros A do DNS de OAST. |
Modo de pentest sem interface gráfica
O subcomando pentest executa descoberta, análise passiva e varredura ativa opcional, e gera um relatório Markdown.
bash
ogma pentest https://example.com \
--depth 3 \
--concurrency 10 \
--min-severity medium \
--output report.mdOpções de pentest
| Opção | Padrão | Finalidade |
|---|---|---|
--depth | 3 | Profundidade da descoberta. 0 significa ilimitada. |
--concurrency | 10 | Número máximo de requisições simultâneas. |
--no-active | desativado | Desativa a varredura ativa; executa apenas descoberta e análise passiva. |
--min-severity | medium | Severidade mínima que retorna o código de saída 1. Valores válidos: info, low, medium, high, critical. |
--output | stdout | Grava o relatório em um arquivo em vez de stdout. |
Códigos de saída:
| Código | Significado |
|---|---|
0 | Concluído e nenhum achado atingiu o limiar de severidade. |
1 | Concluído e pelo menos um achado atingiu o limiar de severidade. |
2 | Erro de execução ou configuração. |
Modo MCP
O MCP pode ser iniciado pelas configurações do Ogma ou pelo binário independente ogma-mcp. As opções ocultas do backend também permitem o modo MCP incorporado quando o Ogma inicia um processo MCP interno.
Para a configuração normal, consulte Configuração do MCP.
Opções do ogma-mcp independente
bash
ogma-mcp \
--api-url http://127.0.0.1:8181 \
--body-preview-bytes 2048| Opção | Variável de ambiente | Padrão | Finalidade |
|---|---|---|---|
--api-url | OGMA_API_URL | http://127.0.0.1:8181 | URL da API do backend do Ogma em execução. |
--body-preview-bytes | não definido | 512 | Número máximo de bytes de prévia do corpo retornados pelas ferramentas de leitura. |
--allow-write-findings | OGMA_MCP_ALLOW_WRITE_FINDINGS | desativado | Habilita criação e atualização de achados, tags e vinculação de evidências. |
--allow-export-data | OGMA_MCP_ALLOW_EXPORT_DATA | desativado | Habilita a criação de tarefas de exportação. |
--allow-read-secrets | OGMA_MCP_ALLOW_READ_SECRETS | desativado | Retorna os valores das variáveis de ambiente sem mascaramento. |
--allow-send-requests | OGMA_MCP_ALLOW_SEND_REQUESTS | desativado | Habilita ferramentas que enviam tráfego, controlam o navegador, rastreiam, sondam, testam autenticação ou se conectam a WebSockets. |
--allow-run-workflows | OGMA_MCP_ALLOW_RUN_WORKFLOWS | desativado | Habilita ferramentas de prévia, execução e cancelamento de fluxos de trabalho. |
--allow-intercept-control | OGMA_MCP_ALLOW_INTERCEPT_CONTROL | desativado | Habilita controle da fila de interceptação, encaminhamento, descarte e modificação. |
--tool-profile | OGMA_MCP_TOOL_PROFILE | full | Opção de compatibilidade legada. Todas as ferramentas são sempre anunciadas, inclusive quando um comando antigo passa core ou discovery. --mcp-tool-profile é um alias. |
O MCP grava as mensagens do protocolo em stdout, por isso os logs de execução são enviados para stderr.
As variáveis de ambiente booleanas de permissão aceitam true para habilitar a capacidade. O servidor não tem cotas de atividade por minuto ou por sessão; os limites individuais das ferramentas continuam valendo. As opções de cotas removidas não são aceitas. As opções de stdio configuram esse processo independentemente das configurações do MCP incorporado.
Compilações de desenvolvimento
Os scripts de compilação local estão disponíveis na raiz do repositório:
bash
./build-local.sh
./build-desktop-local.shUse a compilação de desktop para testar a experiência empacotada do Electron. Use a compilação de backend/frontend para testar o comportamento da API e da interface web.