
اكتشف وتحقق من أكثر من 500 نوع من الأسرار المضمنة باستخدام فحوصات متقدمة. استخدمه كخطاف pre-commit hook أو GitHub Action أو CLI للكشف الاستباقي عن الأسرار والأمان.
[!IMPORTANT] macOS: الترقية إلى 1.54.0 تؤدي إلى ظهور مطالبة Keychain لـ
ggshield-py، وهو ملف تنفيذي ثانٍ يقرأ الآن الرمز المميز المحفوظ لديك كجزء من تحسينات الأداء لدينا. انقر على Always Allow؛ لن يسأل مرة أخرى.
ggshield هو تطبيق CLI يعمل في بيئتك المحلية أو في بيئة CI لمساعدتك في اكتشاف أكثر من 500+ نوع من الأسرار.
يستخدم ggshield واجهة برمجة التطبيقات العامة الخاصة بنا عبر py-gitguardian لفحص واكتشاف الثغرات المحتملة في الملفات والمحتوى النصي الآخر.
يتم تخزين البيانات الوصفية فقط مثل وقت الاستدعاء وحجم الطلب ووضع الفحص من عمليات الفحص باستخدام ggshield، لذلك لن يتم عرض الأسرار على لوحة التحكم الخاصة بك ولن يتم تخزين ملفاتك وأسرارك.
أسرع طريقة لتثبيت ggshield.
Linux / macOS:
curl -sSfL \
https://raw.githubusercontent.com/GitGuardian/ggshield/main/scripts/install/install.sh | bash
Windows (PowerShell):
irm https://raw.githubusercontent.com/GitGuardian/ggshield/main/scripts/install/install.ps1 | iex
أو، إذا كنت تفضل curl (المضمّن مع Windows 10+):
curl.exe -sSL https://raw.githubusercontent.com/GitGuardian/ggshield/main/scripts/install/install.ps1 | powershell -NoProfile -ExecutionPolicy Bypass -Command -
يقبل النص خيارات مثل --instance و --plugin (تثبيت
إضافة). بالنسبة لمساحة العمل الأوروبية أو نسخة مستضافة ذاتيًا، قم بتعيين
متغير البيئة GITGUARDIAN_INSTANCE (أو تمرير --instance <URL>)
قبل التشغيل.
راجع scripts/install/README.md للحصول على القائمة الكاملة
من الخيارات، وطرق التثبيت الأخرى، وكيفية إلغاء التثبيت.
تقوم الطرق أدناه بتثبيت CLI يدويًا بدلاً من ذلك.
يمكنك تثبيت ggshield باستخدام Homebrew:
brew install ggshield
تتم الترقية بواسطة Homebrew.
بدلاً من ذلك، يمكنك تنزيل وتثبيت حزمة .pkg مستقلة من صفحة إصدارات ggshield.
هذه الحزمة لا تتطلب تثبيت Python، ولكن عليك تنزيل الإصدارات الجديدة يدويًا.
حزم Deb و RPM متاحة على Cloudsmith.
تعليمات الإعداد:
تتم الترقية بواسطة مدير الحزم.
ggshield متاح عبر مدير حزم Chocolatey:
choco install ggshield
قم بتنزيل مثبّت MSI من صفحة إصدارات ggshield وقم بتثبيته:
msiexec /i ggshield-VERSION-x86_64-pc-windows-msvc.msi
نوفر أرشيف .zip مستقل على صفحة إصدارات ggshield.
قم بفك ضغط الأرشيف على القرص الخاص بك، ثم أضف الدليل الذي يحتوي على ملف ggshield.exe إلى %PATH%.
هذا الأرشيف لا يتطلب تثبيت Python، ولكن عليك تنزيل الإصدارات الجديدة يدويًا.
يمكن تثبيت ggshield على جميع أنظمة التشغيل المدعومة عبر حزمة PyPI.
يتطلب إصدارًا مدعومًا من Python (غير منتهي الصلاحية) (باستثناء الحزم المستقلة) و git.
إذا كنت لا تستخدم إصداراتنا المعبأة من ggshield، فيرجى العلم أننا نتبع دورة إصدار Python ولا ندعم الإصدارات التي وصلت إلى نهاية العمر الافتراضي (EOL).
الطريقة الموصى بها لتثبيت ggshield من PyPI هي استخدام pipx، والذي سيثبته في بيئة معزولة:
pipx install ggshield
لترقية التثبيت الخاص بك، قم بتشغيل:
pipx upgrade ggshield
يمكنك أيضًا تثبيت ggshield من PyPI باستخدام pip، ولكن هذا غير موصى به لأن التثبيت غير معزول، لذلك قد تؤثر التطبيقات أو الحزم الأخرى المثبتة بهذه الطريقة على تثبيت ggshield الخاص بك. لن تعمل هذه الطريقة أيضًا إذا كان تثبيت Python الخاص بك معلنًا كـ externally managed (على سبيل المثال عند استخدام Python النظام على أنظمة تشغيل مثل Debian 12):
pip install --user ggshield
لترقية التثبيت الخاص بك، قم بتشغيل:
pip install --user --upgrade ggshield
ggshield auth loginلاستخدام ggshield تحتاج إلى المصادقة مقابل خوادم GitGuardian. للقيام بذلك، استخدم الأمر ggshield auth login. يقوم هذا الأمر بأتمتة توفير رمز وصول شخصي وتكوينه على محطة العمل المحلية.
يمكنك معرفة المزيد عنه من وثائق ggshield auth login.
بعد المصادقة، قم بتشغيل ggshield machine setup لتكوين خطافات AI و git،
وزرع honeytokens، وتسجيل الجهاز في صفحة Endpoints قبل أول
فحص. يتضمن التسجيل المستخدم الحالي، أو جميع مستخدمي honeytoken المستهدفين عند
التشغيل كـ root. إنه بذل أفضل جهد، ويستغرق خمس ثوانٍ على الأكثر، ولا يؤثر
على رمز الخروج للأمر.
ترسل عمليات الفحص ggshield secret scan pre-commit و pre-push و ai-hook أيضًا
اسم مضيف الجهاز، والذي منه يسجل GitGuardian مستخدمي هذه الخطافات.
لا ترسله أوامر الفحص الأخرى، ولا يرسله خطاف AI الأصلي الذي تشغله
عمليات تثبيت pip المستقلة والخاصة بالمنصة.
في CI، لا يسجل ggshield الجهاز ولا يرسل اسم المضيف. لإيقاف كليهما
في مكان آخر، قم بتعيين endpoint_registration: false في .gitguardian.yaml، أو قم بتعيين
GGSHIELD_NO_ENDPOINT_REGISTRATION إلى قيمة غير فارغة.