שימוש ב-AI למציאת באגים של הרשאות
תוכניות Bug bounty נסגרות. Nextcloud הפסיקה לתת תגמולים כספיים בגלל דוחות AI באיכות נמוכה. Mattermost סיימה את התוכנית שלה. The Internet Bug Bounty הפחיתה את התשלומים ב-80 אחוזים.
הבעיה היא לא ש-AI לא יכול למצוא באגים. הבעיה היא ש-AI מייצר דוחות רבים שנראים אמיתיים אך הם שגויים. צוותי Triage טובעים ברעש הזה.
בשנת 2026, המיומנות שתצטרכו היא לא למצוא באגים. מודל ייתן לכם חמישים רעיונות לפני ארוחת הצהריים. המיומנות האמיתית היא להוכיח מדוע ארבעים ותשעה מהם שגויים. אתם צריכים שיטה שמייצרת שליליים נכונים (correct negatives).
השתמשו בשיטה הדו-שלבית הזו עבור קוד עם קוד מקור גלוי (source-available code):
Fan-out (מודלים זולים) פצלו את שטח ההרשאות (authorization surface) לחלקים קטנים. קראו כל חלק במקביל. חפשו חוקים שבורים. חפשו מקומות שבהם אובייקט נטען ללא בדיקת בעלות (owner check). חפשו נתיבים שדלגים בשערי אבטחה. התמקדו במציאת כל רמז אפשרי. צפו להרבה חיוביים שגויים (false positives).
Adversarial Verification (מודלים יקרים) קחו כל רמז ונסו להפריך אותו. התחילו מתוך הנחה שהרמז שגוי. רמז שורד רק אם תוכלו להראות את שורות הקוד המדויקות שמוכיחות ששומר האבטחה חסר. עליכם להוכיח שהנתיב נגיש וששום דבר אחר לא עוצר את ההתקפה.
הפלט החשוב ביותר הוא רשימת ההפרכות (refutations). רשימה של סיבות מדוע משהו אינו באג בונה אמון מול ה-triagers.
בדקתי את Ory Kratos, שרת זהות (identity server). המערכת מטפלת בפעולות רגישות כמו שינוי סיסמאות או אימיילים. זהו תחום בסיכון גבוה.
השלב הראשון מצא רמז. זה נראה כמו פגם משמעותי באופן שבו המערכת מטפלת ב-OIDC flows. כלי של התאמת תבניות (pattern-matching) היה קורא לזה באג בחומרה גבוהה.
השתמשתי בשלב השני כדי לאמת זאת. גיליתי שהבדיקה החסרה לא הובילה לניצול (exploit). המערכת משתמשת ב-session cookies חיים ובודקת מחדש הרשאות בשלב הסופי. הפגם לא היה קריטי למבנה האבטחה.
אם הייתי מדווח על כך, הייתי מאבד אמינות. הערך האמיתי היה הביטחון להישאר בשקט.
אותה שיטה מצאה באג אמיתי במטרה אחרת. נקודת כניסה משנית שכחה לשקף בדיקת הרשאה. המשתמש יכול היה להיכנס דרך "דלת צדדית" גם לאחר שגישה שלו בוטלה.
המנצחים בציד באגים יתמקדו באות (signal), לא בכמות. השתמשו ב-AI כדי לקרוא יותר קוד מכפי שאדם יכול. לאחר מכן השתמשו ב-AI כדי להוכיח לעצמכם שאתם טועים לפני שתגישו דוח.
Optional learning community: https://t.me/GyaanSetuAi
