إعداد Claude Code الجديد من Vercel يحل المشكلة الوحيدة في البرمجة بالذكاء الاصطناعي
AAI LABS
컴퓨터/소프트웨어창업/스타트업AI/미래기술
Transcript
00:00:00جعل الذكاء الاصطناعي البرمجة متاحة للجميع وبدأ الناس في إطلاق الأكواد بوتيرة
00:00:04أسرع بكثير.
00:00:05ولكن بوتيرة أسرع، بدأت المشاكل الأمنية داخل تلك التطبيقات تتراكم.
00:00:09وفي الأشهر القليلة الماضية، ساءت الأمور في الواقع.
00:00:12كانت هناك حالات عديدة قام فيها عميل ذكاء اصطناعي بحذف مشروع شخص ما بالكامل.
00:00:16وقام عميل آخر بحذف قاعدة بيانات إنتاج كاملة بينما كان المطور يعمل على
00:00:20شيء غير ذي صلة تماماً.
00:00:22وهناك العديد من المشاكل المماثلة مثل تسريب ملف Clod.md الداخلي الخاص بشركة Apple.
00:00:26لذا فإن الأدوات التي يمكنها فعلياً اكتشاف هذه المشكلات تهم الآن أكثر مما كانت عليه.
00:00:30ومع رؤية هذا الارتفاع في المشكلات، أصدرت Vercel للتو نظام أمان لاكتشاف الاختراقات في التطبيقات
00:00:35التي يتم إنشاؤها بواسطة الذكاء الاصطناعي يسمى DeepSec.
00:00:37الآن قد تعتقد أن كود Claud يمكنه بالفعل إجراء مراجعات أمنية بمفرده مع عملائه.
00:00:42فلماذا قد تحتاج إلى DeepSec في المقام الأول؟
00:00:44ذلك لأن DeepSec هو أداة منظمة تتعامل مع المراجعات بشكل أكثر منهجية.
00:00:49في جوهره، يستخدم عملاء برمجة مثل Claud code و Codex.
00:00:52الأداة مصممة لفحص المستودعات الكبيرة لأنها تدعم تصميماً متوازياً
00:00:57يسرع سير العمل ويقسم الكود إلى مجموعات متعددة، مما يجعله مثالياً
00:01:01لمراجعة قواعد الأكواد الكبيرة.
00:01:03الآن، لم يتم بناء هذا مع وضع فعالية التكلفة في الاعتبار.
00:01:06إنهم يستخدمون أقوى نماذج Claud code و Codex، وهما Opus 4.7 بجهد
00:01:10أقصى و GPT 5.5 باستدلال عالٍ جداً، وكلاهما يستهلك الكثير من الرموز (tokens).
00:01:16ومع تشغيلهما بالتوازي، يتراكم استخدام الرموز بسرعة، مما يؤدي لزيادة التكلفة.
00:01:20قامت عدة تطبيقات معروفة بالفعل بتشغيل هذا النظام على قواعد أكوادها وأبلغت عن نتائج جيدة.
00:01:25في الاختبارات التي أجروها، كان معدل النتائج الإيجابية الخاطئة لهذه الأداة حوالي 10-20%.
00:01:30هذا الرقم كبير بالنظر إلى مدى دقة نماذج اللغة الكبيرة عادةً.
00:01:33وبالعكس، هذا يعني أن العميل يكون صحيحاً في معظم الأوقات ونتائجه
00:01:37الإيجابية الحقيقية عالية.
00:01:38البنية الكامنة وراء ذلك هي ما تجعله مختلفاً.
00:01:40إذا طلبت من Claud code أو أي عميل مراجعة أمنية، سيبدأ بالمسح المباشر
00:01:45لقاعدة الأكواد ثم ينتج تقرير مراجعة كاملاً.
00:01:48هذا لا يستغرق الكثير من الوقت فحسب، بل يستهلك أيضاً الكثير من الرموز وقد تظل
00:01:52المراجعة تفتقد لبعض الأشياء.
00:01:53لذا فإن الجزء الأول من سير العمل هذا هو الفحص، وإجراء فحص RegEx فقط لجميع الملفات
00:01:58للمناطق الحساسة أمنياً التي ستركز عليها الخطوات اللاحقة.
00:02:01اكتشاف RegEx مهم هنا لأن الأداة مصممة لقواعد الأكواد الكبيرة حيث يمكن أن
00:02:06يكون هناك آلاف الملفات بسهولة.
00:02:08مطابقة RegEx هي سلسلة من أنماط الكود التي تطابق المناطق المعروفة التي يرجح
00:02:13وجود ثغرات أمنية بها ثم تصفية تلك الملفات من المجموعة الكبيرة.
00:02:16بمجرد تصفية المجموعة الكبيرة من الملفات، الخطوة التالية هي التحقيق باستخدام العميل.
00:02:21العميل هو الجزء المكلف الذي يستهلك الكثير من الرموز وعادة ما يستغرق
00:02:25وقتاً طويلاً اعتماداً على مدى كبر قاعدة الأكواد الخاصة بك بالفعل.
00:02:28لذا تقوم هذه الأداة بتقسيم جميع الملفات إلى دفعات ومعالجتها بالتوازي ليمكن
00:02:32معالجتها في نفس الوقت.
00:02:34بمجرد انتهاء تلك العملية، هناك خطوة أخرى لإعادة التحقق حيث يتم فحص التحقيق
00:02:37مرة أخرى بحيث يتم فحص النتائج الإيجابية الخاطئة بشكل متقاطع.
00:02:40في حال فُقد شيء ما، فإنه يلتقطه ويضمن أن التصنيف قد تم
00:02:45بشكل صحيح.
00:02:46إعادة التحقق هذه اختيارية في الواقع.
00:02:47بعد ذلك، يستخدم العميل بيانات Git الوصفية ومصادر أخرى لتحديد الأشخاص
00:02:51المسؤولين عن أي من المشكلات.
00:02:53بمجرد الانتهاء من كل ذلك، يتم تخزين النتائج بتنسيق markdown أو JSON بحيث يمكن
00:02:57تحويلها إلى تذاكر للبشر وكذلك لعملاء البرمجة.
00:03:01الآن وكما ذكرنا سابقاً، يتم تجميع الملفات في دفعات مع معالجة حوالي 5 ملفات
00:03:05معاً لكل دفعة.
00:03:06لكل دفعة، يتم تجميع مطالبة (prompt) جديدة بناءً على إطار العمل المحدد مع
00:03:11معلومات المشروع الأخرى.
00:03:12يتم تحليلها بعد ذلك بواسطة Claud Agent SDK أو Codex Agent SDK أياً كان ما قمت بتهيئته
00:03:17ويتم منحهم أدوات مع وصول للقراءة فقط لفهم ما تحتويه قاعدة الأكواد.
00:03:22بمجرد الحصول على النتائج، يتم دمج كل شيء في ملف واحد يتم إلغاء تكراره
00:03:26وتوحيده.
00:03:27في النهاية، هناك خطوة متابعة للتأكد من أن التحليل قد غطى كل شيء بالفعل.
00:03:31هذه البنية تجعله فعالاً بسبب عمليته المنهجية وطريقة تحليله المنظمة
00:03:36وهي تساعد في تحديد المشكلات بشكل أفضل بكثير مما كان ممكناً بدون النظام.
00:03:41لذا لاختبار ذلك، استخدمنا مشروعاً مفتوح المصدر وهو تطبيق ويب يحتوي على
00:03:45مخاطر أمنية مدمجة فقط للتدريب.
00:03:47أردنا معرفة ما إذا كانت هذه الأداة قادرة على اكتشاف جميع المشكلات في هذا المستودع
00:03:52بمفردها.
00:03:53يحتوي هذا المشروع على 10 مشكلات أمنية مع توفر جميع التفاصيل مباشرة في الكود
00:03:56نفسه بما في ذلك كيفية إزالتها.
00:03:58لذا لتشغيل deepsec، عليك أولاً تشغيل أمر deepsec init الذي يثبت التبعيات
00:04:03وينشئ مجلد .deepsec ثم تثبت التبعيات داخل ذلك المجلد.
00:04:08كما يمنحك مطالبة تحتاج إلى لصقها في أي عميل برمجة تستخدمه.
00:04:12بما أننا كنا نستخدم claud code، قمنا بتشغيل تلك المطالبة في claud والتي تحتوي على التعليمات
00:04:16لإنشاء ملف info.md صغير يتضمن جميع معلومات المشروع ومبني وفقاً
00:04:21لقالب محدد.
00:04:23ليس عليك تشغيل هذا الأمر في مجلد المشروع نفسه، بل تقوم بتشغيله في مجلد .deepsec
00:04:27لأنه يوجه العميل للنظر في الدليل السابق وقراءة كل
00:04:31المعلومات منه.
00:04:32يحتوي ملف info.md على نظرة عامة لما تفعله قاعدة الأكواد وشكل تدفق
00:04:37المصادقة، بالإضافة إلى نماذج التهديد والأنماط الخاصة بالمشروع وجميع
00:04:42النتائج الإيجابية الخاطئة المعروفة داخل الكود.
00:04:44بمجرد إنشاء هذا الملف، المهمة التالية هي تشغيل أمر deepsec scan.
00:04:48هذا الأمر هو مطابِق regex الذي تحدثنا عنه سابقاً ويجد جميع
00:04:52نقاط النهاية المطابقة ويسرد جميع الملفات المصفاة التي تحتوي على مشكلات أمنية محتملة.
00:04:57هذا الجزء يحدث بسرعة لأنه مجرد كود يعمل في الواقع.
00:05:00الخطوة التالية هي تشغيل أمر deepsec process.
00:05:02يمكنك تحديد أي مفتاح API للنموذج الذي تريد استخدامه، سواء كان بوابة Vercel API،
00:05:07أو codex أو claud داخل ملف .env.local.
00:05:11ولكن إذا لم تفعل ذلك، كما فعلنا نحن، فإنه يتحول تلقائياً إلى اشتراك claud code
00:05:16ويستخدم المصادقة الخاصة بك بدلاً من طلب أي مفتاح API.
00:05:19إنه يقسم المشروع إلى دفعات ويستدعي أدوات متعددة لكل دفعة.
00:05:23بعد كل دفعة، يعطي ملخصاً لعدد الرموز المستخدمة وما هي
00:05:27التكلفة المقدرة.
00:05:28الآن، إذا كنت تستخدم اشتراكاً، فلن يفرض أي رسوم تتجاوز اشتراكك
00:05:32ولكنه لا يزال يقدم تقديراً لتكاليف API.
00:05:35بما أن هذا مصمم لمراجعة قواعد الأكواد الكبيرة، فإنه يضع الموثوقية في الاعتبار.
00:05:39لذا في حال وجود أي أخطاء أثناء المراجعة، فإنه لا يعيد تشغيل كل شيء من
00:05:43الصفر وبدلاً من ذلك يستمر من النقطة التي حدث فيها الخطأ.
00:05:46بمجرد اكتمال الفحص، تقوم بتشغيل أمر deepsec report وسيقوم بإنشاء تقرير
00:05:50بتنسيق JSON و Markdown يحتوي على نظرة عامة شاملة لجميع النتائج مصنفة
00:05:55حسب مستوى الخطورة.
00:05:56الآن، بمجرد إنشاء هذا التقرير، يمكنك تشغيل خطوة إعادة التحقق.
00:06:00هذه الخطوة اختيارية تماماً.
00:06:02يمكنك تشغيلها إذا أردت أو تخطيها تماماً.
00:06:04بمجرد تشغيلها، يتم التحقق من النتائج للتأكد مما إذا كانت التقارير إيجابية خاطئة
00:06:08أم لا.
00:06:09بعد القيام بذلك، يمكنك تصدير كل شيء باستخدام أمر export وسيقوم بكتابة
00:06:13النتائج في مجلد findings.
00:06:15يحتوي مجلد النتائج هذا على المشكلات مرتبة حسب الأولوية كأسماء مجلدات وينشئ
00:06:20ملفاً واحداً لكل مشكلة محددة.
00:06:22يسرد أولاً مصدر المشكلة أي الملف الدقيق والسطور المسببة للمشكلة،
00:06:26ومدى خطورة المشكلة ومدى ثقة النموذج في تحديدها.
00:06:30كما يذكر أي “commit” أدى لظهور المشكلة ويعين المستخدم الذي قام به.
00:06:34ثم يشرح الإصلاح الموصى به، ويسرد نتائج إعادة التحقق ويذكر جميع
00:06:39المشكلات التي تمت معالجتها صراحةً.
00:06:41كما يتضمن خطوات إعادة إنتاج الأخطاء داخل النتائج.
00:06:44لكن هذا التقرير لم يحدد جميع المشكلات، رغم أن الشرح كان
00:06:48موجوداً داخل الكود نفسه وكان ينبغي أن يكون قادراً على تحديدها.
00:06:52لذا كررنا المحاولة مع Claude لمعرفة سبب عدم تحديد دروس الثغرات الأصلية التي
00:06:56تم دمجها في التطبيق عن قصد.
00:06:59عند تكرار المحاولة مع Claude، وجدنا أن سبب إبلاغ هذه الأداة عن 3 نتائج فقط كان
00:07:03بسبب ذكر صريح في ملف info.md.
00:07:07توقع DeepSec تطبيقاً تكون فيه الثغرات العشر معروفة بالفعل وركز فقط على المشكلات
00:07:12بخلافها لأنها كانت معروفة بالفعل، مما يعني أنه كان يحاول تجاوز
00:07:16ما هو معروف بالفعل والتركيز فقط على الأنماط الأخرى ليكون الفحص أكثر
00:07:21فعالية ولا يضيع الوقت والرموز على مشكلات موثقة بالفعل.
00:07:25ثم اختبرنا تطبيقاً آخر لمعرفة ما إذا كان سيؤدي بشكل أفضل هذه المرة.
00:07:28قمنا بنفس الخطوات، بدءاً من المسح وصولاً إلى مرحلة المعالجة.
00:07:32ولم نقم بتشغيل جزء إعادة التحقق، بل أنشأنا التقرير وقمنا بتصديره مباشرة.
00:07:36وهذه المرة احتوى ملف info.md الخاص بـ Claude على تفاصيل حول التطبيق فقط ولم يتضمن بيانات
00:07:42مثل الملف السابق.
00:07:43وجنباً إلى جنب، طلبنا أيضاً من Claude مراجعة الكود وكتابة ملف report.md مع
00:07:48مراجعة أمنية كاملة لنتمكن من مقارنة أيهما كان أداؤه أفضل.
00:07:52لذا وجد التقرير الذي أنشأه DeepSec أخطاءً متعددة بمستويات خطورة مختلفة.
00:07:56لقد وجد 9 مشكلات وأنشأ تقريراً مفصلاً مع الخطوات الموصى بها لكيفية
00:08:01إصلاحها.
00:08:02وهذه الخطوات الموصى بها هي ما تفتقده معظم التقارير الأخرى لأن هذا ما يساعد
00:08:05العميل على فهم كيفية إصلاح المشكلة، مما يجعل تصحيح الأخطاء أسهل بكثير.
00:08:09لكننا لاحظنا أن تقرير Claude كان أكثر تفصيلاً وسلط الضوء على 39 مشكلة.
00:08:13لذا طلبنا منه إنشاء مقارنة (diff) أولاً.
00:08:15أظهرت المقارنة أن رقم Claude كان أكبر.
00:08:18لكننا رأينا ذلك بالفعل خلال اختبارنا مع Codex.
00:08:20يميل Claude إلى تحديد مشكلات أخرى بالإضافة إلى النطاق المحدد على طول الطريق.
00:08:24فهو لا يركز فقط على المشكلات المحددة التي صُمم DeepSec خصيصاً لها.
00:08:29لذا بمجرد أن طلبنا منه التركيز فقط على النطاق، قلص النتائج إلى 13 مشكلة.
00:08:34ولكن كانت لا تزال هناك بعض المشكلات التي فاتتها DeepSec والتي تم تحديدها في تقرير Claude.
00:08:38السبب في فوات بعض النتائج على DeepSec هو تركيزها فقط على المشكلات التي
00:08:43يحتويها الكود مباشرة والتي يمكن حلها مباشرة من الوظائف نفسها.
00:08:47إنها لا تحدد المشكلات التي قد تنشأ عند تشغيل التطبيق بالفعل، مثل المشاكل المتعلقة
00:08:52بـ CORS.
00:08:53كما أنها لا تركز حقاً على الأنماط المنطقية والقرارات المعمارية أيضاً.
00:08:57وكما ذكرنا سابقاً، فهي تستخدم RegEx لتصفية الملفات أولاً.
00:09:01لذا فهي تركز بشكل أساسي على ما هو موجود صراحة في الكود وليس على المشكلات التي
00:09:05قد تحدث ديناميكياً أثناء تشغيل التطبيق.
00:09:08أيضاً إذا كنت تستمتع بمحتوانا، ففكر في الضغط على زر الإعجاب لأنه يساعدنا في
00:09:12إنشاء المزيد من المحتوى كهذا والوصول إلى عدد أكبر من الأشخاص.
00:09:15الآن بدلاً من تشغيل هذه الخطوات واحدة تلو الأخرى بأنفسنا، أنشأنا مهارة DeepSec هذه
00:09:20والتي تحتوي على جميع التعليمات حول كيفية استخدام ماسح الأمان الخاص بـ Vercel من البداية للنهاية
00:09:24وكيف يجب أن يحدد من مطالبة المستخدم ما يطلبه.
00:09:28ثم يتبع العملية الكاملة خطوة بخطوة ويدير النظام بالكامل بمفرده.
00:09:32كما أنها مرفقة بأصول وتقييمات ومراجع متعددة لجميع المشكلات، إلى جانب
00:09:37برمجيات نصية (scripts) متعددة قد تساعد فعلياً في الحل العملي والتشغيل العام
00:09:42لهذا المستودع.
00:09:43لذا مع وجود هذا في مكانه، يمكنك فقط تشغيل فحص الأمان هذا وتحديد النموذج الذي تريد
00:09:47استخدامه وسوف يتولى كل شيء مباشرة نيابة عنك.
00:09:50وسيقوم بتنفيذ جميع الخطوات التي رأيناها سابقاً إلى جانب معالجة المشكلات التي فاتته
00:09:54سابقاً وسيكون قادراً على إجراء مراجعة أمنية أفضل بكثير من خلال الجمع بين قدرات
00:09:59DeepSec مع تغطية الفجوات في نتائجه.
00:10:02الآن يمكن العثور على هذه المهارة مع جميع الموارد في AI Labs Pro لهذا الفيديو و
00:10:07لجميع فيديوهاتنا السابقة حيث يمكنك تحميلها واستخدامها لمشاريعك الخاصة.
00:10:11إذا وجدت قيمة في ما نقوم به وتريد دعم القناة، فهذه هي أفضل طريقة
00:10:15للقيام بذلك.
00:10:16الرابط موجود في الوصف.
00:10:17هذا يوصلنا إلى نهاية هذا الفيديو.
00:10:19إذا كنت ترغب في دعم القناة ومساعدتنا في الاستمرار في صنع فيديوهات كهذه، يمكنك القيام
00:10:23بذلك باستخدام زر شكراً (super thanks) أدناه.
00:10:25كما هو الحال دائماً، شكراً لكم على المشاهدة وسأراكم في الفيديو القادم.
Community Posts
No posts yet. Be the first to write about this video!
Write about this video