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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
gato — أداة تعداد وهجوم خط أنابيب GitHub Actions | Kitploit
أدوات/GitHubGitHub/praetorian-inc/gato
الاستطلاعماسحات الثغرات الأمنيةالاستغلالجمع المعلوماتما بعد الاستغلالاختبار الاختراقDevSecOpsكشف الأسرارأمن سلسلة التوريدالفريق الأحمرArchived
GitHub
91منذ 3 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
praetorian-inc/gato

gato

أداة تعداد وهجوم خط أنابيب GitHub Actions

عرض المستودع

[!WARNING]

هذا المستودع مهمل ومؤرشف

تم استبدال Gato بـ Trajan، أداة Praetorian متعددة المنصات لاكتشاف ثغرات CI/CD وهجومها الآلي. يقوم Trajan بدمج قدرات هجوم GitHub Actions (Gato) و GitLab (Glato) CI/CD في مشروع واحد يتم صيانته بنشاط.

يرجى الترحيل إلى Trajan: https://github.com/praetorian-inc/trajan

لن يتم إجراء أي تحديثات أو إصلاحات للأخطاء أو تصحيحات أمنية إضافية لهذا المستودع.


Supported Python versions

Gato (Github Attack TOolkit)

gato

Gato، أو مجموعة أدوات هجوم GitHub، هي أداة تعداد وهجوم تسمح لكل من فرق الدفاع الأزرق وممارسي الأمن الهجومي بتحديد واستغلال ثغرات خطوط الأنابيب (pipeline) ضمن المستودعات العامة والخاصة لمؤسسة على GitHub.

تمتلك الأداة ميزات ما بعد الاستغلال للاستفادة من رمز وصول شخصي مخترق، بالإضافة إلى ميزات تعداد لتحديد ثغرات تنفيذ خط الأنابيب المسمومة وأسرار القطع الأثرية (artifacts) لإجراءات GitHub ضد المستودعات العامة.

توصي GitHub باستخدام المُشغلات المستضافة ذاتيًا فقط للمستودعات الخاصة، إلا أن هناك آلاف المؤسسات التي تستخدم المُشغلات المستضافة ذاتيًا. غالبًا ما تكون التكوينات الافتراضية عرضة للخطر، ويستخدم Gato مزيجًا من تحليل ملفات سير العمل وتحليل سجلات التشغيل لتحديد المستودعات المعرضة للخطر على نطاق واسع.

الإصدار 1.7

يقدم الإصدار 1.7 من Gato ماسح أسرار القطع الأثرية لإجراءات GitHub Actions.

يقوم ماسح أسرار القطع الأثرية بإجراءات GitHub بتعداد القطع الأثرية لسير عمل إجراءات GitHub بحثًا عن الأسرار. استخدم باحثو Praetorian الماسح لتحديد ثغرات حرجة في العديد من المشاريع مفتوحة المصدر البارزة. سيتم نشر تفاصيل هذه الثغرات بمجرد اكتمال عمليات الإفصاح. كان هذا العمل مستوحى في البداية من بحث من Palo Alto Networks.

يقوم ماسح أسرار القطع الأثرية بإجراءات GitHub بالإجراءات التالية:

  1. تنزيل القطع الأثرية لسير عمل إجراءات GitHub من المستودع الهدف
  2. استخراج القطع الأثرية المُنزلة بشكل متكرر
  3. مسح القطع الأثرية بحثًا عن الأسرار باستخدام NoseyParker
  4. الإبلاغ عن النتائج

يجب تثبيت NoseyParker في متغير البيئة $PATH للنظام الذي يشغل ماسح أسرار القطع الأثرية.

يمكن أن تحتوي الأسرار في القطع الأثرية العامة لسير العمل على العديد من النتائج الإيجابية الخاطئة. افتراضيًا، يستبعد ماسح أسرار القطع الأثرية القواعد والنتائج المرتبطة بالنتائج الإيجابية الخاطئة الشائعة. لتضمين جميع نتائج مسح الأسرار، يمكنك استخدام العلامة --include_all_artifact_secrets.

فيما يلي مثال لأمر يقوم بتشغيل ماسح أسرار القطع الأثرية على قائمة من مؤسسات GitHub، ويعطل تعداد المُشغلات المستضافة ذاتيًا، ويضمن جميع نتائج أسرار القطع الأثرية، ويخرج إلى ملف JSON.

root@kitploit:~
gato e --enum_wf_artifacts --include_all_artifact_secrets --skip_sh_runner_enum -O testorgs.txt  -oJ testorgoutput.json

افتراضيًا، يفرض ماسح أسرار القطع الأثرية القيود التالية لتقليل الوقت المنفق على مستودع واحد:

  • تنزيل قطعة أثرية واحدة فقط لكل اسم
  • تنزيل حد أقصى 50 قطعة أثرية لكل مستودع
  • تنزيل حد أقصى 10 ملفات أكبر من 536 ميجابايت
  • لا يتم تنزيل أي ملفات أكبر من 2.68 جيجابايت

تم تحسين هذه القيود بحيث يمكن لماسح أسرار القطع الأثرية مسح أفضل 200 مؤسسة على GitHub في غضون 48 ساعة. إذا كنت ترغب في تعديل هذه القيود، يمكنك تحديثها في دالة scan_wf_artifacts() في gato/enumerate/repository.py.

الميزات الجديدة

  • إضافة ماسح أسرار القطع الأثرية لإجراءات GitHub
  • دعم تشغيل الوحدات النمطية على قائمة من مؤسسات GitHub
  • القدرة على تعطيل تعداد المُشغلات المستضافة ذاتيًا
  • خيار تعطيل السكون (sleep)
  • التمييز بين المستودعات العامة والخاصة في المخرجات
  • العديد من إصلاحات الأخطاء
  • دعم تعداد رموز تثبيت تطبيق GitHub

