Modèle de sécurité
Ogma est conçu pour les tests de sécurité offensive. Il peut donc traiter du trafic HTTP sensible, des identifiants, des cookies, des jetons, des noms d'hôtes internes et des données applicatives privées.
Cette page décrit la gestion des données locales, des certificats, des plugins, de MCP, des fournisseurs d'IA et des exportations dans Ogma.
Données locales par défaut
Ogma stocke les données des évaluations de sécurité localement sur la machine de l'utilisateur. Considérez les dossiers des projets, les bases de données, les données des plugins, les exportations, les sauvegardes, les journaux, les fichiers et les données du navigateur comme des données sensibles issues des tests de sécurité.
Précautions recommandées :
- Ne placez pas les données des projets dans des dépôts Git.
- Examinez les exportations avant de les partager.
- Retirez les cookies, les jetons Bearer, les identifiants de session, les mots de passe et le trafic privé des rapports de bogue publics.
- Chiffrez les disques des systèmes utilisés pour tester des environnements clients ou de production.
- Utilisez un projet distinct par mission ou environnement cible.
- Effacez les données du navigateur entre des clients ou des cibles sans rapport entre eux.
Inspection HTTPS
Ogma peut inspecter le trafic HTTPS lorsque le navigateur ou le système d'exploitation de test fait confiance au certificat CA d'Ogma.
Principes d'utilisation :
- Installez le certificat CA dans le profil du navigateur ou du système d'exploitation utilisé avec Ogma.
- Supprimez ou renouvelez le certificat CA lorsque le profil n'a plus besoin d'inspection HTTPS.
- Utilisez un profil de navigateur dédié aux tests via proxy.
- Régénérez la CA si sa clé privée a pu être copiée.
- Traitez les sauvegardes de la CA comme des secrets.
Navigateur intégré
Ogma inclut un navigateur basé sur Chromium pour les tests via le proxy.
Le navigateur intégré est optimisé pour la capture de trafic et les tests via proxy. Pour naviguer en dehors de ces activités, il est généralement préférable d'utiliser un profil distinct dans un navigateur externe.
Analyse active
L'analyse active envoie des requêtes modifiées à l'application cible. Elle peut déclencher des alertes, modifier des données, créer des enregistrements ou affecter la disponibilité.
Utilisez l'analyse active lorsque :
- La cible est dans le périmètre.
- La fréquence des requêtes et le nombre de requêtes simultanées sont adaptés à l'environnement.
- Les éléments de preuve du scanner seront examinés avant la rédaction du rapport.
Le scanner actif d'Ogma valide les constats à l'aide des éléments de preuve des réponses, d'une comparaison avec une réponse de référence et, si nécessaire, de mesures de temps répétées. Ses résultats doivent toutefois être examinés par la personne qui réalise le test.
Plugins
Les plugins sont des extensions locales. Ils peuvent ajouter de la logique backend, des panneaux frontend et des fonctionnalités de workflow.
Le système de plugins d'Ogma est conçu pour favoriser l'isolation :
- Les plugins frontend s'exécutent dans des iframes placées dans un bac à sable.
- Les appels à la passerelle des plugins sont encadrés.
- Les API des plugins backend sont explicites.
- Les permissions des plugins sont visibles pour l'utilisateur.
- Les paquets des plugins installés sont gérés dans le répertoire des plugins d'Ogma afin d'assurer un comportement stable dans les distributions binaires.
L'examen des plugins fait partie du processus d'installation, car les extensions peuvent traiter le trafic capturé et les données des projets.
Serveur MCP
Le serveur MCP d'Ogma fonctionne en lecture seule par défaut. Les capacités privilégiées nécessitent des permissions explicites dans Paramètres > MCP, ou des options de démarrage pour le mode stdio autonome. Le MCP HTTP intégré est limité à l'interface de bouclage ; cette version ne configure pas d'authentification pour un MCP exposé sur le réseau.
Utilisez uniquement les permissions nécessaires à la tâche :
- Lecture seule pour l'analyse.
- Écriture de constats uniquement pour créer des constats avec l'aide de l'IA.
- Exportation uniquement pour créer volontairement des tâches d'exportation.
- Envoi de requêtes uniquement pour autoriser volontairement du trafic sortant.
- Exécution de workflows uniquement pour autoriser volontairement des actions automatisées.
- Contrôle de l'interception uniquement pour autoriser volontairement la modification de la file d'attente.
- Lecture des secrets uniquement lorsqu'un agent a besoin des valeurs non masquées des variables d'environnement.
La permission d'écriture de constats contrôle également les modifications partagées du projet, telles que celles des variables d'environnement et des règles Rechercher et remplacer. Consultez les permissions MCP avant de l'activer. Les limites propres à chaque outil restent applicables, mais il n'existe aucun quota d'activité par minute ou par session.
Fournisseurs d'IA
Si vous utilisez des fournisseurs d'IA distants depuis l'espace de travail ou via des clients MCP, le trafic capturé peut quitter la machine locale, selon la configuration du fournisseur.
Avant d'envoyer des données à une IA :
- Retirez les identifiants et les données personnelles des données à envoyer.
- Privilégiez des fournisseurs locaux ou approuvés pour les données des clients.
- Vérifiez manuellement les constats générés par l'IA avant de les inclure dans un rapport.
Exportations et rapports
Les exportations peuvent contenir des messages HTTP complets, des corps de réponse, des constats, des résultats Automatisation et des liens vers les éléments de preuve.
Avant de les partager :
- Retirez les secrets.
- Examinez les pièces jointes binaires et les fichiers téléversés.
- Vérifiez que le format d'exportation n'inclut que les données souhaitées.
- Conservez les rapports livrés conformément aux exigences du client en matière de traitement des données.
Signaler des problèmes de sécurité
Signalez en privé les problèmes de sécurité exploitables lorsque le rapport contient des informations sensibles.
En attendant la publication d'une politique de sécurité dédiée, utilisez le système de tickets GitHub uniquement pour les bogues non sensibles et les demandes de fonctionnalités :