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

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

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

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

دليل الأدوات

الفئات

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

gitlab-watchman

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

عرض المستودع
2062516منذ سنة واحدةتمت المراجعة من قبل 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. على سبيل المثال:

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 بسهولة إلى ملف كما يلي:

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

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

api

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

رابط GitLab

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

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

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

ملف watchman.conf

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

gitlab_watchman:
  disabled_signatures:
    - tokens_generic_bearer_tokens
    - tokens_generic_access_tokens

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

التثبيت

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

python3 -m pip install gitlab-watchman

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

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 في حاوية، مع التأكد من تمرير متغيرات البيئة المطلوبة:

// 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 كأمر عالمي، استخدم كما يلي:

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.

تنزيل الأداة