بنيت موقعك بالذكاء الاصطناعي؟ قائمة فحص أمني للمواقع المبنية بالذكاء الاصطناعي
أدوات مثل Lovable وBolt وReplit وv0 تتيح لأي شخص إطلاق تطبيق حقيقي في عطلة نهاية أسبوع. والمقابل: أنها كثيراً ما تترك الأمان معطّلاً افتراضياً. إليك ما يجب فحصه، بلغة واضحة، قبل أن يكتشف عملاؤك الثغرات.
«البناء بالذكاء الاصطناعي» يعني أن تصف ما تريده لأداة ذكاء اصطناعي فتبني لك التطبيق. وهو رائع فعلاً لعرض منتج يعمل أمام الناس بسرعة. لكن هناك نمطاً يستحق الفهم: الذكاء الاصطناعي يكتب الجزء الذي يراه زوّارك، الشاشات والأزرار، ويربطه بقاعدة بيانات وبعض الخدمات. أما أمان تلك القاعدة والخدمات والمفاتيح التي تربطها فيُترك للإعدادات الافتراضية، وهي عادةً مفتوحة على مصراعيها. يبدو الموقع مكتملاً، فيطلقه معظم الناس دون أن يفعّلوا الأقفال.
لا شيء من هذا يعني أن أداتك سيئة أو أنك أخطأت. يعني أن هناك قائمة قصيرة من الإعدادات يجب فحصها. وهذه هي، الأهم أولاً.
١. الأهم: قاعدة بياناتك مكشوفة للجميع
معظم التطبيقات المبنية بالذكاء الاصطناعي تخزّن بياناتها في Supabase أو Firebase. وكلاهما ممتاز، وكلاهما يُطلِق مفتاحاً علنياً يُفترض أن يكون في كود موقعك داخل المتصفح حيث يمكن لأي شخص قراءته. وهذا المفتاح آمن فقط إذا فعّلت أيضاً القواعد التي تحدد من يحق له قراءة كل جزء من البيانات.
في Supabase تُسمّى هذه القواعد أمان مستوى الصفوف (RLS)، وفي Firebase قواعد الأمان. حين تكون معطّلة، وهو الوضع الافتراضي أثناء البناء، يستطيع أي شخص يفتح موقعك أن يأخذ المفتاح العلني ويحمّل قاعدة بياناتك كاملة بهدوء: كل اسم وبريد وطلب ورسالة. دون تسجيل دخول ودون اختراق، بل بأسطر قليلة يستطيع أي أحد تشغيلها من متصفحه. هذا أكثر الأخطاء شيوعاً وأشدّها ضرراً في المواقع المبنية بالذكاء الاصطناعي.
كيف تفحص: يتعرّف فحص الموقع المجاني على ما إذا كان موقعك يعمل على Supabase أو Firebase. ويذهب التدقيق المعمّق أبعد فيختبر بأمان، باستخدام مفتاحك العلني وحده، ما إذا كان كل جدول أو مجموعة يستجيب للعموم، قارئاً عدداً فقط ولا يقرأ بياناتك الفعلية أبداً.
كيف تصلح: فعّل أمان مستوى الصفوف (Supabase) أو قواعد الأمان (Firebase) لكل جدول، ثم أضف لكل جدول سياسة تحدد من يقرأ ويكتب. وأداتك للذكاء الاصطناعي تساعدك في كتابتها متى طلبتها بالاسم.
٢. مفاتيح سرية متروكة في كودك
هناك نوعان من المفاتيح. المفاتيح العلنية (مفتاح Supabase anon، ومفتاح Firebase للويب، ومفتاح Stripe القابل للنشر) يُفترض أن تكون في المتصفح ولا بأس بها هناك. أما المفاتيح السرية فلا: مفتاح Stripe السري، ومفتاح OpenAI أو Claude، ومفتاح Supabase من نوع service-role، وكلمة مرور قاعدة البيانات. هذه تتجاوز كل قاعدة تضعها، وإذا كان أحدها في كودك العلني استطاع أي شخص نسخه والتصرّف باسمك.
وتصل إلى هناك بطريقتين: إمّا تُكتَب مباشرة في الكود «ليعمل»، أو عبر خطأ إعداد شائع يحزم قائمة إعداداتك كاملة، بما فيها الأسرار، داخل الملف الذي يحمّله المتصفح.
كيف تفحص: يقرأ فحص الموقع المجاني الكود العلني لموقعك ويرصد المفاتيح السرية التي يجدها، بما فيها مفاتيح مزوّدي الذكاء الاصطناعي وقواعد البيانات التي كثيراً ما تتركها الأدوات. وهو يتجاهل عمداً المفاتيح العلنية التي يحق لها أن تكون هناك، فلا يطلق إنذاراً كاذباً.
كيف تصلح: انقل المفاتيح السرية خارج المتصفح إلى خادم (وظيفة بلا خادم تكفي)، واحتفظ بها في إعدادات بيئة خاصة بالخادم، وغيّر أي مفتاح سبق كشفه لأنه يجب اعتباره معروفاً.
٣. ذكاء اصطناعي يعمل على حسابك
إن كان تطبيقك يتحدث إلى OpenAI أو Claude فتحقّق من أين يفعل ذلك. فحين يُجرى الاستدعاء مباشرةً من متصفح الزائر، يصل المفتاح المستخدم إلى المتصفح أيضاً، حتى لو جلبته في اللحظة الأخيرة. يستطيع أي شخص فتح أدوات المطوّر وأخذه واستنزاف رصيدك، وقد يبلغ مئات الدولارات بين ليلة وضحاها.
كيف تصلح: اجعل استدعاءات الذكاء الاصطناعي من خادمك الخاص لا من المتصفح. يطلب المتصفح من خادمك، ويستدعي خادمك الذكاء الاصطناعي بالمفتاح، ولا يُكشف المفتاح أبداً.
٤. كودك المصدري قابل للتنزيل
كثير من أدوات البناء تستطيع نشر «خرائط المصدر» (source maps)، وهي ملفات تتيح لأي شخص إعادة بناء كودك الأصلي من الموقع المنشور. مفيدة أثناء التطوير، خطيرة في الإنتاج: فقد تكشف كيف يعمل تطبيقك، وعناوين داخلية، ومفتاحاً منسياً أحياناً.
كيف تصلح: عطّل خرائط المصدر في بناء الإنتاج. وغالباً ما يكون ذلك إعداداً واحداً.
٥. ملفات يستطيع أي شخص تصفّحها
تستطيع Supabase وFirebase أيضاً تخزين الملفات المرفوعة. ويسري الدرس نفسه: إن كانت قواعد التخزين مفتوحة، استطاع أي شخص استعراض وتنزيل كل ما في الحاوية، بما فيها ملفات لم يُقصد نشرها.
كيف تصلح: اضبط قواعد التخزين بحيث لا يستعرض الملفات ويقرؤها إلا من يحق له، وأبقِ أي شيء خاص خارج الحاويات العلنية.
٦. صفحة الإدارة ليست قفلاً
إخفاء زر «الإدارة»، أو وضع شاشة الإدارة على عنوان سرّي، يبدو أماناً لكنه ليس كذلك. فما زال بإمكان أي شخص إرسال طلب الحذف مباشرةً إذا سمحت قاعدة البيانات بذلك. القفل الحقيقي الوحيد في طبقة البيانات: أمان مستوى الصفوف والقواعد نفسها من النقطة الأولى هي ما يحدد ما يستطيع كل شخص فعله فعلاً، بزرّ أو بدونه.
افحص موقعك في نحو دقيقة
لا داعي للتخمين. يقرأ فحص الموقع المجاني موقعك كما يراه أي زائر، ويخبرك إن كان مبنياً على Supabase أو Firebase أو بأداة ذكاء اصطناعي، ويرصد أي مفاتيح سرية متروكة في الكود، دون تسجيل. ثم يختبر التدقيق المعمّق بأمان ما إذا كانت قاعدة بياناتك وملفاتك مكشوفة فعلاً، ويعطيك قائمة واضحة بما يجب إصلاحه وكيف. كل شيء للقراءة فقط، ولا يُغيَّر شيء في موقعك أبداً.
أسئلة شائعة
هل البناء بالذكاء الاصطناعي آمن؟
البناء بأداة ذكاء اصطناعي آمن في ذاته. الخطر أن هذه الأدوات تكتب الجزء الذي يراه الزائر وتترك أمان قاعدة بياناتك ومفاتيحك وملفاتك معطّلاً افتراضياً. تفعيل هذه الإعدادات مسؤوليتك، وكثيرون لا يفعلونها لأن الموقع يبدو مكتملاً بدونها.
هل استخدام Lovable أو Bolt أو Replit يعني أن موقعي غير آمن؟
لا. الأدوات جيدة. المشكلة الشائعة هي الإعدادات الافتراضية التي تُطلَق بها، وأبرزها قاعدة بيانات يستطيع أي شخص قراءتها ومفاتيح متروكة في الكود العلني. بعد إحكام هذه، يصبح الموقع المبني بالذكاء الاصطناعي آمناً كأي موقع آخر.
لست تقنياً. هل أستطيع الفحص والإصلاح بنفسي؟
تستطيع الفحص في نحو دقيقة عبر فحص الموقع المجاني الذي يتعرّف على المواقع المبنية على Supabase أو Firebase ويجد المفاتيح المتروكة في الكود. بعض الإصلاحات كتفعيل أمان مستوى الصفوف بضع نقرات، وبعضها يحتاج مطوّراً. ويوضّح لك التدقيق المعمّق ما المكشوف بالضبط وكيف تغلقه، وإن لم ترغب في التعامل معه فنحن نتولّاه.