١٢ ألف مفتاح سري في نماذج الذكاء الاصطناعي: كيف تحول التدريب إلى كارثة أمنية؟

يا جماعة الخير، السلام عليكم ورحمة الله.

بتذكر قبل كم سنة، يمكن بحدود ٢٠١٧، كنّا سهرانين بالمكتب بنجهّز لإطلاق نسخة جديدة من نظام كبير. معنا كان شب جديد، خلّونا نسميه “سالم”، مطوّر شاطر بس لسا حماسي زيادة عن اللزوم. في خضم ضغط الشغل وتسليم المشروع، وبدون قصد طبعًا، رفع سالم ملف الإعدادات (.env file) اللي فيه كل المفاتيح السرية وقواعد البيانات على مستودع GitHub عام بدل الخاص.

والله ما مرّت ساعتين إلا والتلفون برنّ من شركة الاستضافة السحابية، بحكولنا إنه في نشاط غريب جدًا على حسابنا وعمليات تعدين عملات رقمية شغّالة على أعلى مستوى! ما بحكيلكم كيف كانت هالليلة… سباق مع الزمن لإلغاء كل المفاتيح وتأمين الحسابات. سالم، الله يستر عليه، تعلم يومها درس ما رح ينساه بحياته. هاي القصة الصغيرة، اللي بتصير كل يوم بعالم البرمجة، هي مجرد نسخة مصغّرة عن كارثة أكبر بكثير صارت بعالم الذكاء الاصطناعي، قصة الـ ١٢ ألف مفتاح سرّي.

الصدمة: ١٢ ألف مفتاح سرّي داخل “عقل” النموذج

قبل فترة، طلع تقرير من باحثين أمنيين عمل ضجة كبيرة، بس يمكن ما أخذ حقه من النقاش في عالمنا العربي. القصة باختصار: هؤلاء الباحثون فحصوا واحدة من مجموعات البيانات الضخمة (Datasets) اللي بتُستخدم لتدريب نماذج اللغة الكبيرة (LLMs)، وتفاجأوا بوجود ما يقارب ١٢ ألف مفتاح API وكلمة مرور وبيانات حساسة فعّالة وقت اكتشافها!

هالحكي مش مجرد بيانات قديمة أو غير صالحة، لأ. كانت مفاتيح حقيقية لأنظمة إنتاجية (Production systems)، قواعد بيانات، حسابات سحابية، وغيرها. تخيّل معي إنه مفتاح بيتك الخاص موجود بنسخة من كتاب منشور في كل مكتبات العالم. هاي هي حجم الكارثة.

كيف صارت هالكارثة؟ وشو القصة؟

السؤال المنطقي هو: كيف وصلت كل هالأسرار لمجموعة بيانات المفروض إنها “عامة”؟ الجواب يكمن في سوء فهمنا لكلمة “عام” وفي الطريقة اللي بتشتغل فيها عملية جمع البيانات.

وهم البيانات “العامة” (The Illusion of “Public” Data)

نماذج اللغة الكبيرة بتتعلم من خلال قراءة كميات هائلة من النصوص المأخوذة من الإنترنت. العملية هاي اسمها “Web Scraping” أو “Web Crawling”، يعني روبوتات بتلف على الإنترنت وبتجمع كل إشي بتلاقيه: مقالات، كتب، محادثات، والأهم… أكواد برمجية من مواقع مثل GitHub.

المشكلة إنه كثير مطورين، زي صاحبنا سالم، بيتركوا بالخطأ أسرارهم داخل الأكواد اللي بينشروها بشكل عام. ممكن تلاقيها في:

  • ملفات الإعدادات (config.json, .env, credentials.yml).
  • مضمنة مباشرة في الكود (Hard-coded).
  • في سجلات الأخطاء (Error logs) اللي تم رفعها بالخطأ.

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

ذاكرة النموذج التي لا تنسى

هون الخطر بصير مزدوج. مش بس الأسرار صارت موجودة في ملفات البيانات الخام، بل الأخطر من هيك إن النموذج نفسه “تعلّمها”.

النموذج اللغوي هو آلة لتوقّع الكلمة التالية. إذا شاف نمط “API_KEY = sk_live_…” آلاف المرات أثناء التدريب، فهو بيتعلم إن هذا النمط شائع ومهم.

وهذا يعني شغلتين خطيرات:

  1. وجود الأسرار في البيانات الخام: أي شخص بيوصل لمجموعة البيانات هاي (باحثين، شركات أخرى) بيقدر يستخرج منها هاي المفاتيح بسهولة.
  2. إعادة إنتاج الأسرار: النموذج نفسه ممكن يعيد إخراج (Regurgitate) هاي الأسرار كجزء من إجاباته. ممكن تسأله سؤال معين أو تعطيه بداية جملة (Prompt) بطريقة خبيثة، فيكمّل هو الجملة بمفتاح API حقيقي تعلّمه أثناء التدريب.

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

نصائح أبو عمر العملية: كيف نحمي حالنا ومشاريعنا؟

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

نصيحة 1: قبل ما تطعمي النموذج، نظّف صحنك! (Secret Scanning)

هاي نصيحة مباشرة للشركات والمؤسسات اللي بتبني نماذجها الخاصة. مستحيل، وأعيد وأكرر، مستحيل تاخذ بيانات من الإنترنت وتدخلها مباشرة في خط أنابيب التدريب (Training Pipeline) بدون عملية تنظيف وفحص دقيقة.

لازم يكون في مرحلة إلزامية اسمها “فحص الأسرار” (Secret Scanning). في أدوات ممتازة ومفتوحة المصدر بتعمل هالشغلة، زي:

  • Gitleaks: أداة رائعة لفحص مستودعات Git بحثًا عن مفاتيح وأسرار.
  • truffleHog: أداة قوية جدًا بتدور في تاريخ المستودع كله (commit history) عشان تلاقي الأسرار اللي انحذفت حتى.
  • git-secrets: بتمنعك من الأساس إنك تعمل commit لكود بيحتوي على أنماط تشبه الأسرار.

كمثال بسيط، لو عندك مجلد بيانات اسمه training_data، ممكن تشغل عليه Gitleaks بأمر بسيط قبل أي خطوة ثانية:


# تفحص المجلد الحالي بحثًا عن أي تسريبات محتملة
gitleaks detect --source="./training_data" --report-path="leaks_report.json" --verbose

إذا طلع التقرير نظيف، بنكمل. إذا لأ، منوقف كل شي ومنعالج المشكلة. هاي الخطوة لازم تكون جزء لا يتجزأ من عملية تحضير البيانات، زيها زي تنظيف النصوص من الـ HTML tags.

نصيحة 2: عزل البيانات ومعايير الامتثال (Compliance)

بيانات التدريب، حتى لو كانت “عامة”، لازم تتعامل معها كأنها بيانات حساسة. هذا يعني:

  • عزل البيئة: خزّن بيانات التدريب في بيئة معزولة، الوصول إلها محدود ومراقب.
  • سجلات التدقيق (Audit Trails): لازم يكون في سجل واضح مين وصل للبيانات، متى، وشو عمل فيها.
  • الامتثال للمعايير: إذا كانت شركتك بتتعامل مع بيانات حساسة، لازم تتبع معايير عالمية مثل ISO 27001 (لأمن المعلومات) أو SOC 2. هاي المعايير بتجبرك تطبق أفضل الممارسات الأمنية.

نصيحة 3: الشفافية ومكافآت اكتشاف الثغرات (Bug Bounties)

هاي نصيحة للشركات الكبيرة اللي بتنتج النماذج (مثل OpenAI, Google, Anthropic وغيرهم):

  • تقارير الشفافية: انشروا تقارير واضحة عن كيفية جمع بياناتكم، وما هي الإجراءات اللي اتخذتوها لتنظيفها من الأسرار والمعلومات الشخصية. الشفافية تبني الثقة.
  • برامج المكافآت (Bug Bounty): وفّروا برامج مكافآت مالية واضحة ومجزية لأي شخص (باحث أمني أو مستخدم عادي) بيلاقي ثغرة أمنية أو سر مسرّب في مخرجات النموذج تبعكم. هذا بحوّل المجتمع كله لعيون إضافية بتساعدك تحمي منتجك.

الخلاصة: الذكاء الاصطناعي مرآة لممارساتنا 🤖

في النهاية يا جماعة، قصة الـ ١٢ ألف مفتاح سرّي مش غلطة ارتكبها الذكاء الاصطناعي. الذكاء الاصطناعي كان مجرد مرآة عكست ممارساتنا الأمنية السيئة و”ضخّمها”. هو أخذ إهمالنا المتراكم على مدى سنوات وحوّله لخطر حقيقي وواسع الانتشار.

المسؤولية بتبدأ من عندك كمطوّر. لا تستهين أبدًا بأي مفتاح أو كلمة سر. استخدم أدوات فحص الأسرار، افصل بين الإعدادات والكود، ولا ترفع أي شي حساس على مستودع عام أبدًا. لأن الخطأ الصغير اللي بتعمله اليوم، ممكن بكرة يصير جزء من “عقل” أضخم نموذج ذكاء اصطناعي في العالم.

ديروا بالكم على حالكم وعلى أسراركم الرقمية. ودمتم سالمين.

أبو عمر

سجل دخولك لعمل نقاش تفاعلي

كافة المحادثات خاصة ولا يتم عرضها على الموقع نهائياً

آراء من النقاشات

لا توجد آراء منشورة بعد. كن أول من يشارك رأيه!

آخر المدونات

ذكاء اصطناعي

بحثنا كان يعثر على الكلمات، لا على النوايا: كيف أنقذتنا قواعد بيانات المتجهات من جحيم البحث الدلالي الأعمى؟

أشارككم قصة من قلب المعركة البرمجية، يوم كان نظام البحث لدينا أصمًا وأعمى، لا يفهم سوى تطابق الكلمات. سنغوص في عالم قواعد بيانات المتجهات (Vector...

14 أبريل، 2026 قراءة المزيد
خوارزميات

قاعدة بياناتنا كانت تجيب على ‘هل هذا موجود؟’ ببطء قاتل: كيف أنقذنا ‘مرشح بلوم’ (Bloom Filter) من جحيم الاستعلامات المكلفة؟

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

14 أبريل، 2026 قراءة المزيد
تجربة المستخدم والابداع البصري

موقعنا كان يستبعد الملايين بصمت: كيف أنقذتنا ‘معايير الوصولية’ (Accessibility) من جحيم التصميم الإقصائي؟

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

14 أبريل، 2026 قراءة المزيد
برمجة وقواعد بيانات

استعلاماتنا كانت تزحف: كيف أنقذتنا ‘فهارس قاعدة البيانات’ من جحيم فحص الجداول الكاملة؟

أشارككم قصة حقيقية من قلب المعركة البرمجية، حين كاد تطبيقنا أن ينهار بسبب بطء الاستعلامات. اكتشفوا معنا كيف كانت "فهارس قاعدة البيانات" هي طوق النجاة...

14 أبريل، 2026 قراءة المزيد
الشبكات والـ APIs

أنظمتنا كانت تسأل ‘هل هناك جديد؟’ كل ثانية: كيف أنقذتنا ‘الخطافات الشبكية’ (Webhooks) من جحيم الاستقصاء المستمر (Polling)؟

أتذكر ذلك اليوم جيداً، صوت مراوح الخوادم (السيرفرات) كان كهدير طائرة على وشك الإقلاع. أنظمتنا كانت تلهث، ونحن نلهث معها، والسبب؟ سؤال بسيط يتكرر كل...

14 أبريل، 2026 قراءة المزيد
الحوسبة السحابية

تطبيقنا كان رهينة منطقة جغرافية واحدة: كيف أنقذتنا استراتيجية ‘متعددة المناطق’ (Multi-Region) من جحيم الانقطاع الكامل؟

أشارككم قصة حقيقية عن يوم توقف فيه تطبيقنا بالكامل بسبب انقطاع في منطقة سحابية واحدة، وكيف كانت استراتيجية "متعددة المناطق" (Multi-Region) هي طوق النجاة. سأشرح...

14 أبريل، 2026 قراءة المزيد
التوظيف وبناء الهوية التقنية

حسابي في GitHub كان مقبرة صامتة: كيف أنقذني ‘ملف التعريف المميّز’ من جحيم التجاهل؟

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

14 أبريل، 2026 قراءة المزيد
التوسع والأداء العالي والأحمال

عطل خدمة واحدة كاد ينسف النظام: كيف أنقذنا نمط “قاطع الدائرة” من جحيم الأعطال المتتالية؟

أشارككم قصة حقيقية من قلب المعركة التقنية، يوم كاد عطل في خدمة دفع صغيرة أن ينهار معه نظامنا بأكمله. سنغوص في تفاصيل نمط "قاطع الدائرة"...

14 أبريل، 2026 قراءة المزيد
البودكاست