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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/talkaboutcybersecurity/gitmonitor
الاستخبارات مفتوحة المصدر (OSINT)الاستطلاعجمع المعلوماتكشف الأسرار
GitHubtalkaboutcybersecurity/gitmonitor

GitMonitor

إحدى الطرق لمراقبة المعلومات الحساسة التي قد تتعرض على Github باستمرار

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

الأكثر شعبية

عرض الكل →

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

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

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

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

GitMonitor

الترخيص: GPL v3

GitMonitor

طريقة للمراقبة المستمرة للمعلومات الحساسة التي قد تُكشف على Github

ملخص

أعلم أن هناك العديد من الأدوات الأخرى المتاحة للعثور على المعلومات الحساسة المُسرَّبة حالياً على Github، وما زلت أستخدم بعضها بنفسي. ومع ذلك، أعتقد أنها لا تزال تفتقر إلى بعض الميزات مثل:

  • أدوات أخرى تركز أكثر على العثور على معلومات حساسة موجودة في مستودع (Repository) تم تمرير عنوان Git الخاص به إلى الأداة. يوجد عدد قليل فقط من الأدوات المماثلة في الوقت الذي طورت فيه GitMonitor والتي تركز على العثور على المستودعات التي تحتاج إلى الاهتمام بها أولاً، وإيجاد جميع المستودعات ذات الصلة، ثم التحقق لمعرفة ما إذا كانت المعلومات الحساسة موجودة بينها أم لا.

  • بالإضافة إلى قواعد التحقق من المعلومات الحساسة، تحتاج الأداة أيضاً إلى قواعد للبحث عن المستودعات المهمة. المستودعات التي سيتم النظر فيها قد تكون تلك التي تحتوي على كلمات مفتاحية متعلقة بالشركة أو المشروع.

  • إذا كنت صياداً للمكافآت (bug bounty hunter) فستكون مهتماً فقط بعدة أهداف في كل مرة. ولكن، إذا كنت مهندس أمن لشركة، فستحتاج إلى معرفة متى يظهر مستودع متعلق بشركتك أو مشروعك وقد يحتوي على معلومات حساسة. يمكن أن تظهر هذه المستودعات في أي مكان على Github، بأي اسم ومن أي حساب. ويجب أن تتلقى تنبيهاً بمجرد ظهور مثل هذا المستودع (مراقبة مستمرة).

  • الأداة تحتوي على آلية تقارير مرنة.

لهذا السبب قمت بإنشاء هذه الأداة - GitMonitor. تستخدم GitMonitor مجموعتين مختلفتين من القواعد للعثور على ما تحتاجه. مجموعة قواعد البحث ستبحث عن المستودعات التي قد تكون متعلقة بمؤسستك أو مشاريعك الداخلية، أو أي شيء آخر، وتقوم بنسخ (clone) المستودعات المتطابقة إلى المحلي. بعد ذلك، مجموعة قواعد التصفية الحساسة للتحقق مما إذا كانت هذه المستودعات تحتوي على معلومات حساسة. أخيرًا، ستقوم الأداة بالإبلاغ عبر Slack. يمكنك استخدام هذه الأداة مع Cronjob لإنشاء نظام مراقبة مستمر لتتبع المعلومات الحساسة المتعلقة بمؤسستك والتي تم تسريبها على Github واستلام النتائج عبر Slack.

تحديث 15 يونيو 2020: قمنا بتحديث الإصدار إلى 1.0. هذا الإصدار يصلح بعض الأخطاء ليتمكن Gitmonitor من العمل بثبات. نوصي بإجراء git pull إذا كنت تستخدم إصدارات سابقة.

الميزات

  • استخدام مجموعتين مختلفتين من القواعد: مجموعة قواعد بحث (yaml) للبحث عن المستودع المهم، ومجموعة قواعد تصفية (regex) للتحقق مما إذا كانت هذه الحاويات المهمة تحتوي على معلومات حساسة. يتم تعريف قواعد البحث (yaml) وقواعد التصفية (regex) بشكل منفصل. يمكن للمستخدمين تعريف قواعد yaml و regex بسهولة ووضوح.

  • مجموعة قواعد البحث: يمكنك إنشاء العديد من القواعد المختلفة باستخدام ملفات yaml مختلفة. تتيح لك القواعد تعريف كيفية البحث عن المستودعات بمرونة، يمكنك استخدام كلمات مفتاحية، أو كلمات مفتاحية مرتبطة باللغة، واسم الملف والامتداد، أو يمكنك أيضًا تعريف استبعاد بعض المستودعات من البحث بناءً على اللغة أو اسم الملف أو الامتداد. سيتم البحث عن الكلمات المفتاحية من خلال أسماء المستودعات، رموز المستودعات وأيضاً الالتزامات (commits).

  • مجموعة قواعد التصفية: يمكنك إضافة أو تعديل regex بسهولة للعثور على المعلومات الحساسة التي قد تكون موجودة في المستودعات.

  • سيتم نسخ (clone) أول مستودع يطابق مجموعة قواعد البحث إلى المحلي. وبعد ذلك، ستتحقق مجموعة قواعد التصفية مما إذا كان هذا المستودع يحتوي على معلومات حساسة. بعد الانتهاء من فحص المعلومات الحساسة، سيسجل Gitmonitor النتائج ويحذف هذا المستودع تلقائياً من المحلي لتوفير المساحة قبل الاستمرار في تكرار هذه العملية حتى يتم العثور على جميع المستودعات ذات الصلة وفحصها.

  • الإبلاغ عبر Slack.

  • يمكن جدولة هذه الأداة باستخدام Cronjob للمراقبة المستمرة.

