قدمت Google نظام اختبار الزغب ClusterFuzzLite

قدمت Google مشروع ClusterFuzzLite، الذي يسمح بتنظيم اختبار غامض للتعليمات البرمجية للكشف المبكر عن نقاط الضعف المحتملة أثناء تشغيل أنظمة التكامل المستمر. حاليًا، يمكن استخدام ClusterFuzz لأتمتة اختبار الضبابية لطلبات السحب في GitHub Actions وGoogle Cloud Build وProw، ولكن من المتوقع دعم أنظمة CI الأخرى في المستقبل. يعتمد المشروع على منصة ClusterFuzz، التي تم إنشاؤها لتنسيق عمل مجموعات اختبار التشويش، ويتم توزيعها بموجب ترخيص Apache 2.0.

يُشار إلى أنه بعد أن قدمت جوجل خدمة OSS-Fuzz في عام 2016، تم قبول أكثر من 500 مشروع مهم مفتوح المصدر في برنامج اختبار التشويش المستمر. وبناءً على الاختبارات التي تم إجراؤها، تم القضاء على أكثر من 6500 نقطة ضعف مؤكدة وتم تصحيح أكثر من 21 ألف خطأ. تواصل ClusterFuzzLite تطوير آليات اختبار غامضة مع القدرة على تحديد المشاكل في وقت مبكر في مرحلة مراجعة التغييرات المقترحة. لقد تم بالفعل تنفيذ ClusterFuzzLite في عمليات مراجعة التغيير في مشروعي systemd وcurl، وأتاح إمكانية تحديد الأخطاء التي لم ترصدها أجهزة التحليل الثابتة والأدوات المستخدمة في المرحلة الأولية للتحقق من التعليمات البرمجية الجديدة.

يدعم ClusterFuzzLite مراجعة المشروعات بلغات C وC++ وJava (واللغات الأخرى المستندة إلى JVM) وGo وPython وRust وSwift. يتم إجراء اختبار التشويش باستخدام محرك LibFuzzer. يمكن أيضًا استدعاء أدوات AddressSanitizer وMemorySanitizer وUBSan (UnifiedBehaviorSanitizer) لتحديد أخطاء الذاكرة والشذوذات.

الميزات الرئيسية لبرنامج ClusterFuzzLite: فحص سريع للتغييرات المقترحة للعثور على الأخطاء قبل قبول التعليمات البرمجية؛ تنزيل التقارير عن ظروف التصادم؛ القدرة على الانتقال إلى اختبارات التشويش الأكثر تقدمًا لتحديد الأخطاء الأعمق التي لم تظهر بعد التحقق من تغييرات التعليمات البرمجية؛ إنشاء تقارير التغطية لتقييم تغطية التعليمات البرمجية أثناء الاختبار؛ بنية معيارية تسمح لك بتحديد الوظيفة المطلوبة.

دعونا نتذكر أن اختبار التشويش يتضمن إنشاء دفق من جميع أنواع المجموعات العشوائية من بيانات الإدخال القريبة من البيانات الحقيقية (على سبيل المثال، صفحات html ذات معلمات علامات عشوائية أو أرشيفات أو صور ذات عناوين شاذة، وما إلى ذلك)، وإمكانية التسجيل الفشل في عملية معالجتها. إذا تعطل التسلسل أو لم يتطابق مع الاستجابة المتوقعة، فمن المرجح أن يشير هذا السلوك إلى وجود خطأ أو ثغرة أمنية.

المصدر: opennet.ru

إضافة تعليق