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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
git-secrets — يمنعك من إرسال الأسرار وبيانات الاعتماد إلى مستودعات git | Kitploit
أدوات/GitHubGitHub/awslabs/git-secrets
تحليل الكودتدقيق التكوينDevSecOpsكشف الأسرارالأفضل في كشف الأسرار #4
GitHubawslabs/git-secrets

git-secrets

يمنعك من إرسال الأسرار وبيانات الاعتماد إلى مستودعات git

عرض المستودع
13.4k1.3k109منذ سنة واحدةتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

=========== git-secrets


يمنعك من ارتكاب كلمات المرور والمعلومات الحساسة الأخرى في مستودع git.

.. contents:: :depth: 2

ملخص

::

git secrets --scan [-r|--recursive] [--cached] [--no-index] [--untracked] [<files>...]
git secrets --scan-history
git secrets --install [-f|--force] [<target-directory>]
git secrets --list [--global]
git secrets --add [-a|--allowed] [-l|--literal] [--global] <pattern>
git secrets --add-provider [--global] <command> [arguments...]
git secrets --register-aws [--global]
git secrets --aws-provider [<credentials-file>]

وصف

يقوم git-secrets بفحص الالتزامات (commits) ورسائل الالتزام وعمليات الدمج من نوع --no-ff لمنع إضافة الأسرار إلى مستودعات git الخاصة بك. إذا تطابق الالتزام، أو رسالة الالتزام، أو أي التزام في تاريخ دمج --no-ff مع أحد أنماط التعبير العادية المحظورة التي قمت بتكوينها، فسيتم رفض الالتزام.

تثبيت git-secrets

يجب وضع git-secrets في مكان ما في مسار PATH الخاص بك بحيث يتم اكتشافه بواسطة git عند تشغيل git secrets.

*nix (لينكس/macOS)


يمكنك استخدام هدف ``install`` من ملف Makefile المقدم لتثبيت ``git secrets`` وصفحة الدليل. يمكنك تخصيص مسار التثبيت باستخدام متغيرات PREFIX و MANPREFIX.

::

    make install

ويندوز
~~~~~~~

قم بتشغيل سكريبت PowerShell المقدم ``install.ps1``. سيقوم هذا بنسخ الملفات اللازمة إلى دليل التثبيت (``%USERPROFILE%/.git-secrets`` بشكل افتراضي) وإضافة الدليل إلى متغير PATH الخاص بالمستخدم الحالي.

::

    PS > ./install.ps1

Homebrew (لمستخدمي macOS)

::

brew install git-secrets

.. warning::

**لم تنته بعد! يجب عليك تثبيت خطافات git لكل مستودع ترغب في استخدامه مع** ``git secrets --install``.

إليك مثال سريع لكيفية ضمان فحص مستودع git بحثًا عن الأسرار مع كل التزام::

cd /path/to/my/repo
git secrets --install
git secrets --register-aws

تكوين متقدم

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

::

git secrets --register-aws --global

أضف خطافات إلى جميع مستودعاتك المحلية.

::

git secrets --install ~/.git-templates/git-secrets
git config --global init.templateDir ~/.git-templates/git-secrets

أضف موفرات مخصصة لفحص بيانات اعتماد الأمان.

::

git secrets --add-provider -- cat /path/to/secret/file/patterns

قبل جعل المستودع عامًا

مع git-secrets يمكن أيضًا فحص مستودع بما في ذلك جميع المراجعات:

::

git secrets --scan-history

الخيارات

أوضاع التشغيل


يجب أن يظهر كل خيار من هذه الخيارات أولاً في سطر الأوامر.

``--install``
    يقوم بتثبيت خطافات git لمستودع. بمجرد تثبيت الخطافات لمستودع git، سيتم منع الالتزامات وعمليات الدمج غير السريعة لهذا المستودع من ارتكاب الأسرار.

``--scan``
    يقوم بفحص ملف واحد أو أكثر بحثًا عن الأسرار. عندما يحتوي ملف على سر، سيتم كتابة النص المتطابق من الملف المفحوص إلى stdout وسيخرج السكريبت بحالة غير صفرية. سيتم كتابة كل سطر متطابق مع اسم الملف الذي تطابق، ونقطتين، ورقم السطر المتطابق، ونقطتين، ثم سطر النص المتطابق. إذا لم يتم توفير أي ملفات، فسيتم فحص جميع الملفات التي يتم إرجاعها بواسطة ``git ls-files``.

``--scan-history``
    يقوم بفحص المستودع بما في ذلك جميع المراجعات. عندما يحتوي ملف على سر، سيتم كتابة النص المتطابق من الملف المفحوص إلى stdout وسيخرج السكريبت بحالة غير صفرية. سيتم كتابة كل سطر متطابق مع اسم الملف الذي تطابق، ونقطتين، ورقم السطر المتطابق، ونقطتين، ثم سطر النص المتطابق.

``--list``
    يسرد تكوين ``git-secrets`` للمستودع الحالي أو في تكوين git العام.

``--add``
    يضيف نمطًا محظورًا أو مسموحًا به.

``--add-provider``
    يسجل موفر أسرار. موفرات الأسرار هي ملفات قابلة للتنفيذ عند استدعائها تخرج أنماطًا محظورة يجب على ``git-secrets`` معاملتها كمحظورة.

