À propos du projet

MergeMind est un analyseur de merge requests intégré au CI, destiné aux équipes devant fournir des preuves d'audit concernant les modifications de code. Il s'exécute en tant que GitHub Action ou tâche GitLab CI, inspecte le diff d'une pull/merge request et publie une évaluation structurée sous forme de commentaire ou de note. ## Ce qu'il produit Pour chaque pull request, l'outil génère : - un titre et un résumé de PR structurés - une évaluation du niveau de risque (Faible / Moyen / Élevé) - un mappage de conformité par rapport aux contrôles SOX, SOC2 et ISO 27001 (l'exemple du README cite SOX CC6.1, SOC2 CC6.1 et ISO 27001 A.9.4 pour un changement d'authentification) - une analyse des écarts de contrôle - des recommandations de remédiation Le README illustre la différence entre une description vague telle que "mise à jour de certains fichiers et correction de bugs" et un résumé titré, un niveau de risque, un mappage de contrôle, un écart identifié (l'application du MFA non couverte par les tests) et une action suggérée avant la fusion vers la branche main. ## Fonctionnement GitHub Actions : vous ajoutez un workflow qui se déclenche sur `pull_request` (opened, synchronize, reopened), effectue un checkout avec `fetch-depth: 0` pour que la plage de diff soit résolue, et appelle `gusinfosec/mergemind@v1`. Le secret requis est `OPENAI_API_KEY` ; un secret de clé de licence est optionnel. L'action nécessite les permissions `contents: read` et `pull-requests: write`, et le commentaire est créé lors du premier push puis mis à jour ultérieurement. GitLab CI : le README précise que le chemin GitLab est encore basé sur le copier-coller — vous copiez `examples/gitlab-ci.yml` dans votre dépôt (ou fusionnez la tâche), ce qui clone MergeMind dans `.mergemind` et y exécute l'analyse. Les variables CI/CD requises sont `OPENAI_API_KEY` et un jeton d'accès personnel `MERGEMIND_GITLAB_TOKEN` avec le scope `api` pour publier des notes de MR ; `MERGEMIND_GITLAB_HOST` couvre les instances auto-hébergées et par défaut gitlab.com. Le packaging de l'action en une seule ligne est réservé à GitHub Actions. ## Licences et limites Le niveau gratuit couvre le titre et le résumé de la PR ainsi que le niveau de risque. Le mappage de conformité, l'analyse des écarts de contrôle, les recommandations de remédiation et l'analyse complète du diff sans limite de jetons sont listés comme des fonctionnalités réservées à la licence. La licence est décrite comme un achat unique de 29 $ via Stripe, avec une clé de licence stockée en tant que secret de dépôt/CI ; le README affirme également l'existence d'un niveau gratuit fonctionnant sans clé. Notez que le badge du dépôt indique une licence MIT alors que plusieurs fonctionnalités clés sont conditionnées par cette clé payante. ## Posture de sécurité décrite Le traitement s'effectue à l'intérieur de votre propre runner CI, les clés API sont conservées comme secrets CI, et le README stipule qu'aucun code n'est stocké externement. Les diffs sont néanmoins envoyés à l'API OpenAI pour analyse, ce qu'il convient de vérifier par rapport à vos propres exigences de manipulation des données. ## Considérations pratiques Avant l'adoption, prévoyez un budget pour une clé API OpenAI et les coûts du modèle par exécution, déterminez si l'envoi de diffs à un fournisseur de modèle externe est acceptable pour les dépôts concernés, et considérez les mappages de contrôle comme des aides pour le réviseur plutôt que comme une opinion d'audit. Le projet est publié par Cyber Global Technologies LLC avec un contact support à team@mergemind.dev ; les demandes d'entreprise sont adressées à info@cyberglobal.ai.