مخطط العمل

المتطلبات

  • Python3
  • Python3-pip.
  • تم اختباره على Ubuntu 18.04 و MacOS. نعتقد أن Gitmonitor يمكن أن يعمل بشكل جيد على أنظمة أخرى أيضًا.

الإعداد

1. تثبيت المتطلبات

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

يرجى التأكد من تثبيت Pyyaml الإصدار 5x أو أعلى (pip3 install --ignore-installed PyYAML)

2. تأكد من تكوين جميع المعلومات الضرورية في ملف التكوين (config.ini)

يشرح الجدول التالي معنى كل مفتاح في ملف التكوين:

3. تعريف بيانات اعتماد حساب Github. لديك طريقتان للقيام بذلك

  • تعريف معلومات بيانات الاعتماد في متغيرات البيئة:
root@kitploit:~
> export GIT_USERNAME=your Github username
> export GIT_PASSWORD=your Github personal key or password
  • أو تعريف معلومات بيانات الاعتماد في ملف التكوين (غير موصى به):

    • افتح ملف config.ini.
    • املأ معلومات بيانات الاعتماد في قيمة المفاتيح user و password.

مثال لملف التكوين عند تعريف معلومات بيانات الاعتماد في متغيرات البيئة

مثال على ملف التكوين

4. كتابة القواعد (قواعد البحث). ضع قواعدك في دليل rules

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

مثال على ملف قاعدة

5. إضافة تعبيرات منتظمة إضافية إلى ملف libs/regex.py - قواعد التصفية الحساسة (اختياري)

6. تشغيل Gitmonitor

root@kitploit:~
> python3 gitmonitor.py

7. يمكنك جدولة التشغيل التلقائي للأداة باستخدام Cronjob.

على سبيل المثال:

مثال على cronjob

المهام المستقبلية

  • ميزة: الإبلاغ عبر البريد الإلكتروني.
  • ميزة: إرسال النتيجة إلى Elasticsearch.
  • تطوير: كتابة setup.py
  • تطوير: كتابة Dockerfile

فريقي

  • Tony - قائد المشروع
  • musashi137 - مطور أساسي

شكر خاص

  • GitMAD لآلية البحث عن المعلومات الحساسة باستخدام التعبيرات المنتظمة

المساهمة

هناك العديد من المجالات في هذا المشروع يمكن تحسينها وتغييرها بشكل كبير أثناء إعادة هيكلة الكود الحالي وتنفيذ ميزات جديدة. سنكون ممتنين للغاية للتعليقات مع التحسينات وطلبات السحب (pull requests) من المجتمع وسيتم قبولها.

بشكل عام، نتبع سير عمل "fork-and-pull" في Git.

  1. انسخ (Fork) المستودع على GitHub
  2. استنسخ (Clone) المشروع إلى جهازك الخاص
  3. قم بتغييرات (Commit) على فرعك الخاص
  4. ادفع (Push) عملك مرة أخرى إلى النسخة الخاصة بك
  5. أرسل طلب سحب (Pull request) حتى نتمكن من مراجعة تغييراتك

ملاحظة: تأكد من دمج آخر التحديثات من "upstream" قبل عمل طلب سحب!

التبرع

اشتر لي قهوة

تنزيل الأداة
المفتاحالوصف
userاسم مستخدم Github - اتركه فارغاً إذا قمت بإعداد بيانات اعتماد Github عبر متغيرات البيئة
passكلمة مرور Github - اتركها فارغة إذا قمت بإعداد بيانات اعتماد Github عبر متغيرات البيئة
webhooksرمز Webhook الوارد لإرسال الرسائل من GitMonitor إلى Slack
ruleالدليل الذي يحتوي على مجموعة قواعد البحث
sourceالدليل لتنزيل المستودع
logالدليل الذي سيحتوي على ملف JSON يسجل الحالة بعد كل مسح ضوئي، ويستخدم ملف JSON هذا لمقارنة النتائج بين عمليات المسح (لتحديد المستودعات الجديدة)
startتعريف لافتة لبدء المسح ولافتة لنتائج مسح مجموعة قواعد التصفية الحساسة - ستظهر في النتائج المرسلة إلى Slack
endتعريف لافتة لإنهاء المسح ولافتة لنتائج مسح مجموعة قواعد البحث - ستظهر في النتائج المرسلة إلى Slack
allتعريف لافتة لعرض جميع المستودعات - ستظهر في النتائج المرسلة إلى Slack