المخاطر الأمنية المحتملة في المدونات مفتوحة المصدر: كيفية حماية المعلومات الشخصية من التسريب

نظرة عامة

تُعد صفحات GitHub منصة مجانية لاستضافة المدونات مفتوحة المصدر، وتحظى بشعبية واسعة نظرًا لسهولة استخدامها وكونها مجانية. ومع ذلك، تتطلب النسخة المجانية جعل المستودع علنيًا لتقديم خدمة وصول علني، وهذه الخاصية قد تؤدي إلى مخاطر تسريب غير متوقعة.

حتى وإن لم يحتوِ محتوى المقالة نفسه على معلومات حساسة، فقد يُسرب مستودع الكود المصدري للمدونة دون قصد معلومات شخصية حساسة. تناقش هذه المقالة هذه المخاطر المحتملة وتقدم حلولًا عملية.

🔍 أنواع التسريبات الشائعة

كلمات صينية حساسة

قد تحتوي الكلمات الصينية التالية على معلومات شخصية حساسة، ويوصى بالتحقق منها قبل إرسال الكود:

  • 密码 (كلمة المرور)
  • 账号 (رقم الحساب)
  • 身份证 (بطاقة الهوية)
  • 银行卡 (بطاقة البنك)
  • 支付宝 (Alipay)
  • 微信 (WeChat)
  • 手机号 (رقم الهاتف)
  • 家庭住址 (عنوان المنزل)
  • 工作单位 (مكان العمل)
  • 社保卡 (بطاقة الضمان الاجتماعي)
  • 驾驶证 (رخصة القيادة)
  • 护照 (جواز السفر)
  • 信用卡 (بطاقة الائتمان)

كلمات إنجليزية حساسة

يجب الانتباه بعناية للكلمات المفتاحية التالية في البيئة الإنجليزية:

  • username
  • password
  • account
  • key
  • ini
  • credential
  • card
  • bank
  • alipay
  • wechat
  • passport
  • id
  • phone
  • address
  • company

استخدام التعبيرات النمطية للكشف

يمكن استخدام التعبير النمطي التالي لمسح المستودع للبحث عن معلومات حساسة محتملة:

(密码|账号|身份证|银行卡|支付宝|微信|手机号|家庭住址|工作单位|社保卡|驾驶证|护照|信用卡|username|password|passwd|account|key\s*:|\.ini|credential|card|bank|alipay|wechat|passport|id\s*:|phone|address|company)

المسح في VSCode

إذا كنت تستخدم VSCode كمحرر للمدونة، يمكنك اتباع الخطوات التالية لمسح الموقع بأكمله للبحث عن معلومات حساسة:

  1. افتح VSCode
  2. استخدم اختصار لوحة المفاتيح Ctrl+Shift+F (Windows/Linux) أو Cmd+Shift+F (Mac) لفتح البحث الشامل
  3. أدخل التعبير النمطي أعلاه في مربع البحث
  4. فعّل وضع التعبير النمطي (انقر على أيقونة .* بجانب مربع البحث)
  5. انقر على بحث، وتحقق من النتائج للبحث عن معلومات حساسة محتملة

مثال مسح التعبير النمطي في VSCode

🕰️ تسريب المعلومات في سجل Git

قد يحتوي سجل إصدارات Git على معلومات حساسة من ملفات تم حذفها. حتى وإن لم تكن هناك معلومات حساسة في الكود الحالي، إلا أن عمليات الإرسال التاريخية قد لا تزال تحتفظ بهذه المعلومات.

مسح سجل Git

يمكنك مسح عمليات الإرسال التاريخية لمدونتك مفتوحة المصدر باستخدام نص برمجي بسيط للتحقق من وجود تسريب معلومات.

تنظيف سجل Git

إذا تأكدت من ضرورة تنظيف المعلومات الحساسة من سجل Git، يمكنك استخدام الطريقة التالية:

⚠️ تنبيه هام : يؤدي تنفيذ العمليات التالية إلى حذف سجل Git بشكل دائم، يرجى التأكد من نسخ البيانات المهمة احتياطيًا، وفهم معنى الأوامر تمامًا.

# إعادة التعيين للإرسال الأول (مع الاحتفاظ بتعديلات منطقة العمل)
git reset --soft ${first-commit}

# دفع القوة إلى المستودع البعيد
git push -f

ملاحظة: إذا كنت بحاجة إلى الاحتفاظ بسجل الإرسال الكامل، فلا تستخدم الطريقة أعلاه.

🛠️ أدوات مسح احترافية موصى بها

بالإضافة إلى الفحص اليدوي، يمكنك استخدام أدوات متخصصة لإجراء مسح أكثر شمولاً:

TruffleHog

TruffleHog هو أداة قوية لاكتشاف، التحقق، وتحليل بيانات الاعتماد المسربة.

شعار TruffleHog

الميزات:

  • عدد النجوم على GitHub: 17.2k
  • عدد Forks: 1.7k
  • يدعم أنماط مسح متعددة
  • يمكنه اكتشاف معلومات حساسة مخفية بعمق

🔒 حلول بديلة لنشر المدونة بأمان

إذا كنت قلقًا من المخاطر الأمنية الناتجة عن المستودعات العلنية، يمكنك التفكير في البدائل التالية:

1. استخدام GitHub Pro

  • يدعم GitHub Pro نشر مستودعات خاصة إلى Pages
  • التكلفة: حوالي 4 دولارات شهريًا
  • المزايا: الحفاظ على خصوصية الكود المصدري، مع الاستمتاع براحة صفحات GitHub

2. استخدام Cloudflare Pages

  • ضبط المستودع ليكون خاصًا
  • الإطلاق من خلال Cloudflare Pages
  • المزايا: مجاني بالكامل، يدعم المستودعات الخاصة

3. استراتيجية مستودعين

  • المستودع الخاص: يحتوي على المقالات قيد التعديل والمسودات
  • المستودع العلني: يحتوي فقط على المقالات المنشورة نهائياً
  • المزايا: حماية أقصى للمسودات والمحتوى غير المنشور
  • ملاحظة: إذا كنت تستخدم أنظمة تعليقات تعتمد على GitHub مثل giscus، فستظل بحاجة إلى مستودع علني

📝 أفضل الممارسات المقترحة

  1. المراجعة الدورية: قم بمسح المستودع بانتظام باستخدام أدوات المسح للبحث عن معلومات حساسة
  2. التحقق قبل الإرسال: تحقق قبل كل إرسال كود من عدم احتوائه على معلومات حساسة
  3. استخدام .gitignore: قم بتكوين ملف .gitignore بشكل صحيح لاستبعاد الملفات الحساسة
  4. متغيرات البيئة: احفظ الإعدادات الحساسة في متغيرات البيئة بدلًا من مستودع الكود
  5. إدارة المسودات: فكّر في استخدام نظام إدارة مسودات مخصص لتجنب إرسال المسودات بالخطأ

🎯 ملخص

رغم أن المدونات مفتوحة المصدر مريحة، إلا أنها بالفعل تنطوي على مخاطر التسريب. من خلال استخدام الأدوات والأساليب المناسبة، يمكننا تقليل هذه المخاطر بشكل فعال. اختيار منصة نشر واستراتيجية مناسبة، يمكن أن يمنحك الراحة المفتوحة المصدر مع حماية خصوصيتك الشخصية.

تذكّر أن أمن المعلومات هو عملية مستمرة، وتحتاج إلى اليقظة الدائمة.

موارد مرجعية