- بواسطة x32x01 ||
في الفترة الأخيرة ظهر مصطلح جديد اسمه Vibe Coding… واللي معناه ببساطة:
تكتب Prompt للـ AI ⬅️ يطلع لك كود شغال ⬅️ ترفعه على السيرفر وخلاص 😅
الموضوع شكله مغري جدًا، خصوصًا مع السرعة والإنتاجية العالية…
لكن الحقيقة؟ إحنا قدام مشكلة أمنية خطيرة جدًا لو اعتمدنا عليه بشكل أعمى.
لكن في نفس الوقت… هو مش فاهم منطق البزنس (Business Logic) بتاعك.
وهنا تبدأ الكارثة 👇
لو عندك API بيرجع Order:
الكود شكله نظيف 👌 لكن فين المشكلة؟
ثغرات خطيرة بتعدي من غير ما حد ياخد باله
حتى لو الطريق ده فيه:
اللي هتوفره النهاردة… هتدفعه أضعاف في اختراق بكرة
الـ AI بيساعدك تكتب كود أسرع
لكن الأمان مسؤوليتك أنت مش مسؤوليته
لو عايز تطبيق قوي فعلًا: ✔ خليه شغال ✔ وخليه آمن في نفس الوقت
تكتب Prompt للـ AI ⬅️ يطلع لك كود شغال ⬅️ ترفعه على السيرفر وخلاص 😅
الموضوع شكله مغري جدًا، خصوصًا مع السرعة والإنتاجية العالية…
لكن الحقيقة؟ إحنا قدام مشكلة أمنية خطيرة جدًا لو اعتمدنا عليه بشكل أعمى.
فين المشكلة بالظبط؟ 🤔
الـ AI فعلاً شاطر جدًا في إنه يكتب كود شغال (Functioning Code)لكن في نفس الوقت… هو مش فاهم منطق البزنس (Business Logic) بتاعك.
وهنا تبدأ الكارثة 👇
ثغرات منطقية بتظهر بسبب Vibe Coding 🚨
🔴 1. مشاكل BOLA و IDOR
من أشهر الثغرات اللي بتظهر:- BOLA (Broken Object Level Authorization)
- IDOR (Insecure Direct Object Reference)
لو عندك API بيرجع Order:
JavaScript:
app.get("/order/:id", (req, res) => {
const order = db.getOrder(req.params.id);
res.json(order);
}); ❌ مفيش تحقق إن الـ order ده يخص المستخدم الحالي
يعني أي حد ممكن يغير الـ ID ويشوف بيانات ناس تانية!
يعني أي حد ممكن يغير الـ ID ويشوف بيانات ناس تانية!
🔴 2. انعدام الـ Code Review الحقيقي
لما تعتمد على AI بس:- بتفترض إن الكود "احترافي" = "آمن"
- بتعدي الكود من غير مراجعة عميقة
- بتفوت تفاصيل مهمة جدًا في الـ Authorization
ثغرات خطيرة بتعدي من غير ما حد ياخد باله
🔴 3. كود شغال… لكن غير آمن
الـ AI دايمًا بيمشي على أسهل طريق يخلي الكود يشتغلحتى لو الطريق ده فيه:
- تجاهل للصلاحيات
- تخطي للـ Validation
- ضعف في التحكم بالوصول
مثال على الحل الصحيح ✅
نفس المثال السابق، لكن بشكل آمن: JavaScript:
app.get("/order/:id", (req, res) => {
const order = db.getOrder(req.params.id);
if (order.user_id !== req.user.id) {
return res.status(403).json({ error: "Unauthorized" });
}
res.json(order);
}); ✔ هنا ضفنا تحقق من الملكية (Authorization Check)
✔ قفلنا باب IDOR بالكامل
✔ قفلنا باب IDOR بالكامل
ليه المشكلة بتكبر بسرعة؟ 📈
لأن ببساطة:- إنتاج التطبيقات بقى أسرع بكتير
- عدد المطورين اللي بيعتمدوا على AI بيزيد
- الكود بيطلع بسرعة… من غير مراجعة كافية
نصائح مهمة لتجنب الكارثة 💡
لو بتستخدم AI في البرمجة، خليه مساعد مش بديل:✔ اعمل Code Review يدوي لكل حاجة
✔ راجع الـ Business Logic بنفسك
✔ اختبر APIs ضد ثغرات زي: IDOR - BOLA - Broken Authentication
✔ راجع الـ Business Logic بنفسك
✔ اختبر APIs ضد ثغرات زي: IDOR - BOLA - Broken Authentication
✔ استخدم أدوات فحص أمني (SAST / DAST)
✔ اشتغل بمبدأ Least Privilege
✔ اشتغل بمبدأ Least Privilege
دور الـ Tech Lead وأصحاب المشاريع 🎯
لو عندك مشروع أو فريق:- متعتمدش على الكود الجاهز بدون مراجعة
- استثمر في Security Review
- درّب الفريق على Secure Coding
اللي هتوفره النهاردة… هتدفعه أضعاف في اختراق بكرة
الخلاصة
Vibe Coding مش مشكلة… لكن الاعتماد الأعمى عليه هو المشكلةالـ AI بيساعدك تكتب كود أسرع
لكن الأمان مسؤوليتك أنت مش مسؤوليته
لو عايز تطبيق قوي فعلًا: ✔ خليه شغال ✔ وخليه آمن في نفس الوقت