
ماسح أسرار قائم على خطاف Git يكتشف الرموز وكلمات المرور والمفاتيح الخاصة في مجموعات التغييرات الصادرة، مما يمنع البيانات الحساسة من أن تُلتزم أو تُدفع إلى المستودعات.
أداة لاكتشاف ومنع تسرب الأسرار إلى نظام التحكم بالإصدارات
Talisman هي أداة تقوم بفحص مجموعات التغييرات في git لضمان عدم خروج الأسرار المحتملة أو المعلومات الحساسة من جهاز المطور.
تتحقق من مجموعة التغييرات الصادرة عن أي شيء يبدو مشبوهاً - مثل مفاتيح SSH المحتملة، ورموز التفويض، والمفاتيح الخاصة، إلخ.
يدعم Talisman أنظمة MAC OSX و Linux و Windows.
يمكن تثبيت Talisman واستخدامه بإحدى الطرق التالية:
يمكن إعداد Talisman كخطاف pre-commit أو pre-push على مستودعات git.
ابحث عن التعليمات أدناه.
تنويه: لا يمكن لـTalisman اكتشاف الأسرار التي تتسلل عبر push قسري في مستودع git. يُعتقد أن push القسري له سمعة سيئة بطرق مختلفة، ونقترح على مسؤولي مستودع git تطبيق التدابير المناسبة لتأذين مثل هذه الأنشطة.
نوصي بتثبيت talisman في المسار الخاص بك بحيث يكون متاحاً لأطر عمل الخطافات والنصوص البرمجية. اختر الملف الثنائي الصحيح لنظامك من صفحة الإصدارات، أو قم بتشغيل نص التثبيت:```bash
bash -c "$(curl --silent https://raw.githubusercontent.com/thoughtworks/talisman/main/install.sh)"
أو قم بتعيين متغير البيئة `INSTALL_LOCATION` لتحديد موقع مخصص للثنائي:```bash
INSTALL_LOCATION=/usr/local/bin bash -c "$(curl --silent https://raw.githubusercontent.com/thoughtworks/talisman/main/install.sh)"
أو قم بتعيين متغير البيئة VERSION إلى علامة إصدار لتثبيت إصدار معين::```bash
VERSION=v1.36.0 bash -c "$(curl --silent https://raw.githubusercontent.com/thoughtworks/talisman/main/install.sh)"
أو باستخدام linuxbrew في Linux و homebrew في macOS عن طريق تشغيل الأمر التالي في الطرفية:```bash
brew install talisman
نقدم نصوصًا برمجية تقوم بتثبيت Talisman كـ قالب خطاف pre-commit git، مما يؤدي إلى وجود Talisman ليس فقط في مستودعات git الحالية، بل أيضًا في أي مستودع جديد تقوم بعملية 'init' أو 'clone'.
كخطاف pre-commit: ``` bash -c "$(curl --silent https://raw.githubusercontent.com/thoughtworks/talisman/main/global_install_scripts/install.bash)"
أو
كخطاف ما قبل الدفع: ```
bash -c "$(curl --silent https://raw.githubusercontent.com/thoughtworks/talisman/main/global_install_scripts/install.bash)" -- pre-push
$PATH الخاص بك، سيُطلب منك اختيار مكان مناسب لتعيينه. اختر رقم الخيار حيث تقوم بتعيين مصدر ملف التعريف على جهازك.تذكر تنفيذ source على ملف المسار أو إعادة تشغيل الطرفية.
إذا اخترت تعيين $PATH لاحقًا، يُرجى تصدير TALISMAN_HOME=$HOME/.talisman/bin إلى المسار.
لن يؤدي تثبيت talisman كخطاف عالميًا إلى الكتابة فوق أي خطافات موجودة. إذا وجد سكريبت التثبيت أي خطافات موجودة، فسيشير إلى ذلك فقط على وحدة التحكم. لتشغيل خطافات متعددة، نقترح استخدام إطار عمل للخطافات، مثل pre-commit أو husky. تفترض هذه التعليمات أن الملف التنفيذي لـ talisman مثبت في مكان ما على مسار النظام الخاص بك.
استخدم pre-commit لإدارة الخطافات الموجودة إلى جانب Talisman. قم بالإشارة إلى pre-commit-hooks الخاص بنا في ملف .pre-commit-config.yaml الخاص بك:
repos:
- repo: https://github.com/thoughtworks/talisman
rev: '' # Use the latest release version
hooks:
- id: talisman-precommit
``````yaml
- repo: https://github.com/thoughtworks/talisman
rev: 'v1.32.2' # Update me!
hooks:
# both pre-commit and pre-push supported
# - id: talisman-push
- id: talisman-commit
husky هي وحدة npm لإدارة الخطافات (hooks).
أضف السطر التالي إلى تكوين pre-commit الخاص بـ husky في ملف
package.json:```
talisman --githook pre-commit
## استدعاء تاليسمان مباشرةً
بمجرد تثبيت ملف تاليسمان القابل للتنفيذ [المثبت](#install-onto-path-recommended-approach) يمكنك تكوين خطاف pre-commit مستقل لمستودع git:```bash
cd my-git-project
echo "talisman -g pre-commit" >> .git/hooks/pre-commit
chmod +x .git/hooks/pre-commit
منذ الإصدار v0.4.4، يقوم Talisman بتحديث الملف الثنائي تلقائيًا إلى أحدث إصدار عند استدعاء الخطاف (في وقت pre-commit/pre-push، حسب الإعداد). لذا، فقط استرخِ واستمر في استخدام أحدث إصدار من Talisman دون أي جهد إضافي.
يمكن تعيين متغيرات البيئة التالية: