ClusterFuzzLite, מערכת לארגון מבחני פיזור קוד

לאחרונה גוגל חשפה באמצעות פוסט בבלוג פרויקט ClusterFuzzLite, המאפשר ארגון בדיקות מטושטש של קוד לזיהוי מוקדם של פגיעויות אפשריות בשלב פעולת מערכות אינטגרציה מתמשכת.

נכון לעכשיו, ClusterFuzz יכול לשמש לאוטומטי של בדיקות fuzz של בקשות משיכה ב-GitHub Actions, Google Cloud Build ו-Prow, אך צפוי כי בעתיד הוא יהיה תואם למערכות IC אחרות. הפרויקט מבוסס על פלטפורמת ClusterFuzz, שנוצרה כדי לתאם את העבודה של שילוב אשכולות בדיקה, ומופץ תחת רישיון Apache 2.0.

יצוין כי לאחר הצגת שירות OSS-Fuzz על ידי גוגל בשנת 2016, יותר מ-500 פרויקטים גדולים בקוד פתוח התקבלו לתוכנית הבדיקות המתמשכות. מהבדיקות שבוצעו, יותר מ-6.500 נקודות תורפה מאושרות בוטלו ויותר מ-21.000 שגיאות תוקנו.

על ClusterFuzzLite

ClusterFuzzLite ממשיכה לפתח מנגנוני בדיקה מטושטשים עם היכולת לזהות בעיות מוקדם יותר בשלב סקירת עמיתים של שינויים מוצעים. ClusterFuzzLite כבר הוצג בתהליכי סקירת השינויים בפרויקטים מערכתיים וסלסוליים, והוא איפשר לזהות את השגיאות שלא זוהו בנתחים הסטטיים והלינטרים שהיו בשימוש בשלב הראשוני של אימות הקוד החדש.

היום, אנו שמחים להכריז על ClusterFuzzLite, פתרון מטושטש מתמשך הפועל כחלק מתזרימי עבודה של CI/CD כדי למצוא נקודות תורפה מהר יותר מאי פעם. עם מספר שורות קוד בלבד, משתמשי GitHub יכולים לשלב את ClusterFuzzLite בזרימת העבודה שלהם ובקשות משיכה של fuzz pull כדי לתפוס באגים לפני שהם נוצרים, ולשפר את האבטחה הכוללת של שרשרת האספקה ​​של התוכנה.
מאז השקתה ב-2016, יותר מ-500 פרויקטי קוד פתוח קריטיים שולבו בתוכנית OSS-Fuzz של גוגל, מה שהביא לתיקון של יותר מ-6.500 נקודות תורפה ו-21.000 באגים פונקציונליים. ClusterFuzzLite הולך יד ביד עם OSS-Fuzz, ומזהה שגיאות רגרסיה הרבה יותר מוקדם בתהליך הפיתוח.

ClusterFuzzLite תומך באימות פרויקטים ב-C, C++, Java (ושפות אחרות מבוססות JVM), Go, Python, Rust ו- Swift. בדיקות הטשטוש מתבצעות באמצעות מנוע LibFuzzer. ניתן לקרוא לכלים AddressSanitizer, MemorySanitizer ו-UBSan (UndefinedBehaviorSanitizer) כדי לזהות שגיאות וחריגות בזיכרון.

מתכונות המפתח ClusterFuzzLite מדגיש למשל את אימות מהיר של השינויים המוצעים למצוא שגיאות בשלב שלפני קבלת הקוד, וכן הורדת דוחות על תנאי התרחשות קריסות, היכולת לעבור ל מבחני טשטוש מתקדמים יותר לזהות שגיאות עמוקות יותר שלא הופיעו לאחר אימות שינוי הקוד, גם הפקת דוחות כיסוי להערכת כיסוי הקוד במהלך הבדיקות והארכיטקטורה המודולרית המאפשרת לבחור את הפונקציונליות הנדרשת.

פרויקטים גדולים כולל systemd ו-curlya משתמשים ב-ClusterFuzzLite במהלך סקירת קוד, עם תוצאות חיוביות. לדברי דניאל סטנברג, מחבר הספר curl, "כאשר סוקרים אנושיים מסכימים ואישרו את הקוד ומנתחי הקוד הסטטי וה-linters שלהם לא יכולים לזהות עוד בעיות, מטושטש הוא מה שמוביל אותך לרמה הבאה של בגרות וחוסן קוד. OSS-Fuzz ו-ClusterFuzzLite עוזרים לנו לשמור על תלתל כפרויקט איכותי, כל היום, כל יום ובכל התקשרות.

עלינו לזכור שמבחנים מטושטשים מייצרים זרם של כל מיני שילובים אקראיים של נתוני קלט קרובים לנתונים בפועל (למשל דפי HTML עם פרמטרים אקראיים של תגים, קבצים או תמונות עם כותרות לא תקינות וכו') ומתקנים כשלים אפשריים בתהליך.

אם רצף כלשהו נכשל או אינו תואם את התגובה הצפויה, סביר להניח שהתנהגות זו מעידה על באג או פגיעות.

בסופו של דבר אם אתה מעוניין לדעת יותר על כך, אתה יכול לבדוק את הפרטים בקישור הבא.


היה הראשון להגיב

השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.