محمد شرف

الأسرار في Git: كيف تتسرب وكيف توقفها

حذف الملف لا يزيل المفتاح. ماذا تفعل أولًا، وكيف تمنع التسريب التالي.

· 1 دقائق قراءة

أي كلمة مرور أو مفتاح API وصل إلى commit يومًا، اعتبره مسرّبًا. حذف الملف لا يفيد؛ Git يحتفظ به في السجل، وفي كل نسخة مستنسخة، وفي كل fork، والبوتات تفحص المستودعات العامة بحثًا عن المفاتيح خلال دقائق.

الساعة الأولى:

  1. ألغِ المفتاح وأصدر جديدًا. هذا هو الإصلاح الحقيقي.
  2. راجع سجلات المزوّد بحثًا عن استخدام منذ تاريخ الـcommit.
  3. ثم نظّف السجل إذا كان المستودع عامًا.

لمنع التسريب التالي:

  • الكود يحمل اسم السر، لا قيمته أبدًا. القيم تأتي من متغيرات البيئة أو مدير أسرار.
  • احفظ .env.example في المستودع، و.env في .gitignore.
  • أضف ماسحًا قبل الـcommit مثل Gitleaks أو TruffleHog.
  • فعّل الحماية عند الدفع في GitHub (مفعّلة افتراضيًا للمستودعات العامة) أو ما يقابلها في GitLab.
  • افحص السجل الكامل لمستودعاتك الحالية مرة واحدة.

المفاتيح تتسرب أيضًا عبر سجلات CI ولقطات الشاشة وصور Docker. القاعدة نفسها: ما انكشف، غيّره.

شاركWhatsAppLinkedInXTelegramFacebook