كل ما الـ AI يكتب جزء أكبر من التطبيق، كل ما الأمان يبقى أهم. الكورس حكى عن حوادث حصلت في 2026، في اختبارات أمان داخلية عند شركات الـ AI والحماية فيها كانت متخففة: موديلات طلعت برا بيئة الاختبار، ووصلت لأنظمة حقيقية عند جهات تانية. دي بيئات اختبار غريبة، مش Claude Code بيهاجم مواقع من لابتوب حد. بس الرسالة واضحة: الأمان مش حاجة تسيبها للآخر.
وفيه مشكلة تانية أبسط. Claude هو اللي خطط الداتابيز وكتب أغلب الكود. ينفع تسأله “الكود ده آمن؟” وهيلاقيلك حاجات مفيدة. بس مش مريح إن نفس الموديل اللي أخد القرارات يبقى هو الوحيد اللي بيحكم عليها.
في المراجعات المهمة، هات عين تانية مستقلة، وإنت اللي في النص بتقرر.
اللي حصل في الكورس
بعد ما الداتابيز اتضافت، Claude رفع الكود على GitHub. اتأكد الأول إن ملف الـ .env مش داخل في الـ commit، وسأل قبل الـ push زي ما الـ rule بتقول.
بعد كده اتعمل scan على الـ repo كله بأداة مراجعة خارجية، هي CodeRabbit AI Deep Scan، وكانت sponsor للجزء ده من الكورس. الـ scan ده بيبص على الـ repo كله مش على تعديل واحد، فيقدر يلاقي مشاكل ممتدة على كذا ملف. طلع 3 ملاحظات حقيقية: واحدة medium، واتنين low.
١. سر الـ auth ضعيف (medium)
التطبيق كان بيقبل أي قيمة لـ BETTER_AUTH_SECRET من غير ما يتأكد إنها قوية. والسر ده هو اللي بيوقّع الـ tokens، فلو حد عرفه يقدر يزوّر token ويستولى على حساب حد تاني.
ولما Claude حقق في الموضوع، لقى الوضع أسوأ: القيمة كانت فاضية، فالمكتبة كانت بتستخدم سر default موجود في الـ npm package نفسه، يعني أي حد يقدر يعرفه.
والمفارقة إن الـ permissions منعت Claude يقرا السر، بس محدش في التطبيق كان بيتأكد إن السر نفسه كويس.
٢. فورم الـ newsletter بيسرّب الإيميلات (low)
لما Claude عمل الصفحة الرئيسية، عمل فورم الـ newsletter بـ action="#" ومن غير method، كـ placeholder. بس الفورم اللي من غير method بيبعت GET تلقائيًا، يعني الإيميل اللي العميل بيكتبه بيتحط في الـ URL، وبيتسجل في الـ history بتاع المتصفح وفي الـ server logs.
محدش لاحظ، لأن مفيش حاجة وقعت. وده بالظبط نوع المشاكل اللي الـ scan المستقل بيمسكه.
٣. الـ signup بيكشف مين عنده حساب (low)
لو سجلت بإيميل عنده حساب أصلًا، بيرجعلك error مختلف عن لو الإيميل جديد. يعني أي حد يقدر يجرّب إيميلات ويعرف مين عنده حساب في المتجر.
المشكلة حقيقية. بس الحل الكامل محتاج email verification، يعني محتاج خدمة إيميل، وده كان متأجل عن قصد. إنك تضيف خدمة إيميل في نص الشغل عشان ملاحظة low، ده توسيع للـ scope من غير داعي.
مش كل ملاحظة تتصلح دلوقتي
ومتديش Claude كل الملاحظات وتقوله “صلّحهم كلهم”. في الكورس اتطلب منه الأول يحقق في الملاحظة ويشرح خطورتها على التطبيق ده بالذات، من غير ما يعدّل أي حاجة. وبعد ما أكد إنها حقيقية، اتطلب منه يصلّحها.