Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
GitMonitor — Une façon de surveiller en continu les informations sensibles qui pourraient être exposées sur Github | Kitploit
Outils/GitHubGitHub/talkaboutcybersecurity/gitmonitor
OSINT (Renseignement de Sources Ouvertes)ReconnaissanceCollecte d'InformationsDétection de Secrets
GitHubtalkaboutcybersecurity/gitmonitor

GitMonitor

Une façon de surveiller en continu les informations sensibles qui pourraient être exposées sur Github

Voir le dépôt
17240il y a 6 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

GitMonitor

License: GPL v3

GitMonitor

Un moyen de surveiller en continu les informations sensibles qui pourraient être exposées sur Github

Résumé

Je sais qu'il existe de nombreux autres outils pour trouver des informations sensibles actuellement divulguées sur Github, j'en utilise encore moi-même certains. Cependant, je pense qu'il leur manque encore certaines fonctionnalités comme :

  • D'autres outils sont plus axés sur la recherche d'informations sensibles existant dans un dépôt dont l'adresse Git a été fournie à l'outil. Il n'existe qu'une poignée d'outils similaires au moment où j'ai développé GitMonitor qui se concentrent sur la « recherche » des dépôts dont vous devez d'abord vous préoccuper, trouver tous les dépôts pertinents, puis « vérifier » si des informations sensibles existent parmi eux.

  • En plus des règles pour « vérifier les informations sensibles », l'outil a également besoin de règles pour « rechercher les dépôts d'intérêt ». Les dépôts à considérer peuvent être ceux qui contiennent des mots-clés liés à l'entreprise ou au projet.

  • Si vous êtes un chasseur de bugs, vous ne vous intéresserez qu'à quelques cibles à la fois. Cependant, si vous êtes un ingénieur en sécurité pour une entreprise, vous aurez besoin de savoir quand un dépôt lié à votre entreprise ou à votre projet apparaît et qu'il peut contenir des informations sensibles. Ces dépôts peuvent apparaître n'importe où sur Github, avec n'importe quel nom et publiés par n'importe quel compte. Vous devriez également recevoir une alerte dès qu'un tel dépôt apparaît (surveillance continue).

  • L'outil dispose d'un mécanisme de rapport flexible.

C'est pourquoi j'ai créé cet outil - GitMonitor. GitMonitor utilise deux ensembles de règles différents pour trouver ce dont vous avez besoin. « L'ensemble de règles de recherche » recherche les dépôts pouvant être liés à votre organisation ou à des projets internes, ou à toute autre chose, clone les dépôts correspondants en local. Ensuite, « l'ensemble de règles de filtrage des informations sensibles » vérifie si ces dépôts contiennent des informations sensibles. Enfin, l'outil fait un rapport via Slack. Vous pouvez utiliser cet outil avec Cronjob pour créer un système de surveillance continue afin de suivre les informations sensibles liées à votre organisation qui fuient sur Github et recevoir les résultats via Slack.

Mise à jour le 15 juin 2020 : Nous avons mis à jour vers la version 1.0. Cette version corrige quelques bogues pour que Gitmonitor fonctionne de manière stable. Nous vous recommandons d'effectuer un git pull si vous utilisez des versions précédentes.

Fonctionnalités

  • Utilise deux ensembles de règles différents : un « ensemble de règles de recherche » (yaml) pour rechercher le dépôt d'intérêt, et un « ensemble de règles de filtrage » (regex) pour vérifier si ces contenus contiennent des informations sensibles. Les règles de recherche (yaml) et les règles de filtrage (regex) sont définies séparément. Les utilisateurs peuvent définir facilement et intuitivement des règles yaml et des regex.

  • « Ensemble de règles de recherche » : Vous pouvez créer de nombreuses règles différentes en utilisant différents fichiers yaml. Les règles vous permettent de définir de manière flexible comment vous souhaitez rechercher des dépôts : vous pouvez utiliser des mots-clés, ou des mots-clés associés au langage, au nom de fichier et à l'extension, ou vous pouvez également définir d'exclure des dépôts de la recherche en fonction du langage, du nom de fichier ou de l'extension. Les mots-clés seront recherchés dans les « noms des dépôts », les « codes des dépôts » et également les « commits ».

  • « Ensemble de règles de filtrage » : Vous pouvez ajouter ou modifier facilement des regex pour trouver des informations sensibles qui pourraient exister dans les dépôts.

  • Le premier dépôt qui correspond à l'ensemble de règles de recherche sera cloné en local. Ensuite, l'ensemble de règles de filtrage vérifiera si ce dépôt contient des informations sensibles. Après avoir terminé la vérification des informations sensibles, Gitmonitor enregistrera les résultats et supprimera automatiquement ce dépôt en local pour économiser de l'espace avant de continuer à répéter ce processus jusqu'à ce que tous les dépôts pertinents aient été trouvés et vérifiés.

  • Rapport via Slack.

  • Cet outil peut être planifié avec Cronjob pour une surveillance continue.

