Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/papermtn/gitlab-watchman
SchwachstellenscannerCode-AnalyseDatenexfiltrationInformationsbeschaffungDevSecOpsSecret-Erkennung
GitHubpapermtn/gitlab-watchman

gitlab-watchman

Exponierte Geheimnisse und personenbezogene Daten in GitLab finden

Repository anzeigen
206256vor 1 JahrVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

GitLab Watchman

Python 2.7 and 3 compatible PyPI version License: MIT

Über GitLab Watchman

GitLab Watchman ist eine Anwendung, die die GitLab-API nutzt, um offengelegte Geheimnisse und personenbezogene Daten zu erkennen. Sie listet außerdem die GitLab-Instanz auf nützliche Informationen auf.

Funktionen

Geheimnis-Erkennung

Es durchsucht GitLab nach intern geteilten Projekten und betrachtet:

  • Code
  • Commits
  • Wiki-Seiten
  • Issues
  • Merge-Anfragen
  • Meilensteine
  • Notizen
  • Snippets

Für die folgenden Daten:

  • GCP-Schlüssel und Dienstkontodateien
  • AWS-Schlüssel
  • Azure-Schlüssel und Dienstkontodateien
  • Google-API-Schlüssel
  • Slack-API-Tokens & Webhooks
  • Private Schlüssel (SSH, PGP, andere diverse private Schlüssel)
  • Offengelegte Tokens (Bearer-Tokens, Zugriffstokens, client_secret usw.)
  • S3-Konfigurationsdateien
  • Tokens für Dienste wie Heroku, PayPal und mehr
  • Passwörter im Klartext
  • und mehr
  • Zeitbasierte Suche

    Sie können GitLab Watchman ausführen, um Ergebnisse bis zu folgendem Zeitraum zurück zu durchsuchen:

    • 24 Stunden
    • 7 Tage
    • 30 Tage
    • Alle Zeit

    Das bedeutet, dass Sie nach einem Tiefenscan GitLab Watchman regelmäßig planen können, um nur Ergebnisse aus Ihrem gewählten Zeitraum zurückzugeben.

    Aufzählung

    GitLab Watchman kann potenziell nützliche Informationen aus einer GitLab-Instanz auflisten:

    • Instanz-Metadaten
    • Informationen über den aufrufenden Benutzer/das verwendete Token
    • Alle Benutzer in eine CSV-Datei ausgeben
    • Alle Projekte in eine CSV-Datei ausgeben
    • Alle Gruppen in eine CSV-Datei ausgeben

    Signaturen

    GitLab Watchman verwendet benutzerdefinierte YAML-Signaturen, um Übereinstimmungen in GitLab zu erkennen. Diese Signaturen werden aus dem zentralen Watchman Signatures Repository bezogen. Slack Watchman aktualisiert seine Signaturbasis automatisch zur Laufzeit, um sicherzustellen, dass die neuesten Signaturen zur Erkennung von Geheimnissen verwendet werden.

    Signaturen unterdrücken

    Sie können Signaturen definieren, die Sie beim Ausführen von GitLab Watchman deaktivieren möchten, indem Sie deren IDs im Abschnitt disabled_signatures der watchman.conf-Datei hinzufügen. Zum Beispiel:

    root@kitploit:~
    gitlab_watchman:
      disabled_signatures:
        - tokens_generic_bearer_tokens
        - tokens_generic_access_tokens
    

    Die ID einer Signatur finden Sie in den einzelnen YAML-Dateien im Watchman Signatures Repository.

    Protokollierung

    GitLab Watchman bietet die folgenden Protokollierungsoptionen:

    • Terminalfreundliche Standardausgabe
    • JSON an Standardausgabe

    GitLab Watchman verwendet standardmäßig die terminalfreundliche Standardausgabe, wenn keine Option angegeben ist. Dies ist für Menschen leichter lesbar.

    JSON-Protokollierung ist ebenfalls verfügbar, was ideal für die Aufnahme in ein SIEM oder andere Protokollanalyseplattformen ist.

    Die JSON-formatierte Protokollierung kann wie folgt einfach in eine Datei umgeleitet werden:

    root@kitploit:~
    gitlab-watchman --timeframe a --all --output json >> gitlab_watchman_log.json 
    

    Voraussetzungen

    GitLab-Versionen

    GitLab Watchman verwendet die v4-API und funktioniert mit GitLab Enterprise Edition Versionen:

    • 13.0 und höher - Ja

    • GitLab.com - Ja

    • 12.0 - 12.10 - Vielleicht, ungetestet, aber bei Verwendung von v4 der API könnte es funktionieren

    GitLab-Lizenz & Elasticsearch

    Um die folgenden Bereiche zu durchsuchen:

    • blobs
    • wiki_blobs
    • commits

    Die GitLab-Instanz muss Elasticsearch konfiguriert haben und die Enterprise Edition mit mindestens einer GitLab Starter- oder Bronze-Lizenz ausführen.

    GitLab persönlicher Zugriffstoken

    Um GitLab Watchman auszuführen, benötigen Sie ein persönliches Zugriffstoken von GitLab.

    Sie können ein persönliches Zugriffstoken in der GitLab-GUI über Einstellungen -> Zugriffstokens -> Persönliches Zugriffstoken hinzufügen erstellen.

    Das Token benötigt Berechtigungen für die folgenden Bereiche:

    root@kitploit:~
    api
    

    Hinweis: Persönliche Zugriffstokens handeln im Namen des Benutzers, der sie erstellt. Daher empfehle ich, ein Token mit einem Dienstkonto zu erstellen, da die App sonst Zugriff auf Ihre privaten Repositorys hat.

    GitLab-URL

    Sie müssen auch die URL Ihrer GitLab-Instanz angeben.

    Token und URL bereitstellen

    GitLab Watchman bezieht das GitLab-Token und die URL aus den Umgebungsvariablen GITLAB_WATCHMAN_TOKEN und GITLAB_WATCHMAN_URL.

    watchman.conf-Datei

    Konfigurationsoptionen können in einer Datei namens watchman.conf übergeben werden, die in Ihrem Home-Verzeichnis gespeichert sein muss. Die Datei sollte dem YAML-Format folgen und wie folgt aussehen:

    root@kitploit:~
    gitlab_watchman:
      disabled_signatures:
        - tokens_generic_bearer_tokens
        - tokens_generic_access_tokens
    

    GitLab Watchman sucht zur Laufzeit nach dieser Datei und verwendet die darin enthaltenen Konfigurationsoptionen.

    Installation

    Sie können die neueste stabile Version über pip installieren:

    python3 -m pip install gitlab-watchman

    Oder selbst aus dem Quellcode erstellen. Laden Sie die Quellcodedateien der Version herunter und führen Sie dann im Hauptverzeichnis des Repositorys Folgendes aus:

    root@kitploit:~
    python3 -m build
    python3 -m pip install --force-reinstall dist/*.whl
    

    Docker-Image

    GitLab Watchman ist auch im Docker Hub als Docker-Image verfügbar:

    docker pull papermountain/gitlab-watchman:latest

    Sie können GitLab Watchman dann in einem Container ausführen, wobei Sie sicherstellen müssen, dass die erforderlichen Umgebungsvariablen übergeben werden:

    root@kitploit:~
    // help
    docker run --rm papermountain/gitlab-watchman -h
    
    // scan all
    docker run --rm -e GITLAB_WATCHMAN_TOKEN=abc123 -e GITLAB_WATCHMAN_URL=https://example.gitlab.com papermountain/gitlab-watchman --timeframe a --all
    docker run --rm --env-file .env papermountain/gitlab-watchman --timeframe a --all
    

    Verwendung

    GitLab Watchman wird als globaler Befehl installiert, verwenden Sie es wie folgt:

    root@kitploit:~
    usage: gitlab-watchman [-h] --timeframe {d,w,m,a} [--output {json,stdout}] [--version] [--all] [--blobs] [--commits] [--wiki-blobs] [--issues]
                       [--merge-requests] [--milestones] [--notes] [--snippets] [--enumerate] [--debug] [--verbose]
    
    Finding exposed secrets and personal data in GitLab
    
    options:
      -h, --help            show this help message and exit
      --output {json,stdout}, -o {json,stdout}
                            Where to send results
      --version, -v         show program's version number and exit
      --all, -a             Find everything
      --blobs, -b           Search code blobs
      --commits, -c         Search commits
      --wiki-blobs, -w      Search wiki blobs
      --issues, -i          Search issues
      --merge-requests, -mr
                            Search merge requests
      --milestones, -m      Search milestones
      --notes, -n           Search notes
      --snippets, -s        Search snippets
      --enumerate, -e       Enumerate this GitLab instance for users, groups, projects.Output will be saved to CSV files
      --debug, -d           Turn on debug level logging
      --verbose, -V         Turn on more verbose output for JSON logging. This includes more fields, but is larger
    
    required arguments:
      --timeframe {d,w,m,a}
                            How far back to search: d = 24 hours w = 7 days, m = 30 days, a = all time
    
    

    Andere Watchman-Apps

    Möglicherweise interessieren Sie sich für die anderen Apps der Watchman-Familie:

    • Slack Watchman
    • Slack Watchman for Enterprise Grid
    • GitHub Watchman

    Lizenz

    Der Quellcode dieses Projekts wird unter der GNU General Public License veröffentlicht. Dieses Projekt ist nicht mit GitLab verbunden.

    Tool herunterladen