Référence de la CLI
Le backend Rust d'Ogma peut s'exécuter comme serveur proxy local, processus MCP intégré ou commande de test d'intrusion sans interface graphique.
Les utilisateurs de la version de bureau distribuée démarrent généralement Ogma depuis l'application. La ligne de commande est utile pour le développement, l'automatisation et les tests locaux en mode serveur.
Mode serveur
bash
ogma \
--listen 127.0.0.1:8080 \
--api-port 127.0.0.1:8181 \
--data-dir ./ogma-dataOptions courantes
| Option | Valeur par défaut | Fonction |
|---|---|---|
--listen | 127.0.0.1:8080 | Adresse d'écoute du proxy. |
--api-port | 127.0.0.1:8181 | Adresse de l'API REST et du serveur frontend. |
--data-dir | ./ogma-data | Base de données du projet, certificats, plugins, exports et état local. |
--max-plugin-size | 52428800 | Taille maximale d'un paquet de plugin en octets. |
--intercept-queue-cap | 1000 | Nombre maximal d'éléments en attente d'interception avant que le nouveau trafic soit transmis. |
--ui-dir | non définie | Répertoire contenant les fichiers frontend compilés à servir depuis le serveur API. |
Options OAST
| Option | Valeur par défaut | Fonction |
|---|---|---|
--oast-http-port | 8888 | Point d'écoute des rappels HTTP. Utilisez 0 pour le désactiver. |
--oast-https-port | 8443 | Point d'écoute des rappels HTTPS. Utilisez 0 pour le désactiver. |
--oast-dns-port | 5353 | Point d'écoute des rappels DNS. Utilisez 0 pour le désactiver. |
--oast-smtp-port | 2525 | Point d'écoute des rappels SMTP. Utilisez 0 pour le désactiver. |
--oast-domain | oast.local | Domaine utilisé pour les noms d'hôtes générés pour les rappels. |
--oast-public-ip | non définie | Adresse IP publique renvoyée dans les réponses aux requêtes d'enregistrement A du DNS OAST. |
Mode test d'intrusion sans interface graphique
La sous-commande pentest effectue la découverte, l'analyse passive et, éventuellement, l'analyse active, puis produit un rapport Markdown.
bash
ogma pentest https://example.com \
--depth 3 \
--concurrency 10 \
--min-severity medium \
--output report.mdOptions du test d'intrusion
| Option | Valeur par défaut | Fonction |
|---|---|---|
--depth | 3 | Profondeur de découverte. 0 signifie sans limite. |
--concurrency | 10 | Nombre maximal de requêtes simultanées. |
--no-active | désactivée | Désactiver l'analyse active ; effectuer uniquement la découverte et l'analyse passive. |
--min-severity | medium | Niveau minimal de gravité entraînant le code de sortie 1. Valeurs valides : info, low, medium, high, critical. |
--output | sortie standard | Écrire le rapport dans un fichier plutôt que sur la sortie standard. |
Codes de sortie :
| Code | Signification |
|---|---|
0 | Exécution terminée ; aucun constat n'a atteint le seuil de gravité. |
1 | Exécution terminée ; au moins un constat a atteint le seuil de gravité. |
2 | Erreur d'exécution ou de configuration. |
Mode MCP
MCP peut être démarré depuis les paramètres d'Ogma ou via le binaire autonome ogma-mcp. Des options cachées du backend permettent également un mode MCP intégré lorsqu'Ogma lance un processus MCP interne.
Pour une configuration standard, consultez la configuration MCP.
Options du binaire autonome ogma-mcp
bash
ogma-mcp \
--api-url http://127.0.0.1:8181 \
--body-preview-bytes 2048| Option | Variable d'environnement | Valeur par défaut | Fonction |
|---|---|---|---|
--api-url | OGMA_API_URL | http://127.0.0.1:8181 | URL de l'API du backend Ogma en cours d'exécution. |
--body-preview-bytes | non définie | 512 | Nombre maximal d'octets d'aperçu du corps renvoyés par les outils de lecture. |
--allow-write-findings | OGMA_MCP_ALLOW_WRITE_FINDINGS | désactivée | Autoriser la création et la mise à jour des constats, la gestion des étiquettes et l'association d'éléments de preuve. |
--allow-export-data | OGMA_MCP_ALLOW_EXPORT_DATA | désactivée | Autoriser la création de tâches d'export. |
--allow-read-secrets | OGMA_MCP_ALLOW_READ_SECRETS | désactivée | Renvoyer les valeurs non masquées des variables d'environnement. |
--allow-send-requests | OGMA_MCP_ALLOW_SEND_REQUESTS | désactivée | Autoriser les outils qui envoient du trafic, pilotent le navigateur, explorent les sites, envoient des sondes, testent l'authentification ou se connectent aux WebSockets. |
--allow-run-workflows | OGMA_MCP_ALLOW_RUN_WORKFLOWS | désactivée | Autoriser les outils de prévisualisation, d'exécution et d'annulation des workflows. |
--allow-intercept-control | OGMA_MCP_ALLOW_INTERCEPT_CONTROL | désactivée | Autoriser le contrôle de la file d'attente des interceptions, la transmission, l'abandon et la modification des éléments. |
--tool-profile | OGMA_MCP_TOOL_PROFILE | full | Ancienne option conservée pour compatibilité. Tous les outils sont toujours annoncés, y compris lorsqu'une ancienne commande transmet core ou discovery. --mcp-tool-profile est un alias. |
MCP écrit les messages du protocole sur la sortie standard (stdout) ; les journaux d'exécution sont donc envoyés sur la sortie d'erreur (stderr).
Les variables d'environnement booléennes de permission acceptent true pour activer la capacité correspondante. Le serveur n'impose aucun quota d'activité par minute ou par session ; les limites propres à chaque outil restent applicables. Les options de quota supprimées ne sont pas acceptées. Les options du mode stdio configurent ce processus indépendamment des paramètres du MCP intégré.
Compilations de développement
Des scripts de compilation locale sont disponibles à la racine du dépôt :
bash
./build-local.sh
./build-desktop-local.shUtilisez la compilation de bureau pour tester l'expérience Electron distribuée. Utilisez la compilation backend/frontend pour tester le comportement de l'API et de l'interface web.