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
GitMiner3 — Outil de minage avancé pour le contenu sur Github | Kitploit
Outils/GitHubGitHub/unkl4b/gitminer3
OSINT (Renseignement de Sources Ouvertes)Analyse des VulnérabilitésAnalyse de CodeCollecte d'InformationsDétection de SecretsRenseignement sur les Menaces
GitHubunkl4b/gitminer3

GitMiner3

Outil de minage avancé pour le contenu sur Github

Voir le dépôt
55419il y a 10 moisVé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

Python 3.11 Gitminer 3 Gitminer3 stars

Capture d'écran
  • Auteur : UnkL4b
  • Site : bravul.com
  • Blog : unkl4b.github.io
  • Github : UnkL4b
  • X : @UnkL4b

AVERTISSEMENT

root@kitploit:~
 +---------------------------------------------------+
 | LES DÉVELOPPEURS DÉCLINENT TOUTE RESPONSABILITÉ   |
 | ET NE SONT PAS RESPONSABLES DE TOUT USAGE ABUSIF  |
 | OU DOMMAGE CAUSÉ PAR CE PROGRAMME                 |
 +---------------------------------------------------+

GITMINER 3

GitMiner v3 est un outil modulaire conçu pour découvrir des informations sensibles dans les dépôts GitHub publics. Il utilise des requêtes dork avancées, la correspondance de motifs regex et génère des rapports complets de renseignement sur les menaces.

Ce projet est une refonte complète du script Gitminer original, axée sur la maintenabilité, l'évolutivité et les principes d'architecture logicielle professionnelle.


Table des matières

  • Fonctionnalités
  • Structure du projet
  • Prérequis
  • Installation
  • Configuration
  • Utilisation
  • Sortie
  • Extension de GitMiner
  • Licence

Fonctionnalités

  • Conception orientée objet : Entièrement refactorisé en une architecture modulaire basée sur des classes pour une meilleure maintenabilité et extensibilité.
  • Analyse multi-dorks : Traite plusieurs dorks GitHub à partir d'un fichier ou un seul dork depuis la ligne de commande.
  • Correspondance de motifs avancée : Utilise un ensemble configurable de motifs regex pour détecter une large gamme de secrets, notamment les clés API, jetons, mots de passe et clés privées.
  • Configuration basée sur YAML : Gérez facilement les chemins, les paramètres API et les motifs de détection via de simples fichiers YAML.
  • Rapports de renseignement sur les menaces : Génère automatiquement des rapports Markdown détaillés pour chaque dork, comprenant un résumé exécutif, une analyse de sévérité et des détails techniques.
  • Base de données d'historique SQLite : Suit toutes les opérations de recherche, les fichiers téléchargés et les résultats pour l'analyse historique et la persistance.
  • Conforme PEP 8 : Écrit avec un code propre, lisible et professionnel qui respecte les normes Python.
  • Gestion robuste des erreurs : Implémente une gestion appropriée des erreurs et de la limitation de débit pour une exécution stable.

Structure du projet

Le projet est organisé en une structure modulaire pour séparer les préoccupations et améliorer la clarté.

root@kitploit:~
gitminer_v3/
├── config/                 # Fichiers de configuration
│   ├── paths.yaml          # Chemins des répertoires, fichiers et API
│   ├── labels.yaml         # Correspondances regex-vers-étiquettes pour les paramètres
│   └── patterns.yaml       # Motifs regex pour la détection de secrets
├── data/                   # Stockage persistant des données
│   └── gitminer_history.sqlite # Base de données SQLite pour l'historique
├── gitminer/               # Paquet Python principal
│   ├── __init__.py
│   ├── config_manager.py   # Charge et gère toutes les configurations
│   ├── github_client.py    # Gère toutes les interactions avec l'API GitHub
│   ├── file_manager.py     # Gère les téléchargements et le stockage des fichiers
│   ├── pattern_analyzer.py # Analyse les fichiers à la recherche de secrets
│   ├── database.py         # Gère les opérations de la base de données SQLite
│   ├── report_generator.py # Génère les rapports Markdown
│   └── utils.py            # Fonctions utilitaires partagées
├── raw/                    # Stocke les fichiers téléchargés depuis GitHub
├── reports/                # Stocke les rapports de renseignement sur les menaces générés
├── gitminer_v3.py          # Script exécutable principal
├── requirements.txt        # Dépendances Python
└── README.md               # Ce fichier 

Prérequis

  • Python 3.11+
  • Un jeton d'accès personnel GitHub (PAT) avec le champ d'application public_repo.

Installation

  1. Clonez le dépôt ou téléchargez le code source.

  2. Configurez votre jeton GitHub : GitMiner nécessite un jeton GitHub pour interagir avec l'API. Vous devez le définir comme variable d'environnement.

    root@kitploit:~
    export GITHUB_TOKEN="votre_jeton_dacces_personnel_github_ici"
    
  3. Installez les paquets Python requis :

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

Configuration

Le comportement de GitMiner est contrôlé par les fichiers du répertoire config/.