لمن هذا؟

  • مهندسو الأمن الذين يرغبون في فهم مستوى الوصول الذي يمكن أن يوفره رمز PAT الكلاسيكي المخترق للمهاجم
  • فرق الدفاع الأزرق التي ترغب في بناء اكتشافات لهجمات المُشغلات المستضافة ذاتيًا
  • أعضاء فريق الاختراق (Red Team)
  • صيادو الجوائز الأمنية الذين يرغبون في إثبات تنفيذ الأوامر عن بُعد (RCE) على المؤسسات التي تستخدم المُشغلات المستضافة ذاتيًا

الميزات

  • تعداد صلاحيات رمز PAT الكلاسيكي على GitHub
  • تعداد قائم على واجهة برمجة تطبيقات بحث الكود في GitHub (GitHub Code Search API)
  • تعداد بحث SourceGraph
  • تحليل سجلات تشغيل إجراءات GitHub لتحديد المُشغلات المستضافة ذاتيًا
  • ميزات استنساخ المستودعات الضخمة المتفرقة (Bulk Repo Sparse Clone)
  • تحليل سير عمل إجراءات GitHub
  • إنشاء طلبات سحب فرعية (Fork PR) تلقائي لتنفيذ الأوامر
  • إنشاء سير عمل تلقائي لتنفيذ الأوامر
  • استخراج أسرار سير العمل تلقائيًا
  • دعم وكيل SOCKS5
  • دعم وكيل HTTPS
  • مسح أسرار القطع الأثرية لسير عمل إجراءات GitHub

البدء

التثبيت

يدعم Gato أنظمة OS X و Linux مع Python 3.7 على الأقل.

لتثبيت الأداة، ما عليك سوى استنساخ المستودع واستخدام pip install. نوصي بتنفيذ ذلك ضمن بيئة افتراضية.

root@kitploit:~
git clone https://github.com/praetorian-inc/gato
cd gato
python3 -m venv venv
source venv/bin/activate
pip install .

يتطلب Gato أيضًا تثبيت إصدار git 2.27 أو أعلى على مسار النظام (PATH). لتشغيل وحدة هجوم طلب السحب الفرعي (fork PR)، يجب أيضًا تثبيت sed على مسار النظام.

الفرع التطويري

نحافظ على فرع تطويري يحتوي على ميزات Gato الأحدث التي لم تُضاف بعد إلى الفرع الرئيسي. هناك احتمالية متزايدة لمواجهة أخطاء؛ ومع ذلك، ما زلنا نشغل مجموعة اختبارات التكامل الخاصة بنا على فرع dev، لذا لا ينبغي أن تكون هناك أي أخطاء واضحة.

إذا كنت ترغب في استخدام فرع dev، فقط سحبه قبل تشغيل pip install - هذا كل شيء!

إذا واجهت أي أخطاء لحالة الاستخدام الخاصة بك، فلا تتردد في فتح مشكلة (issue)!

الاستخدام

بعد تثبيت الأداة، يمكن تشغيلها عن طريق تنفيذ gato أو praetorian-gato.

نوصي بمشاهدة المعاملات الخاصة بالأداة الأساسية باستخدام gato -h، ومعاملات كل وحدة من وحدات الأداة عن طريق تشغيل الأوامر التالية:

  • gato search -h
  • gato enum -h
  • gato attack -h

تتطلب الأداة رمز GitHub كلاسيكي أو رمز تثبيت تطبيق لتعمل. لإنشاء واحد، سجّل الدخول إلى GitHub واذهب إلى إعدادات المطورين واختر Generate New Token ثم Generate new token (classic).

بعد إنشاء هذا الرمز، قم بتعيين متغير البيئة GH_TOKEN داخل شاشتك عن طريق تشغيل export GH_TOKEN=<YOUR_CREATED_TOKEN>. بدلاً من ذلك، قم بتخزين الرمز في مدير كلمات مرور آمن وأدخله عندما يطلب منك التطبيق.

إذا كنت تقوم بإنشاء رمز تثبيت تطبيق GitHub، يجب أن يحتوي التطبيق على صلاحيات Actions:read و Contents:read على الأقل لتنفيذ وحدات التعداد.

للاستكشاف والأخطاء والتفاصيل الإضافية، مثل التثبيت في وضع المطور أو تشغيل اختبارات الوحدة، يرجى الاطلاع على الويكي.

التوثيق

يرجى الاطلاع على الويكي للحصول على توثيق مفصل، بالإضافة إلى اعتبارات الأمن العملياتي (OpSec) للوحدات المختلفة للأداة!

الأخطاء

إذا كنت تعتقد أنك حددت خطأ في البرنامج، يرجى فتح مشكلة (issue) تحتوي على مخرجات الأداة، بالإضافة إلى الإجراءات التي كنت تحاول القيام بها.

إذا كنت غير متأكد مما إذا كان السلوك خطأ، استخدم قسم المناقشات بدلاً من ذلك!

المساهمة

المساهمات مرحب بها! يرجى مراجعة منهجية التصميم ومعايير الترميز لدينا قبل العمل على ميزة جديدة!

بالإضافة إلى ذلك، إذا كنت تقترح تغييرات كبيرة على الأداة، يرجى فتح مشكلة لبدء محادثة حول الدافع وراء التغييرات.

الترخيص

Gato مرخص بموجب رخصة Apache، الإصدار 2.0.

root@kitploit:~
Copyright 2023 Praetorian Security, Inc

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
تنزيل الأداة