Clear Sky Science · he
DIVE: מאגר נתונים מרובה תוויות לפגיעויות בחוזים חכמים
מדוע עסקאות דיגיטליות בטוחות יותר חשובות
כל יום, מיליארדי דולרים עוברים דרך "חוזים חכמים" — קטעי קוד שמבצעים באופן אוטומטי עסקאות ברשתות מבוזרות כמו את’ריום. כשהסכמים דיגיטליים אלה מכילים שגיאות נסתרות, התוצאות עלולות להיות חמורות: כספים תקועים, נכסים נגנבים ואובדן אמון במערכות פיננסיות חדשות. מאמר זה מציג את DIVE, מאגר נתונים גדול ונבנה בקפידה שעוזר לחוקרים לאתר ולהבין חולשות בחוזים חכמים בצורה אמינה יותר, כדי שההסכמים הדיגיטליים שתומכים במטבעות קריפטו וביישומים מבוזרים יהפכו לבטוחים יותר עבור כולם.

כיצד חוזים דיגיטליים חיים ומשתנים
חוזים חכמים עוברים מספר שלבים לאורך מחזור חייהם. הם מתחילים כקוד מקור קריא שנכתב על ידי מפתחים, עוברים הידור להוראות ידידותיות למכונה ונשלחים בעסקת פריסה לבלוקצ’יין. לאחר קבלתם הם מקבלים כתובת קבועה וקודם נעשה בלתי ניתן לשינוי, אך מצבי הפנימי שלהם עדיין יכולים להתפתח בזמן שאנשים מתקשרים איתם. לאורך מסע זה מופיעים סוגים שונים של נתונים — קוד מקור, קוד בתים, הגדרות ורשומות עסקאות — שכולם מחזיקים רמזים לגבי פגיעויות אפשריות. DIVE בנוי סביב תצפית זו על מחזור החיים, ואוסף תכונות הן ממצב לפני הפריסה (קוד וקונפיגורציה) והן לאחר הפריסה (התנהגות על הרשת) כדי לתת תמונה מלאה יותר של כל חוזה.
מדוע מאגרי נתונים ישנים לא היו מספקים
אוספי חוזים חכמים מוקדמים סייעו להניע גישות של למידת מכונה לזיהוי פגיעויות, אך הסבלו ממגבלות משמעותיות. רבים כללו רק מספר קטן של חוזים, התמקדו בחלון זמן צר או בגרסאות קומפיילר ספציפיות, או תעדו רק סוג אחד של נתונים — כמו קוד מקור או קוד בתים — ולא את שניהם. חלקם התייחסו לפגיעויות כאילו יכול להיות סוג אחד בלבד בחוזה, למרות שחוזים אמיתיים מכילים לעתים קרובות מספר בעיות בו־זמנית. התוויות לא תמיד היו עקביות, מאחר שלמחקרים שונים היו סכמות שמות שונות והם נשענו על כלי/ים אחד או שניים בלי תקן משותף. כל אלה הפכו קשה להשוות בין תוצאות של מאמרים שונים או לבנות גלאים שמתכללים היטב מעבר למחקר בודד.
מה מכיל מאגר הנתונים DIVE
DIVE מאגד 22,330 חוזי את’ריום אמיתיים, שפורסמו בין 2016 ל-2024 ומשתרעים על פני גרסאות היסוד של שפת התכנות Solidity. כל חוזה מתואר באמצעות מאות תכונות. לפני הפריסה DIVE מתעד פריטים כגון גרסת הקומפיילר, הגדרות אופטימיזציה, שימוש בספריות חיצוניות, מבנה הממשק הציבורי (פונקציות ואירועים), מדדים של מורכבות הקוד ודפוסים בהוראות ברמת התווך שבהן נוצר החוזה. לאחר הפריסה הוא מוסיף מידע מעסקת ההשקה — צריכת גז, ערך שנשלח, זמן ומיקום בתוך הבלוק — וכן דפוסי הוראות מתוך קוד הריצה של החוזה. התצוגה הכפולה הזו מאפשרת לחוקרים לחקור כיצד בחירות קידוד והתנהגות על הרשת קשורות לאבטחה.
כיצד מזהים פגיעויות
כדי להחליט אילו חוזים פגיעים, DIVE לא מסתמך על כלי יחיד או הצבעה ברוב פשוט. במקום זאת, הוא מריץ שישה כלים אנליטיים שונים, כל אחד עם החוזקות שלו, ומעביר את הממצאים שלהם דרך מסגרת סטנדרטית. פלטי הכלים ממופים לשמונה קטגוריות ידועות מהרשימה DASP עשרת הגדולים, כגון בעיות reentrancy, בקרת גישה שבורה, שגיאות אריתמטיות, סיכוני מניעת שירות (DoS), רנדומליות לקויה, front running, מניפולציית זמן, וקריאות נמוכות־רמה ללא בדיקה. לאחר מכן סכימת הצבעה "מבוססת כוח" מחליטה, קטגוריה אחר קטגוריה, עד כמה לסמוך על כל כלי. בנוסף, שלב אימות שני בודק האם הבעיה שסומנה נתמכת בפועל על ידי קוד החוזה — למשל על ידי ווידוי ששגיאת אריתמטיקה לכאורה אינה כבר מוגנת על ידי בדיקות קומפיילר מודרניות או ספריות בטיחות. ביקורת נוספת זו מסירה הרבה אזעקות שווא, במיוחד עבור אזהרות של מניעת שירות ונושאים קשורים לזמנים.

