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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
gh-safe-repo — واجهة سطر أوامر بلغة Python تقوم بإنشاء مستودعات GitHub مع إعدادات افتراضية آمنة — حماية الفروع، Dependabot، فحص الأسرار، وفحص أمني قبل التنفيذ — مطبقة تلقائيًا. | Kitploit
أدوات/GitHubGitHub/ariesq/gh-safe-repo
أدوات عامةماسحات الثغرات الأمنيةالبرمجة النصية والأتمتةتدقيق التكوينأمن السحابةDevSecOpsكشف الأسرار
GitHubariesq/gh-safe-repo

gh-safe-repo

واجهة سطر أوامر بلغة Python تقوم بإنشاء مستودعات GitHub مع إعدادات افتراضية آمنة — حماية الفروع، Dependabot، فحص الأسرار، وفحص أمني قبل التنفيذ — مطبقة تلقائيًا.

عرض المستودع
38312منذ 22س 26دتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

gh-safe-repo

أنشئ مستودعات GitHub مع تطبيق الإعدادات الافتراضية الآمنة تلقائيًا. استبدل قائمة التحقق التي تستغرق خمس دقائق بعد الإنشاء بأمر واحد.``` gh-safe-repo create <owner/repo>

حماية الفروع، الوسوم غير القابلة للتغيير، Dependabot، أذونات Actions المقيّدة، وفحص الأسرار مع حماية الدفع — كلها مُهيّأة قبل أن تكتب أول سطر من الكود.

> **الحالة:** gh-safe-repo يخضع لتطوير مكثّف. يعمل بشكل جيد لحالة الاستخدام الأساسية — إنشاء مستودع جديد بإعدادات افتراضية آمنة — لكن خيارات CLI لا تزال قيد الصقل لتتوافق بشكل أفضل مع توقعات المستخدمين. توقّع تغييرات جذرية حتى يتم تثبيت الإصدارات و CI/CD. ✌️

---

## ما الذي تحصل عليه

الإعدادات الافتراضية لـ GitHub مُحسّنة لقابلية الاكتشاف والمرونة، وليس للأمان: كل مستودع جديد يأتي بدون حماية للفروع، وبدون Dependabot، و Actions لديها صلاحية الكتابة على المستودع ويمكنها الموافقة على طلبات السحب الخاصة بها.

`gh-safe-repo` يصلح كل ذلك دفعة واحدة، مع عرض خطة أولاً:

- **خاص افتراضياً** — مرّر `--public` عندما تريد أن يراه العالم
- **حماية الفروع** — PR مطلوب، مراجعة موافقة واحدة، رفض المراجعات القديمة، حل المحادثات، لا دفع قسري، لا حذف للفروع
- **وسوم غير قابلة للتغيير** — لا يمكن إعادة كتابة وسوم الإصدارات أو حذفها
- **Actions مُقيّدة** — رمز للقراءة فقط، لا موافقة ذاتية على PRs، Actions مثبّتة بـ SHA، ناشرون مملوكون لـ GitHub وموثّقون فقط
- **Dependabot مُفعّل** — تنبيهات الثغرات بالإضافة إلى PRs إصلاح تلقائية
- **فحص الأسرار مع حماية الدفع** — الالتزامات التي تحتوي على أسرار مدعومة يتم حظرها
- **الإبلاغ الخاص عن الثغرات** — يمكن للباحثين الوصول إليك دون الإعلان العام
- **فحص الأسرار المسبق** — عند دفع كود موجود (`--local` / `--from`)، يتم فحص شجرة العمل وسجل git محلياً قبل وصول أي شيء إلى GitHub
- **إضافات اختيارية** — wiki و projects و issues تُترك دون تغيير إلا إذا طلبت إدارتها (`has_wiki = false` في الإعدادات)

كل شيء قابل للتخصيص. راجع [الإعدادات الافتراضية الآمنة بالكامل](#safe-defaults-in-full) للإعدادات الدقيقة و[الإعدادات](#configuration) لكيفية تغييرها.

## المتطلبات

- **Python 3.10+**
- **[`gh` CLI](https://cli.github.com/)** مُصادَق عليه (`gh auth login`)، **أو** `GITHUB_TOKEN` مضبوط في بيئتك
- **[`uv`](https://docs.astral.sh/uv/)** للتثبيت من المصدر
- **truffleHog v3** *(اختياري)* — يُستخدم بواسطة الفاحص المسبق؛ يُكتشف تلقائياً من PATH أو يُشغّل عبر podman/docker، مع بديل regex إذا لم يوجد أي منهما

دفع الكود باستخدام `--local` أو `--from` يتطلب إضافةً إلى ذلك بيانات اعتماد git العادية الخاصة بك لـ GitHub — راجع [العمل من كود محلي أو موجود](#working-from-local-or-existing-code).

## التثبيت```bash
git clone https://github.com/AriESQ/gh-safe-repo
cd gh-safe-repo
uv tool install .

gh-safe-repo --help

يُثبّت هذا الأمر gh-safe-repo في بيئة أدوات uv ويضيفه إلى PATH الخاص بك.

