Google нь ClusterFuzzLite fuzzing тестийн системийг нэвтрүүлсэн

Google компани ClusterFuzzLite төслийг нэвтрүүлсэн бөгөөд энэ нь тасралтгүй интеграцийн системийг ажиллуулах явцад болзошгүй эмзэг байдлыг эрт илрүүлэхийн тулд кодын бүдүүлэг туршилтыг зохион байгуулах боломжийг олгодог. Одоогоор ClusterFuzz-ийг GitHub Actions, Google Cloud Build, Prow дээр татах хүсэлтийн fuzz тестийг автоматжуулахад ашиглаж болох боловч ирээдүйд бусад CI системүүдэд дэмжлэг үзүүлэх төлөвтэй байна. Төсөл нь fuzzing тестийн кластеруудын ажлыг зохицуулах зорилгоор бүтээгдсэн ClusterFuzz платформ дээр суурилсан бөгөөд Apache 2.0 лицензийн дагуу түгээгддэг.

Google 2016 онд OSS-Fuzz үйлчилгээг нэвтрүүлсний дараа 500 гаруй чухал нээлттэй эхийн төслийг тасралтгүй fuzzing тестийн хөтөлбөрт хүлээн авсан гэж тэмдэглэжээ. Хийсэн туршилтын үр дүнд 6500 гаруй баталгаажсан эмзэг байдлыг арилгаж, 21 мянга гаруй алдааг зассан байна. ClusterFuzzLite нь санал болгож буй өөрчлөлтийг хянан шалгах шатанд өмнө нь асуудлыг тодорхойлох чадвартай бүдэг бадаг туршилтын механизмуудыг үргэлжлүүлэн хөгжүүлсээр байна. ClusterFuzzLite нь systemd болон curl төслүүдийн өөрчлөлтийг хянах процессуудад аль хэдийн хэрэгжсэн бөгөөд шинэ кодыг шалгах эхний шатанд ашигласан статик анализатор болон линтерүүдийн алдааг тодорхойлох боломжтой болгосон.

ClusterFuzzLite нь C, C++, Java (болон JVM-д суурилсан бусад хэл), Go, Python, Rust, Swift хэл дээр төслийн үнэлгээг дэмждэг. Fuzzing туршилтыг LibFuzzer хөдөлгүүр ашиглан гүйцэтгэдэг. AddressSanitizer, MemorySanitizer, UBSan (UdefinedBehaviorSanitizer) хэрэгслүүдийг мөн санах ойн алдаа, гажигийг илрүүлэхийн тулд дуудаж болно.

ClusterFuzzLite-ийн гол онцлогууд: код хүлээн авахаас өмнө алдааг олохын тулд санал болгож буй өөрчлөлтүүдийг хурдан шалгах; ослын нөхцөл байдлын тайланг татаж авах; кодын өөрчлөлтийг шалгасны дараа гарч ирээгүй гүнзгий алдааг тодорхойлохын тулд илүү дэвшилтэт бүдүүлэг тест рүү шилжих чадвар; туршилтын явцад кодын хамрах хүрээг үнэлэхийн тулд хамрах хүрээний тайлан гаргах; шаардлагатай функцийг сонгох боломжийг олгодог модульчлагдсан архитектур.

Тохиромжтой тест нь бодит өгөгдөлд ойрхон оролтын өгөгдлийн бүх төрлийн санамсаргүй хослолын урсгалыг үүсгэх (жишээлбэл, санамсаргүй хаягийн параметр бүхий html хуудас, архив эсвэл хэвийн бус гарчигтай зураг гэх мэт) болон бичлэг хийх боломжтой гэдгийг санацгаая. тэдгээрийг боловсруулах явцад гарсан алдаа. Хэрэв дараалал гацсан эсвэл хүлээгдэж буй хариу үйлдэлтэй таарахгүй бол энэ үйлдэл нь алдаа эсвэл эмзэг байдлыг илтгэнэ.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх