استخدام الذكاء الاصطناعي دون تسريب الأسرار

واجهت خطأً ما. قمت بنسخ تتبع المكدس (stack trace). طلبت من الذكاء الاصطناعي إصلاحه. نسيت أن DATABASE_URL وكلمة المرور موجودان في ذلك النص. يجيب الذكاء الاصطناعي في أربع ثوانٍ. الآن أصبح سرّك في سجل طلبات أو في مجموعة بيانات تدريبية. لا يمكنك حذفه.

لصق الأسرار في الذكاء الاصطناعي يشبه لصقها في موقع عام. لا يمكنك استعادتها.

أنا أستخدم الذكاء الاصطناعي يوميًا لإرسال الكود (ship code). أنا لا أتجنبه، بل أستخدمه مع نموذج تهديد (threat model).

يعتقد معظم الناس أن "المطالبة" (prompt) هي دردشة خاصة. ليست كذلك. إنها طلب خارجي (outbound request).

  • غالبًا ما تستخدم الفئات المجانية بياناتك لتدريب النماذج.
  • عادةً ما تَعِد الفئات المدفوعة بعدم التدريب على بياناتك.
  • حتى الفئات المدفوعة تخزن السجلات للكشف عن الإساءة والمراجعة البشرية.

تتسرب البيانات بثلاث طرق:

  • ما تقوم بلصقه: مقتطفات الكود، أو الإعدادات (configs)، أو التتبعات (traces).
  • ما ترفقه الأدوات تلقائيًا: الملفات المفتوحة، أو سياق المستودع (repo context)، أو مخرجات الطرفية (terminal output).
  • ما يرسله النموذج في الرد: الأسرار المكررة في وصف طلب السحب (PR description) أو السجلات.

مزود الذكاء الاصطناعي هو طرف ثالث موثوق. لا يمكنك تدقيق مسارات عملهم الداخلية. تعامل مع صندوق المطالبة (prompt box) كأنه اتصال بشبكة غير موثوقة.

توقف عن إرسال هذه الأشياء:

  • مفاتيح API أو رموز (tokens) حية.
  • محتويات ملفات .env.
  • المفاتيح الخاصة أو الشهادات.
  • أسماء العملاء الحقيقية، أو رسائل البريد الإلكتروني، أو بيانات الدفع.
  • المنطق البرمجي المملوك (proprietary logic) الذي لن تفتحه كمصدر مفتوح.

استخدم عناصر نائبة (placeholders) بدلاً من ذلك. استخدم [API_KEY] أو [DB_PASSWORD]. يعمل الذكاء الاصطناعي بنفس الكفاءة مع الأقنعة.

ابنِ هذه العادات الثلاث:

  • استخدم ملف تجاهل (ignore file) للذكاء الاصطناعي. أبقِ ملفات .env والمجلدات السرية خارج سياق الأداة.
  • افحص قبل الإرسال. قم بتشغيل كاشف أسرار (secret detector) على نصك قبل لصقه.
  • حافظ على تشفير الأسرار. إذا كانت الأسرار موجودة فقط في الذاكرة أثناء وقت التشغيل (runtime)، فلن تتمكن من لصقها.

ملخص لخياراتك:

  • المجاني/للمستهلك: استخدمه للوثائق العامة أو مقتطفات الكود المؤقتة.
  • المدفوع للمحترفين/الفرق: استخدمه لمعظم أعمال الهندسة. فهو يوفر حماية تعاقدية.
  • المحلي/المستضاف ذاتيًا: استخدمه للبيانات الخاضعة للتنظيم والتي يجب أن تبقى على جهازك.

ضمان عدم التدريب هو عقد. إنه ليس درعًا تقنيًا. إنه يقلل المخاطر ولكنه لا ينهيها.

اتبع هذه الخطوات قبل أن يلمس الذكاء الاصطناعي الكود الخاص بك:

  • أضف ملف تجاهل لأدوات الذكاء الاصطناعي الخاصة بك.
  • افحص كل ما تقوم بلصقه.
  • قم بقناع جميع بيانات الاعتماد باستخدام عناصر نائبة.
  • استخدم الفئات المدفوعة للأعمال المملوكة.
  • استخدم نظام إدارة مفاتيح (KMS) لإبقاء الأسرار بعيدة عن النص الصريح (plaintext).
  • راجع مخرجات الذكاء الاصطناعي قبل وصولها إلى سجلاتك أو عمليات الـ commits.

الإجابة التي تستغرق أربع ثوانٍ لا تزال سريعة. هي فقط لن تكلفك أمنك.

المصدر: https://dev.to/faizahmedfarooqui/using-ai-without-leaking-your-secrets-a-threat-model-for-ai-assisted-development-2l57

مجتمع تعليمي اختياري: https://t.me/GyaanSetuAi