تُقيَّم أهداف التعتيم المولّدة بأربعة مقاييس مقابل أحدث البيانات من بيئة الإنتاج:
قابلية التحويل البرمجي
الانهيارات أثناء وقت التشغيل
التغطية أثناء وقت التشغيل
الفرق في تغطية الأسطر أثناء وقت التشغيل مقارنةً بأهداف التعتيم المكتوبة يدوياً الموجودة في OSS-Fuzz.
فيما يلي نموذج لنتيجة تجربة من 31 يناير 2024.
شملت التجربة 1300+ معيار من 297 مشروعاً مفتوح المصدر.
إجمالاً، ينجح هذا الإطار في استغلال النماذج اللغوية الكبيرة (LLM) لتوليد أهداف تعتيم صالحة (تحقق زيادة غير صفرية في التغطية) لـ 160 مشروعاً بلغة C/C++. بلغت أقصى زيادة في تغطية الأسطر 29% مقارنةً بالأهداف المكتوبة يدوياً الموجودة.
لاحظ أن هذه التقارير ليست عامة، إذ قد تحتوي على ثغرات غير معلنة.
الاستخدام
راجع دليل الاستخدام المفصل لدينا للتعليمات حول كيفية تشغيل هذا الإطار وتوليد تقارير بناءً على النتائج.
التنفيذ والتقييم المستقل للوكلاء
يمكنك أيضاً تنفيذ أو تقييم وكلاء فرديين دون تشغيل تجارب كاملة، باستخدام إطار تنفيذ الوكلاء المدمج.
راجع توثيق الإطار للحصول على تعليمات مفصلة حول كيفية تشغيل وكلاء فرديين أو تسلسل من الوكلاء.
التعاون
هل أنت مهتم بالتعاون البحثي أو بالتعاون مع مجتمع المصادر المفتوحة؟
لا تتردد في فتح issue أو مراسلتنا عبر البريد الإلكتروني: [email protected].
الثغرات المكتشفة
حتى الآن، أبلغنا عن 30 خطأً/ثغرة جديدة اكتُشفت بواسطة أهداف مولّدة تلقائياً بناها هذا الإطار:
لا يمكن اكتشاف هذه الثغرات إلا عبر الأهداف المولّدة حديثاً، ولم تكن قابلة للوصول عبر أهداف OSS-Fuzz الموجودة.
أفضل تحسينات التغطية الحالية حسب المشروع
المشروع
إجمالي كسب التغطية
إجمالي الكسب النسبي
إجمالي الأسطر المغطاة عبر OSS-Fuzz-gen
أسطر جديدة مغطاة عبر OSS-Fuzz-gen
الأسطر المغطاة الموجودة
إجمالي أسطر المشروع
phmap
98.42%
205.75%
1601
1181
574
1120
usbguard
97.62%
26.04%
24550
5463
20979
3564
onednn
96.67%
7057.14%
5434
5434
77
210
avahi
82.06%
155.90%
3358
2814
1805
3046
pugixml
72.98%
194.95%
9015
6646
3409
7662
librdkafka
66.88%
845.57%
5019
4490
531
1169
casync
66.75%
903.23%
1171
1120
124
1678
tomlplusplus
61.06%
331.10%
4755
3652
1103
5981
astc-encoder
59.35%
177.88%
2726
1745
981
2940
mruby
48.56%
0.00%
34493
34493
0
71038
arduinojson
42.10%
85.80%
3344
1800
2098
4276
json
41.13%
66.51%
5051
3339
5020
8119
double-conversion
40.40%
88.12%
1663
779
884
1928
tinyobjloader
38.26%
77.01%
1157
717
931
1874
glog
38.18%
58.69%
895
331
564
867
cppitertools
35.78%
45.07%
253
151
335
422
eigen
35.38%
190.70%
2643
1947
1021
* يقيس «إجمالي أسطر المشروع» الكود المصدري للمشروع قيد الاختبار الذي جرى تجميعه وربطه بواسطة أهداف التعتيم المكتوبة يدوياً سابقاً من OSS-Fuzz.
* يُحسب «إجمالي كسب التغطية» باستخدام «إجمالي أسطر المشروع» كمقام. أما «إجمالي الكسب النسبي» فهو الزيادة في التغطية مقارنةً بالعدد السابق للأسطر المغطاة.
* قد يُضمَّن كود إضافي من المشروع قيد الاختبار عند تجميع أهداف التعتيم الجديدة، مما يؤدي إلى مكاسب عالية النسبة المئوية.
الاستشهاد بهذا العمل
يرجى النقر على زر 'استشهد بهذا المستودع' الموجود على الجانب الأيمن من صفحة GitHub هذه للحصول على تفاصيل الاستشهاد.