paths.yaml

Ce fichier définit tous les chemins et paramètres API importants.

  • directories : Spécifie où stocker les fichiers bruts, les rapports et les données.
  • files : Définit les noms de la base de données et de la sortie CSV par défaut.
  • github : Contient les paramètres de l'API GitHub, tels que les URL, les délais d'attente et les limites de résultats par défaut.

labels.yaml

Ce fichier fait correspondre les motifs regex à des étiquettes lisibles par l'humain. Il est principalement utilisé pour identifier les noms de paramètres (par exemple, ftp_user, api_key) dans le code.

root@kitploit:~
# Format : "motif_regex" : "NOM_ÉTIQUETTE"
"(?i)(api[_\\- ]?key|apikey)": "API_KEY"
"(?i)(password|passwd)": "PASSWORD"

patterns.yaml

Ce fichier contient les motifs regex principaux utilisés pour détecter les valeurs sensibles comme les clés, jetons et identifiants.

root@kitploit:~
# Format : NOM_MOTIF : "motif_regex"
GITHUB_TOKEN: "ghp_[A-Za-z0-9_]{36,255}"
AWS_ACCESS_KEY_ID: "AKIA[0-9A-Z]{16}"

Utilisation

Le script principal gitminer_v3.py est le point d'entrée pour toutes les opérations.

Arguments de la ligne de commande

Exemples

  1. Recherche avec un dork unique et génération d'un rapport :

    root@kitploit:~
    python3 gitminer_v3.py -d "filename:.env DB_PASSWORD" --report
    
  2. Recherche avec un fichier contenant plusieurs dorks : Créez un fichier nommé dorks.txt :

    root@kitploit:~
    filename:wp-config.php DB_PASSWORD
    filename:settings.py SECRET_KEY
    extension:pem private
    

    Puis exécutez la commande :

    root@kitploit:~
    python3 gitminer_v3.py -d dorks.txt -m 500 --report
    
  3. Export d'une liste de tous les fichiers téléchargés vers un CSV :

    root@kitploit:~
    python3 gitminer_v3.py -d dorks.txt -o downloaded_files.csv
    
  4. Téléchargement de fichiers sans effectuer d'analyse :

    root@kitploit:~
    python3 gitminer_v3.py -d dorks.txt --no-analyze
    

Sortie

GitMiner produit plusieurs types de sorties, stockées dans les répertoires raw/, reports/ et data/.

Fichiers bruts

Tous les fichiers téléchargés depuis GitHub sont stockés dans le répertoire raw/, organisés par mot-clé dork et nom de dépôt.

root@kitploit:~
raw/
└── DB_PASSWORD/
    └── someuser_some-repo/
        └── .env

Rapports de renseignement sur les menaces

Si l'option --report est utilisée, un rapport Markdown détaillé est généré pour chaque dork et enregistré dans le répertoire reports/. Ces rapports comprennent :

  • Un résumé exécutif avec les statistiques clés.
  • Des résultats par sévérité (Élevée, Moyenne, Faible).
  • Une section d'analyse technique avec des extraits de code et des liens vers les fichiers sources.
  • Des recommandations pour la remédiation.

Base de données SQLite

Le fichier data/gitminer_history.sqlite contient un historique complet de toutes les opérations, notamment :

  • search_history : Enregistrements de chaque recherche de dork effectuée.
  • downloaded_files : Métadonnées pour chaque fichier téléchargé.
  • findings : Enregistrements détaillés de chaque secret trouvé.

Cette base de données peut être utilisée pour le suivi à long terme et l'analyse avancée.


Extension de GitMiner

GitMiner v3 est conçu pour être facilement extensible.

  • Pour ajouter de nouveaux motifs de détection : Ajoutez simplement une nouvelle entrée dans config/patterns.yaml.
  • Pour ajouter de nouvelles étiquettes de paramètres : Ajoutez une nouvelle paire regex-étiquette dans config/labels.yaml.
  • Pour modifier le comportement : Le code modulaire orienté objet du paquet gitminer/ est bien documenté et peut être facilement modifié ou étendu.

Licence

Ce projet est open-source et disponible pour un usage personnel et éducatif. Veuillez l'utiliser de manière responsable et éthique. L'auteur n'est pas responsable de tout usage abusif de cet outil.

Télécharger l’outil
ArgumentCourtDescriptionRequis
--dorks-dFichier contenant les dorks (un par ligne) ou une chaîne de dork unique.Oui
--token-tJeton GitHub (remplace la variable d'environnement GITHUB_TOKEN).Non
--max-results-mNombre maximal de résultats à récupérer par dork. (Défaut : 200)Non
--per-page-pRésultats par page pour l'API. (Défaut : 30, Max : 100)Non
--output-csv-oExporte un résumé des fichiers téléchargés vers un fichier CSV.Non
--reportGénère un rapport détaillé de renseignement sur les menaces en Markdown.Non
--no-analyzeIgnore l'étape d'analyse locale des fichiers (télécharge uniquement les fichiers).Non