Diagramme de fonctionnement

Prérequis

  • Python3
  • Python3-pip.
  • Testé sur Ubuntu 18.04 et MacOS. Nous pensons que Gitmonitor peut également fonctionner correctement sur d'autres systèmes.

Installation

1. Installer les dépendances

root@kitploit:~
> python3 -m pip install -r requirements.txt

Assurez-vous d'avoir PyYAML version 5x ou supérieure installée (pip3 install --ignore-installed PyYAML)

2. Assurez-vous d'avoir configuré toutes les informations nécessaires dans le fichier de configuration (config.ini)

Le tableau suivant explique la signification de chaque clé dans le fichier de configuration :

3. Définir les identifiants du compte Github. Vous avez 2 façons de faire

  • Définir les identifiants dans les variables d'environnement :
root@kitploit:~
> export GIT_USERNAME=votre nom d'utilisateur Github
> export GIT_PASSWORD=votre clé personnelle ou mot de passe Github
  • Ou définir les identifiants dans le fichier de configuration (déconseillé) :

    • Ouvrez le fichier config.ini.
    • Remplissez les identifiants dans les valeurs des clés user et password.

Exemple de fichier de configuration lorsque vous définissez les identifiants dans les variables d'environnement

Exemple de fichier config

4. Écrire les règles (règles de recherche). Placez vos règles dans le répertoire rules

Vous pouvez créer différents fichiers yaml comme le modèle de règle pour définir plusieurs mots-clés. Un fichier de règle ressemblera à l'image ci-dessous :

Exemple de fichier de règle

5. Ajouter des expressions régulières supplémentaires au fichier libs/regex.py - Règles de filtrage des informations sensibles (Optionnel)

6. Exécuter Gitmonitor

root@kitploit:~
> python3 gitmonitor.py

7. Vous pouvez planifier une exécution automatique de l'outil en utilisant Cronjob.

Par exemple :

Exemple cronjob

À faire

  • Fonctionnalité : Rapport par email.
  • Fonctionnalité : Envoyer le résultat à Elasticsearch.
  • Développement : Écrire setup.py
  • Développement : Écrire Dockerfile

Mon équipe

  • Tony - Chef de projet
  • musashi137 - Développeur principal

Remerciements spéciaux

  • GitMAD pour le mécanisme de recherche d'informations sensibles basé sur les regex

Contribution

De nombreux domaines de ce projet peuvent être améliorés et modifiés de manière significative lors du remaniement du code actuel et de l'implémentation de nouvelles fonctionnalités. Les retours avec des améliorations et les pull requests de la communauté seront hautement appréciés et acceptés.

En général, nous suivons le flux de travail Git « fork-and-pull ».

  1. Forker le dépôt sur GitHub
  2. Cloner le projet sur votre propre machine
  3. Commiter les modifications sur votre propre branche
  4. Pousser votre travail vers votre fork
  5. Soumettre une Pull request pour que nous puissions examiner vos modifications

NOTE : Assurez-vous de fusionner les dernières modifications de « upstream » avant de faire une pull request !

Faire un don

Buy Me A Coffee

Télécharger l’outil
CléDescription
userNom d'utilisateur Github - Laissez vide si vous avez configuré les identifiants Github via des variables d'environnement
passMot de passe Github - Laissez vide si vous avez configuré les identifiants Github via des variables d'environnement
webhooksJeton Webhook entrant pour poster les messages de GitMonitor vers Slack
ruleLe répertoire contenant l'ensemble de règles de recherche
sourceLe répertoire de téléchargement du dépôt
logLe répertoire contiendra le fichier JSON qui enregistre l'état après chaque analyse ; ce fichier JSON est utilisé pour comparer les résultats entre les analyses (pour identifier les nouveaux dépôts)
startDéfinit la bannière pour le début de l'analyse et la bannière pour le résultat de l'analyse de l'ensemble de règles de filtrage des informations sensibles - S'affichera dans les résultats envoyés à Slack
endDéfinit la bannière pour la fin de l'analyse et la bannière pour le résultat de l'analyse de l'ensemble de règles de recherche - S'affichera dans les résultats envoyés à Slack
allDéfinit la bannière pour afficher tous les dépôts - S'affichera dans les résultats envoyés à Slack