لتشغيله دون تثبيت:```bash uv sync # creates .venv ./gh-safe-repo create <owner/repo>

## مستودعك الأول

**1. المعاينة.** `--dry-run` لا يُجري أي استدعاءات API — لا يتم إنشاء أي شيء:```
$ gh-safe-repo create AriESQ/demo-repo --dry-run

Configuring AriESQ/demo-repo...

Planned Changes
Type    Category           Setting                                 Value / Note
------  -----------------  --------------------------------------  ----------------------------------------------------------------
ADD     repo               repository                              AriESQ/demo-repo
DELETE  file               readme                                  README.md
UPDATE  actions            allowed_actions                         'all' → 'selected'
UPDATE  actions            verified_allowed                        False → True
UPDATE  actions            sha_pinning_required                    False → True
UPDATE  actions            default_workflow_permissions            'write' → 'read'
UPDATE  actions            can_approve_pull_request_reviews        True → False
SKIP    branch_protection  branch_protection                       Branch protection requires a public repo or paid GitHub plan
SKIP    security           dependabot_alerts                       Requires a public repo or paid GitHub plan
SKIP    security           secret_scanning                         Requires a public repo or paid GitHub plan
SKIP    security           dependabot_security_updates             Requires a public repo or paid GitHub plan
SKIP    security           private_vulnerability_reporting         Requires a public repo or paid GitHub plan
SKIP    security           enable_dependency_graph                 Requires a public repo or paid GitHub plan
SKIP    security           enable_secret_scanning_push_protection  Requires a public repo or paid GitHub plan
SKIP    tag_protection     tag_protection                          Tag protection rulesets require a public repo or paid GitHub plan

7 change(s) to apply, 8 skipped

Dry run — no changes made.

صفوف SKIP أعلاه هي مستودع خاص بالخطة المجانية: تلك الميزات تحتاج إلى مستودع عام أو خطة مدفوعة. لا شيء يفشل بصمت — راجع قيود خطة GitHub.

2. التطبيق. نفس الأمر بدون --dry-run. تحصل على نفس الخطة، ثم مطالبة تأكيد (--yes تتخطاها):```bash gh-safe-repo create AriESQ/demo-repo

**3. ابدأ العمل.** عند النجاح تحصل على رابط المستودع وأوامر remote جاهزة للصق:```
╭─ Done ───────────────────────────────────────────────────╮
│   Repository created successfully!                       │
│   https://github.com/AriESQ/demo-repo                    │
│                                                          │
│   Add remote to existing repo:                           │
│   SSH  : git remote add origin [email protected]:AriESQ/…   │
│   HTTPS: git remote add origin https://github.com/…      │
│                                                          │
│   Clone fresh:                                           │
│   SSH  : git clone [email protected]:AriESQ/demo-repo.git   │
│   HTTPS: git clone https://github.com/AriESQ/demo-…      │
╰──────────────────────────────────────────────────────────╯

تُسرد النطاقات البعيدة مع البروتوكول المفضل لديك أولاً (gh config get -h github.com git_protocol).

المهام الشائعة

إنشاء مستودع```bash

gh-safe-repo create <owner/repo> # private (default) gh-safe-repo create <owner/repo> --public # public — branch and tag protection apply

`create` عادي يهيّئ المستودع بحيث يوجد فرع افتراضي (حماية الفروع تحتاج إلى واحد)، ثم يحذف `README.md` المُنشأ تلقائيًا حتى تبدأ من صفحة بيضاء. اضبط `auto_init = true` في الإعدادات للإبقاء عليه.

### دفع مشروع محلي موجود```bash
gh-safe-repo create <owner/repo> --local ~/projects/myapp

يقوم بفحص الدليل بحثًا عن الأسرار أولاً، ثم ينشئ المستودع، ويدفع جميع الفروع والوسوم، ثم يربط origin وتتبع المصدر في دليلك الأصلي بحيث يعمل git push فورًا. يتم ترك origin موجود يشير إلى مكان آخر كما هو؛ ويخبرك تحذير ولافتة النجاح بأمر git push -u origin <branch>:<branch> الدقيق الذي يجب تشغيله بدلاً من ذلك. راجع العمل من كود محلي أو موجود.

عكس مستودع موجود```bash

gh-safe-repo create <owner/repo> --from <owner/source> gh-safe-repo create <owner/pub> --from <owner/priv> --public # the riskiest move — scanned thoroughly

يستنسخ المصدر بكامل تاريخه، ويفحصه، وينسخه إلى مستودع جديد بإعدادات افتراضية آمنة. إذا أوقفت العملية عند مرحلة الفحص، فلن يصل أي كود إلى المستودع الجديد.

### تدقيق مستودع لديك بالفعل```bash
gh-safe-repo fix <owner/repo> --dry-run   # what's out of compliance?
gh-safe-repo fix <owner/repo>             # apply the missing defaults
gh-safe-repo fix <owner/repo> --yes       # no prompt, for scripts

fix يجلب القيمة الحالية لكل إعداد، ويعرض UPDATE لما يختلف وSKIP لما هو صحيح بالفعل، ولا يجري أي استدعاءات API للعمليات غير الفعلية. إنه للإعدادات فقط — لا فحص للأسرار. تحتاج إلى صلاحيات المسؤول على المستودع، والذي يمكن أن يكون مملوكًا لمنظمة أو حساب آخر.

تنزيل الأداة