``--register-aws``
    يضيف أنماط AWS الشائعة إلى تكوين git ويضمن عدم العثور على مفاتيح موجودة في ``~/.aws/credentials`` في أي التزام. تتم إضافة الفحوصات التالية:

    - معرفات مفتاح الوصول AWS عبر ``(A3T[A-Z0-9]|AKIA|AGPA|AIDA|AROA|AIPA|ANPA|ANVA|ASIA)[A-Z0-9]{16}``
    - مفاتيح API لـ Amazon Bedrock. طويلة العمر عبر ``ABSK[A-Za-z0-9+/]{109,}=*`` وقصيرة العمر عبر ``bedrock-api-key-YmVkcm9jay5hbWF6b25hd3MuY29t``
    - تعيينات مفتاح الوصول السري AWS عبر ":" أو "=" محاطة بعلامات اقتباس اختيارية
    - تعيينات معرف حساب AWS عبر ":" أو "=" محاطة بعلامات اقتباس اختيارية
    - أنماط مسموح بها لمفاتيح AWS سبيل المثال (``AKIAIOSFODNN7EXAMPLE`` و ``wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY``)
    - بيانات اعتماد معروفة من ``~/.aws/credentials``

    .. note::

        على الرغم من أن الأنماط المسجلة بواسطة هذا الأمر يجب أن تلتقط معظم حالات بيانات اعتماد AWS، إلا أن هذه الأنماط **ليست** مضمونة لالتقاطها **جميعًا**. يجب استخدام ``git-secrets`` كوسيلة إضافية للتأمين - ما زلت بحاجة إلى بذل العناية الواجبة لضمان عدم ارتكاب بيانات الاعتماد في مستودع.

``--aws-provider``
    موفر أسرار يخرج بيانات الاعتماد الموجودة في ملف INI. يمكنك اختياريًا توفير المسار إلى ملف INI.


خيارات ``--install``

-f, --force يقوم بالكتابة فوق الخطافات الموجودة إذا كانت موجودة.

<target-directory> عند توفيره، يقوم بتثبيت خطافات git إلى الدليل المحدد. يتم افتراض الدليل الحالي إذا لم يتم توفير <target-directory>.

إذا كان ``<target-directory>`` المقدم ليس في مستودع git، فسيتم إنشاء الدليل ووضع الخطافات في ``<target-directory>/hooks``. يمكن أن يكون هذا مفيدًا لإنشاء أدلة قوالب git لاستخدامها مع ``git init --template <target-directory>``.

يمكنك تشغيل ``git init`` على مستودع تمت تهيئته بالفعل. من `وثائق git init <https://git-scm.com/docs/git-init>`_:

    من وثائق git: تشغيل ``git init`` في مستودع موجود آمن. لن يقوم بالكتابة فوق الأشياء الموجودة بالفعل. السبب الرئيسي لإعادة تشغيل ``git init`` هو لاستلام القوالب المضافة حديثًا (أو لنقل المستودع إلى مكان آخر إذا تم توفير ``--separate-git-dir``).

يتم تثبيت خطافات git التالية:

1. ``pre-commit``: يستخدم للتحقق مما إذا كانت أي من الملفات التي تم تغييرها في الالتزام تستخدم أنماطًا محظورة.
2. ``commit-msg``: يستخدم لتحديد ما إذا كانت رسالة الالتزام تحتوي على أنماط محظورة.
3. ``prepare-commit-msg``: يستخدم لتحديد ما إذا كان التزام الدمج سيقدم تاريخًا يحتوي على نمط محظور في أي نقطة. يرجى ملاحظة أن هذا الخطاف يتم استدعاؤه فقط لعمليات الدمج غير السريعة.

.. note::

    يسمح git فقط بتنفيذ سكريبت واحد لكل خطاف. إذا كان المستودع يحتوي على أدلة فرعية على غرار Debian مثل ``pre-commit.d`` و ``commit-msg.d``، فسيتم تثبيت خطافات git في هذه الأدلة، مما يفترض أنك قمت بتكوين الخطافات المقابلة لتنفيذ جميع السكريبتات الموجودة في هذه الأدلة. إذا لم تكن هذه الأدلة الفرعية git موجودة، فسيتم تثبيت خطافات git إلى دليل ``.git/hooks`` الخاص بمستودع git.

أمثلة ^^^^^^^^

تثبيت خطافات git إلى الدليل الحالي::

cd /path/to/my/repository
git secrets --install

تثبيت خطافات git إلى مستودع غير الدليل الحالي::

git secrets --install /path/to/my/repository

إنشاء قالب git يحتوي على git-secrets مثبتًا، ثم نسخ هذا القالب إلى مستودع git::

git secrets --install ~/.git-templates/git-secrets
git init --template ~/.git-templates/git-secrets

الكتابة فوق الخطافات الموجودة إذا كانت موجودة::

git secrets --install -f

خيارات --scan


``-r, --recursive``
    يقوم بفحص الملفات المحددة بشكل متكرر. إذا تمت مصادفة دليل، فسيتم فحص الدليل. إذا لم يتم توفير ``-r``، فسيتم تجاهل الأدلة.

    لا يمكن استخدام ``-r`` جنبًا إلى جنب مع ``--cached``، أو ``--no-index``، أو ``--untracked``.

``--cached``
    يبحث في كائنات blob المسجلة في ملف الفهرس.

``--no-index``
    يبحث في الملفات الموجودة في الدليل الحالي التي لا يديرها git.

``--untracked``
    بالإضافة إلى البحث في الملفات المتعقبة في شجرة العمل، يقوم ``--scan`` أيضًا في الملفات غير المتعقبة.

``<files>...``
    المسار إلى ملف واحد أو أكثر على القرص لفحصها بحثًا عن الأسرار.
تنزيل الأداة