
أداة تعداد ومهاجمة Runner المستضاف ذاتيًا على GitHub
Gato، أو GitHub Attack Toolkit، هي أداة تعداد وهجوم تتيح لكل من فرق الدفاع (blue teamers) وممارسي الأمن الهجومي تقييم نطاق التأثير لبصمة وصول شخصية (personal access token) مخترقة داخل مؤسسة GitHub.
تتيح الأداة أيضًا البحث والتعداد الشامل للمستودعات العامة التي تستخدم runners مستضافة ذاتيًا. توصي GitHub بأن تُستخدم runners المستضافة ذاتيًا فقط للمستودعات الخاصة، ومع ذلك هناك آلاف المؤسسات التي تستخدم runners مستضافة ذاتيًا.
تدعم Gato نظامي OS X وLinux مع Python 3.7 على الأقل.
لتثبيت الأداة، ما عليك سوى استنساخ المستودع واستخدام pip install. نوصي
بالقيام بذلك داخل بيئة افتراضية.
git clone https://github.com/praetorian-inc/gato
cd gato
python3 -m venv venv
source venv/bin/activate
pip install .
تتطلب Gato أيضًا أن يكون الإصدار 2.27 من git أو أحدث مثبتًا ومتوفرًا على
PATH الخاص بالنظام. لتشغيل وحدة هجوم fork PR، يجب أيضًا تثبيت sed
وأن يكون متوفرًا على مسار النظام.
بعد تثبيت الأداة، يمكن تشغيلها عبر تنفيذ gato أو
praetorian-gato.
نوصي بعرض معاملات الأداة الأساسية باستخدام gato -h، ومعاملات
كل وحدة من وحدات الأداة عبر تنفيذ ما يلي:
gato search -hgato enum -hgato attack -hتتطلب الأداة GitHub classic PAT لكي تعمل. لإنشاء واحد، سجّل
الدخول إلى GitHub وانتقل إلى GitHub Developer
Settings
واختر Generate New Token ثم Generate new token (classic).
بعد إنشاء هذا الرمز، عيّن متغير البيئة GH_TOKEN داخل
الـ shell الخاص بك عبر تنفيذ export GH_TOKEN=<YOUR_CREATED_TOKEN>. بدلاً من ذلك، خزّن
الرمز داخل مدير كلمات مرور آمن وأدخله عندما يطلب منك التطبيق ذلك.
لاستكشاف الأخطاء والتفاصيل الإضافية، مثل التثبيت في وضع المطور أو تشغيل اختبارات الوحدة، يُرجى الاطلاع على wiki.
يُرجى الاطلاع على wiki للحصول على توثيق مفصل، وكذلك اعتبارات OpSec لمختلف وحدات الأداة!
إذا كنت تعتقد أنك اكتشفت خطأً داخل البرنامج، يُرجى فتح issue يتضمن مخرجات الأداة، بالإضافة إلى الإجراءات التي كنت تحاول تنفيذها.
إذا لم تكن متأكدًا مما إذا كان السلوك خطأً، فاستخدم قسم المناقشات (discussions) بدلاً من ذلك!
المساهمات مرحّب بها! يُرجى مراجعة منهجية التصميم الخاصة بنا ومعايير الترميز قبل العمل على ميزة جديدة!
بالإضافة إلى ذلك، إذا كنت تقترح تغييرات كبيرة على الأداة، يُرجى فتح issue فتح issue لبدء نقاش حول الدافع وراء التغييرات.
Gato مرخّصة بموجب Apache License, Version 2.0.
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.