Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
gitlab-watchman — اكتشاف الأسرار المكشوفة والبيانات الشخصية في GitLab | Kitploit
أدوات/GitHubGitHub/papermtn/gitlab-watchman
ماسحات الثغرات الأمنيةتحليل الكودتسريب البياناتجمع المعلوماتDevSecOpsكشف الأسرار
GitHubpapermtn/gitlab-watchman

gitlab-watchman

اكتشاف الأسرار المكشوفة والبيانات الشخصية في GitLab

عرض المستودع
206256منذ سنة واحدةتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

GitLab Watchman

Python 2.7 and 3 compatible PyPI version License: MIT

حول GitLab Watchman

GitLab Watchman هو تطبيق يستخدم واجهة برمجة تطبيقات GitLab للكشف عن الأسرار والبيانات الشخصية المكشوفة. كما يقوم بإحصاء المعلومات المفيدة من مثيل GitLab.

الميزات

كشف الأسرار

يبحث في GitLab عن المشاريع المشتركة داخليًا وينظر إلى:

  • الكود (Code)
  • الالتزامات (Commits)
  • صفحات الويكي (Wiki pages)
  • القضايا (Issues)
  • طلبات الدمج (Merge requests)
  • المراحل (Milestones)
  • الملاحظات (Notes)
  • المقتطفات (Snippets)

للبينات التالية:

  • مفاتيح GCP وملفات حسابات الخدمة
  • مفاتيح AWS
  • مفاتيح Azure وملفات حسابات الخدمة
  • مفاتيح Google API
  • رموز Slack API وwebhooks
  • المفاتيح الخاصة (SSH, PGP, وأي مفاتيح خاصة أخرى)
  • الرموز المكشوفة (Bearer tokens, access tokens, client_secret, إلخ)
  • ملفات تكوين S3
  • رموز خدمات مثل Heroku وPayPal والمزيد
  • كلمات المرور بنص واضح
  • والمزيد
  • البحث المستند إلى الوقت

    يمكنك تشغيل GitLab Watchman للبحث عن النتائج التي تمتد إلى الوراء بقدر:

    • 24 ساعة
    • 7 أيام
    • 30 يومًا
    • كل الوقت

    هذا يعني أنه بعد الفحص العميق الأول، يمكنك جدولة GitLab Watchman للتشغيل المنتظم وإرجاع النتائج فقط من الإطار الزمني المختار.

    الإحصاء

    يمكن لـ GitLab Watchman إحصاء المعلومات المفيدة المحتملة من مثيل GitLab:

    • بيانات تعريف المثيل (Instance metadata)
    • معلومات عن المستخدم/الرمز المستخدم
    • إخراج جميع المستخدمين إلى ملف CSV
    • إخراج جميع المشاريع إلى ملف CSV
    • إخراج جميع المجموعات إلى ملف CSV

    التوقيعات (Signatures)

    يستخدم GitLab Watchman توقيعات YAML مخصصة للكشف عن التطابقات في GitLab. يتم سحب هذه التوقيعات من المستودع المركزي Watchman Signatures. يقوم Slack Watchman بتحديث قاعدة توقيعه تلقائيًا أثناء التشغيل لضمان استخدام أحدث التوقيعات لكشف الأسرار.

    تعطيل التوقيعات

    يمكنك تحديد التوقيعات التي تريد تعطيلها عند تشغيل GitLab Watchman عن طريق إضافة معرفاتها إلى قسم disabled_signatures في ملف watchman.conf. على سبيل المثال:

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

    يمكنك العثور على معرف التوقيع في ملفات YAML الفردية في مستودع Watchman Signatures.

    التسجيل (Logging)

    يوفر GitLab Watchman خيارات التسجيل التالية:

    • مخرجات stdout صديقة للطرفية
    • JSON إلى stdout

    يستخدم GitLab Watchman افتراضيًا تسجيل stdout الصديق للطرفية في حالة عدم تقديم خيار. وهذا مصمم ليكون أسهل للقراءة البشرية.

    كما يتوفر تسجيل JSON، وهو مثالي للإدخال إلى SIEM أو منصات تحليل السجلات الأخرى.

    يمكن إعادة توجيه التسجيل بتنسيق JSON بسهولة إلى ملف كما يلي:

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

    المتطلبات

    إصدارات GitLab

    يستخدم GitLab Watchman واجهة برمجة التطبيقات v4، ويعمل مع إصدارات GitLab Enterprise Edition:

    • 13.0 وما فوق - نعم

    • GitLab.com - نعم

    • 12.0 - 12.10 - ربما، غير مختبر ولكن إذا كان يستخدم v4 من واجهة برمجة التطبيقات فقد يعمل

    ترخيص GitLab وElasticsearch

    للبحث في النطاقات:

    • blobs
    • wiki_blobs
    • commits

    يجب أن يكون مثيل GitLab قد تم تكوين Elasticsearch فيه، وأن يكون يعمل بإصدار Enterprise Edition مع ترخيص GitLab Starter أو Bronze كحد أدنى.

    رمز الوصول الشخصي لـ GitLab

    لتشغيل GitLab Watchman، ستحتاج إلى رمز وصول شخصي لـ GitLab.

    يمكنك إنشاء رمز وصول شخصي في واجهة GitLab عبر Settings -> Access Tokens -> Add a personal access token

    يحتاج الرمز إلى صلاحية للنطاقات التالية:

    root@kitploit:~
    api
    

    ملاحظة: تعمل رموز الوصول الشخصية نيابة عن المستخدم الذي ينشئها، لذا أقترح إنشاء رمز باستخدام حساب خدمة، وإلا سيكون للتطبيق إمكانية الوصول إلى مستودعاتك الخاصة.

    رابط GitLab

    تحتاج أيضًا إلى تقديم رابط مثيل GitLab الخاص بك.

    توفير الرمز والرابط

    سيحصل GitLab Watchman على رمز GitLab والرابط من متغيرات البيئة GITLAB_WATCHMAN_TOKEN و GITLAB_WATCHMAN_URL.

    ملف watchman.conf

    يمكن تمرير خيارات التكوين في ملف يسمى watchman.conf والذي يجب تخزينه في دليل المستخدم الرئيسي. يجب أن يتبع الملف تنسيق YAML، ويبدو كما يلي:

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

    سيبحث GitLab Watchman عن هذا الملف أثناء التشغيل، ويستخدم خيارات التكوين منه.

    التثبيت

    يمكنك تثبيت أحدث إصدار ثابت عبر pip:

    python3 -m pip install gitlab-watchman

    أو البناء من المصدر بنفسك. قم بتنزيل ملفات المصدر للإصدار، ثم من المستودع العلوي قم بتشغيل:

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

    صورة Docker

    يتوفر GitLab Watchman أيضًا من Docker hub كصورة Docker:

    docker pull papermountain/gitlab-watchman:latest

    يمكنك بعد ذلك تشغيل GitLab Watchman في حاوية، مع التأكد من تمرير متغيرات البيئة المطلوبة:

    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
    

    الاستخدام

    سيتم تثبيت GitLab Watchman كأمر عالمي، استخدم كما يلي:

    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
    
    

    تطبيقات Watchman الأخرى

    قد تكون مهتمًا بالتطبيقات الأخرى من عائلة Watchman:

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

    الترخيص

    تم إصدار الكود المصدري لهذا المشروع بموجب الرخصة العامة العامة GNU. هذا المشروع ليس مرتبطًا بـ GitLab.

    تنزيل الأداة