
اكتشف وتحقق من أكثر من 500 نوع من الأسرار المضمنة باستخدام فحوصات متقدمة. استخدمه كخطاف pre-commit hook أو GitHub Action أو CLI للكشف الاستباقي عن الأسرار والأمان.
ggshield هو تطبيق واجهة سطر أوامر (CLI) يعمل في بيئتك المحلية أو في بيئة CI لمساعدتك في اكتشاف أكثر من 500 نوع من الأسرار.
يستخدم ggshield واجهة برمجة التطبيقات العامة الخاصة بنا عبر مكتبة py-gitguardian لفحص واكتشاف الثغرات المحتملة في الملفات والمحتويات النصية الأخرى.
يتم تخزين البيانات الوصفية فقط مثل وقت الاستدعاء وحجم الطلب ووضع الفحص من عمليات الفحص باستخدام ggshield، لذلك لن يتم عرض الأسرار في لوحة التحكم الخاصة بك و لن يتم تخزين ملفاتك وأسرارك.
أسرع طريقة لتثبيت ggshield.
لينكس / macOS:
curl -sSfL \
https://raw.githubusercontent.com/GitGuardian/ggshield/main/scripts/install/install.sh | bash
ويندوز (PowerShell):
irm https://raw.githubusercontent.com/GitGuardian/ggshield/main/scripts/install/install.ps1 | iex
أو إذا كنت تفضل curl (مضمن مع ويندوز 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 ولا ندعم الإصدارات التي وصلت إلى نهاية العمر الافتراضي.
الطريقة الموصى بها لتثبيت ggshield من PyPI هي استخدام pipx، الذي سيقوم بتثبيته في بيئة معزولة:
pipx install ggshield
لترقية التثبيت الخاص بك، قم بتشغيل:
pipx upgrade ggshield
يمكنك أيضًا تثبيت ggshield من PyPI باستخدام pip، لكن هذا غير موصى به لأن التثبيت غير معزول، لذا قد تؤثر التطبيقات أو الحزم الأخرى المثبتة بهذه الطريقة على تثبيت ggshield. هذه الطريقة لن تعمل أيضًا إذا تم تعريف تثبيت Python الخاص بك بأنه مُدار خارجيًا (على سبيل المثال عند استخدام Python النظامي في أنظمة التشغيل مثل Debian 12):
pip install --user ggshield
لترقية التثبيت الخاص بك، قم بتشغيل:
pip install --user --upgrade ggshield
ggshield auth loginلاستخدام ggshield، تحتاج إلى المصادقة ضد خوادم GitGuardian. للقيام بذلك، استخدم الأمر ggshield auth login. يقوم هذا الأمر بأتمتة توفير رمز الوصول الشخصي وتكوينه على محطة العمل المحلية.
يمكنك معرفة المزيد عنه من وثائق ggshield auth login.
يمكنك أيضًا إنشاء رمز الوصول الشخصي يدويًا وتخزينه في متغير البيئة GITGUARDIAN_API_KEY لإكمال الإعداد.
يمكنك الآن استخدام ggshield للبحث عن الأسرار:
ggshield secret scan path -r .ggshield secret scan repo .docker متاحًا): ggshield secret scan docker ubuntu:22.04pip متاحًا): ggshield secret scan pypi flaskggshield secret scan --help للحصول على التفاصيل.إذا أبلغ ggshield أن ملف الإعدادات .gitguardian.yaml (أو .gitguardian.yml) الخاص بك يستخدم تنسيقًا قديمًا، فقم بترقيته إلى أحدث إصدار باستخدام:
ggshield config migrate
افتراضيًا، يبحث هذا عن ملف الإعدادات في الدليل الحالي، لذا قم بتشغيله من الدليل الذي يحتوي على الملف. لتشغيله من أي مكان، قم بتوجيه ggshield إلى الملف صراحة:
ggshield --config-path path/to/.gitguardian.yaml config migrate
يتم الاحتفاظ بالإصدار السابق من الملف كنسخة احتياطية .old بجانبه.
يمكنك دمج ggshield في سير عمل CI/CD الخاص بك.
لالتقاط الأخطاء مبكرًا، استخدم ggshield كخطاف Git (pre-commit أو pre-push أو pre-receive): https://docs.gitguardian.com/ggshield-docs/integrations/overview#git-hooks-prevent-secrets-from-reaching-your-vcs
يمكن لـ ggshield فحص التفاعلات بينك وبين مساعد البرمجة بالذكاء الاصطناعي في الوقت الفعلي، مع حظر الإجراءات التي تحتوي على أسرار قبل تنفيذها.
يمكنك تثبيت الخطافات باستخدام الأمر ggshield install.
الأدوات المدعومة: Cursor، Claude Code، Copilot Chat، و Codex.
لمزيد من المعلومات، ألق نظرة على الوثائق
إذا لم يتم العثور على أي أسرار، سيكون رمز الخروج 0:
ggshield secret scan pre-commit
إذا تم العثور على سر في الكود المدرج أو في CI الخاص بك، ستحصل على تنبيه يعطيك اسم الملف الذي تم العثور على السر فيه وتصحيح يوضح موقع السر في الملف:
ggshield secret scan pre-commit
تم العثور على حادثتين في الملف production.rb
11 | config.paperclip_defaults = {
12 | :s3_credentials => {
13 | :bucket => "XXX",
14 | :access_key_id => "XXXXXXXXXXXXXXXXXXXX",
|_____AWS Keys_____|
15 | :secret_access_key => "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
|_______________AWS Keys_______________|
16 | }
17 | }
يتم اقتطاع الأسطر الطويلة جدًا لتتناسب مع حجم الطرفية، ما لم يتم استخدام الوضع المفصل (-v أو --verbose).
ggshield مرخص بموجب MIT.