memory-safety-patterns
تطبيق أنماط أمان الذاكرة في كود الأنظمة
تسبب أخطاء الذاكرة في حدوث أعطال وثغرات أمنية في كود الأنظمة. يعلمك هذا النموذج أنماط RAII والملكية وإدارة الموارد في Rust و C++ و C.
تنزيل ZIP المهارة
رفع في Claude
اذهب إلى Settings → Capabilities → Skills → Upload skill
فعّل وابدأ الاستخدام
اختبرها
استخدام "memory-safety-patterns". لخص خيارات إدارة الموارد الآمنة في C و C++ و Rust.
النتيجة المتوقعة:
- C: استخدم كتل goto للتنظيف أو دوال الإنشاء والتدمير الصريحة
- C++: استخدم RAII مع destructors والمؤشرات الذكية
- Rust: اعتمد على ملكية واستعارة ودلالات Drop
استخدام "memory-safety-patterns". متى يجب أن أستخدم unique_ptr مقابل shared_ptr؟
النتيجة المتوقعة:
- استخدم unique_ptr عندما يمتلك طرف واحد دورة الحياة
- استخدم shared_ptr عندما يجب أن يمتلك عدة أطراف المورد
- فضل unique_ptr مع دلالات النقل على shared_ptr عندما يكون ذلك ممكناً
استخدام "memory-safety-patterns". كيف يمنع Rust الاستخدام بعد التحرير؟
النتيجة المتوقعة:
- يتتبع المترجم الملكية ويفرض مالك واحد بشكل افتراضي
- لديها (استعارات) دورات حياة محددة
- يتم تحرير الذاكرة تلقائياً عندما يخرج المالك من النطاق
التدقيق الأمني
آمنThe skill is a static educational markdown guide containing code examples for memory safety patterns. It has no executable scripts, no runtime tool calls, no network behavior, and no file system access. All 67 static findings are false positives caused by the scanner pattern-matching on educational keywords in legitimate systems programming content.
عوامل الخطر
🌐 الوصول إلى الشبكة (4)
⚙️ الأوامر الخارجية (23)
📁 الوصول إلى نظام الملفات (1)
درجة الجودة
ماذا يمكنك بناءه
منع أخطاء الذاكرة
تطبيق أنماط RAII والملكية لتقليل التسريبات وأخطاء الاستخدام بعد التحرير.
تحديث معالجة الموارد
استبدال المؤشرات الخام بالمؤشرات الذكية والوصول الآمن للحاويات.
فهم قواعد الملكية
تعلم الاستع��رة ودورات الحياة وأنماط الملكية المشتركة الآمنة.
جرّب هذه الموجهات
اشرح RAII مع مثال قصير في C++ للتعامل مع الملفات والمتغيرات المتزامنة. اجعله موجزاً وعملياً.
للشجرة التي تحتوي على روابط_parent و_child، أوصي بالمؤشرات الذكية واشرح كيف تتجنب الدورات.
أظهر كيف يتم تعيين فئة RAII في C++ إلى ملكية Rust والاستعارة و Drop. قدم مثالاً موجزاً.
أوصي بطريقة منع سباق البيانات في C++ و Rust للمعداد المشترك والخريطة.
أفضل الممارسات
- اربط دورة حياة الموارد بالنطاق باستخدام RAII أو الملكية
- فضل الحاويات الآمنة والوصول المفحوص للحدود
- استخدم أدوات التصفية والتحليل الثابت أثناء التطوير
تجنب
- استخدام المؤشرات الخام دون قواعد ملكية واضحة
- إرجاع مراجع إلى بيانات المكدس المحلية
- تجاهل تحذيرات المترجم حول الوصول غير الآمن