ذكاء اصطناعي

5 ثغرات أمنية بتتكرر في التطبيقات المبنية بالـ AI — واحميها إزاي

بنيت تطبيقك بالـ vibe coding؟ في 5 ثغرات بتتكرر في التطبيقات دي: مفاتيح مكشوفة، صلاحيات ناقصة، وأسعار بتتعدل. اعرفها واقفلها بنفس الـ AI.

📅 ⏱ 4 دقايق قراءة
5 ثغرات أمنية بتتكرر في التطبيقات المبنية بالـ AI — واحميها إزاي

التطبيق اللي بنيته بالـ AI شغال، والعملاء بيستخدموه، وكل حاجة تمام — لحد ما حد "فضولي" يفتح أدوات المتصفح ويلاقي مفتاح الـ API بتاعك مكشوف، أو يعدّل السعر قبل الدفع ويشتري منتجك بجنيه واحد. المشكلة مش إن الـ AI بيكتب كود وحش — المشكلة إنه بيكتب اللي طلبته بالظبط، وأنت طلبت "تطبيق شغال" ومطلبتش "تطبيق آمن". دي أكتر 5 ثغرات بتتكرر في التطبيقات المبنية بالـ vibe coding، مشروحة بلغة تفهمها من غير ما تكون مبرمج — وإزاي تقفلها.

1) مفاتيح API مكشوفة في المتصفح

تطبيقك بيستخدم خدمات مدفوعة — OpenAI، خرائط جوجل، خدمة رسايل — وكل خدمة بتديك "مفتاح" سري بيتحاسب عليه حسابك. الـ AI ساعات بيحط المفتاح ده في الكود اللي بينزل للمتصفح، يعني أي زائر يقدر يشوفه بضغطة زر واحدة (F12). النتيجة الواقعية: حد ياخد مفتاحك ويستخدمه، وتصحى تلاقي فاتورة بمئات الدولارات على استهلاك مش بتاعك.

القاعدة: المفتاح السري مكانه السيرفر بس، عمره ما ينزل للمتصفح. اسأل الـ AI صراحةً: "فيه أي مفاتيح API ظاهرة في كود الواجهة؟ انقلها كلها للسيرفر."

2) صلاحيات ناقصة: كل مستخدم شايف بيانات غيره

دي أخطر واحدة. التطبيق بيسأل "مين أنت؟" عند تسجيل الدخول، بس بينسى يسأل "وهل من حقك تشوف ده؟" عند كل طلب بيانات. مثال حقيقي بيتكرر: رابط الفاتورة بيبقى شكله app.com/invoice/105 — المستخدم يغيّر الرقم لـ 106 يلاقي فاتورة عميل تاني قدامه بالاسم والمبلغ. في تطبيقات عيادات ده معناه ملفات مرضى مكشوفة.

القاعدة: كل طلب للبيانات لازم السيرفر يتحقق إن صاحب الطلب هو صاحب البيانات. اطلب من الـ AI: "اتأكد إن كل استعلام بيفلتر بهوية المستخدم الحالي، وجرّب سيناريو مستخدم بيحاول يفتح بيانات مستخدم تاني."

3) الثقة في المتصفح: القفل اللي من ورق

الـ AI بيحب يعمل التحقق في الواجهة: يخفي زرار "الإدارة" عن المستخدم العادي، أو يمنع الإرسال لو خانة فاضية. المشكلة إن ده كله ديكور — أي حد عنده خبرة بسيطة يقدر يبعت الطلب للسيرفر مباشرة متخطي الواجهة كلها. إخفاء الزرار مش حماية، هو تحسين شكل مش أكتر.

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

4) السعر بيتحسب عند العميل

في تطبيقات البيع والحجز، الـ AI ساعات بيخلي المتصفح هو اللي يحسب الإجمالي ويبعته للسيرفر: "العميل هيدفع 500 جنيه". طيب لو العميل عدّل الرقم ده قبل الإرسال وخلاه 5 جنيه؟ السيرفر اللي بيثق في السعر الجاي من المتصفح هيقبل، وأنت هتكتشف بعد شهر إن في طلبات اتدفعت بأسعار مضروبة.

القاعدة: السيرفر هو اللي بيحسب السعر من قاعدة البيانات بتاعته — المتصفح بيبعت "عايز المنتج رقم كذا بكمية كذا" وبس. ونفس الكلام على أكواد الخصم: التحقق منها على السيرفر.

5) رفع ملفات من غير فحص

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

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

خلّي الـ AI نفسه يراجع شغله

الجميل إن نفس الأداة اللي بنت التطبيق تقدر تراجعه — بس لازم تطلب بالنص. بعد ما تخلّص أي ميزة بتلمس فلوس أو بيانات مستخدمين، ابعت البرومبت ده:

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

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

لو تطبيقك شغال بالفعل وعليه عملاء وفلوس حقيقية، المراجعة الذاتية كويسة بس مش كفاية — مراجعة أمنية متخصصة لمرة واحدة بتكشف اللي البرومبتات مش هتوصله، ودي من ضمن خدمات التطوير والمراجعة اللي بنقدمها. ولو لسه بتبني، اتعلم تبني صح وآمن من الأول في كورس AI For Builders.

شارك المقال: واتساب فيسبوك X لينكدإن