כיצד ניתן להשתמש במשאב זה
מכיוון ש-DIVE הוא מרובה־תוויות, חוזה יחיד יכול להיות מסומן במספר סוגי פגיעויות, המשקפים כיצד שגיאות בעולם האמיתי מתרכזות ומשפיעות זו על זו. מאגר הנתונים תומך במגוון רחב של מחקרים: סיווג בינארי ורב־מחלקתי, למידה מרובת תוויות ומשימות, למידת העברה בין גרסאות קומפיילר או שנים, וניסויים שמשווים את הערך של מידע לפני פריסה מול מידע לאחר פריסה. הוא גם מתעד כמה תדיר שמגוון פגיעויות מופיעות יחד, וחושף שקשיים מסוימים, כמו reentrancy ובעיות בבקרת גישה, נוטים להתרחש במקביל, בעוד שאחרות נדירות ובודדות יותר. דפוסים אלה מעודדים שיטות למידה מתקדמות שממיידגות יחסים בין סוגי באגים, במקום לטפל בכל אחד בנפרד.
מה זה אומר למשתמשים היומיומיים
עבור רוב האנשים, חוזים חכמים הם תשתית בלתי נראית מאחורי אפליקציות מסחר, משחקים, פלטפורמות הלוואות ושירותי בלוקצ’יין אחרים. מאגר DIVE לא מתקין פגיעויות ישירות, אך מספק את הנתונים המפורטים והמתוייגים הנחוצים לאימון ובדיקה הוגנת של כלי זיהוי חזקים יותר. כלים אלה, בתורם, יכולים לעזור למפתחים לגלות בעיות מוקדם יותר ולעזור מבקרים לתעדף את הסקירות שלהם. כיוון שהמסגרת פתוחה וניתנת להרצה מחדש על חוזים חדשים לאורך זמן, DIVE מציע בסיס חי לשיפור הבטיחות של הסכמים דיגיטליים — הקטנת הסיכון שמשתמשים יום־יומיים ייפגעו משגיאות נסתרות בקוד שעליו הם סומכים.
ציטוט: Alsunaidi, S.J., Aljamaan, H. & Hammoudeh, M. DIVE: A Multi-Label Smart Contract Vulnerability Dataset. Sci Data 13, 664 (2026). https://doi.org/10.1038/s41597-026-07025-5
מילות מפתח: אבטחת חוזים חכמים, את’ריום, פגיעויות בבלוקצ’יין, מאגר נתוני למידת מכונה, DASP עשרת הגדולים