דף הבית / ביטוי רגולרי בלי עוגנים, ומרוץ על רישום…
Supply Chain
ביטוי רגולרי בלי עוגנים, ומרוץ על רישום חשבון GitHub
פילטר webhook בדק ACTOR_ID עם regex בלי ^ ו-$. התאמה כ-substring הספיקה. זו לא טעות ב-regex – זו הבנה עמוקה של איך אפליקציה מחליטה.
הפוסט הזה הוא הקריאה שלי במחקר שפורסם על ידי Yuval Avrahami and Nir Ohfeld at Wiz. הממצאים שלהם; הטענה על המשמעות שלהם היא שלי. שווה לקרוא את המחקר המקורי במלואו.
יש באגים שאתה קורא ושוכח. ויש כאלה שלא עוזבים אותך, לא בגלל התחכום שלהם, אלא בגלל צורת החשיבה שמאחוריהם. זה בדיוק מה שקרה לי כשקראתי על המחקר של יובל אברהמי וניר אוכפלד מ-Wiz.
הם מצאו חולשה ב-AWS CodeBuild שאפשרה להשתלט על repositories מרכזיים של AWS ב-GitHub, כולל ה-JavaScript SDK שמפעיל את ה-AWS Console ונמצא בשימוש בכ-66 אחוז מסביבות הענן.
ברמה הטכנית, זה כמעט מביך כמה שזה פשוט
פילטרים של webhook שבודקים ACTOR_ID באמצעות regex, בלי anchors של תחילת וסוף הביטוי (^ ו-$). הבדיקה לא דרשה התאמה מלאה, אלא הסתפקה בכך שה-ID מופיע כ-substring.
התוצאה: תוקף יכול היה ליצור משתמש GitHub חדש שה-ID שלו מכיל את ה-ID של maintainer מהימן, לעבור את בדיקת האימות, ולקבל הרשאות שלא אמורות להיות לו.
אבל זה לא מה שתפס אותי.
מה שהיה מרשים באמת הוא איך הם ניצלו את זה בפועל
התזמון של יצירת GitHub App bot user כך שה-maintainer ID יהיה substring של המשתמש שלהם, תוך כדי מרוץ מול מנגנון יצירת החשבונות של GitHub.
זו לא טעות ב-regex. זו הבנה עמוקה של איך אפליקציה מקבלת החלטות. מה בדיוק היא בודקת, על מה היא סומכת, ואיפה הלוגיקה האפליקטיבית מאפשרת לעבור את הקו בלי לשבור שום כלל רשמי.
וזה בדיוק הלב של אבטחת אפליקציות. לא CVE אקראי. לא סריקה אוטומטית. אלא מקום שבו קוד שעובד כמתוכנן מאפשר התנהגות שלא נלקחה בחשבון.
אנחנו נתקלים בזה כל הזמן
באפסק אנחנו נתקלים בזה כל הזמן. בדיקות שעוברות. קוד שנראה נכון. ואז פרט לוגי קטן, לפעמים תנאי אחד, לפעמים הנחת אמון שקטה, הופך לנקודת תורפה קריטית.
המחקר הזה הוא תזכורת חשובה לכך שאבטחת אפליקציות לא נמדדת בכמה בדיקות הרצת, אלא בכמה עמוק הבנת איך האפליקציה שלך באמת חושבת.
Ethical hacking, מבחינתי, זה לא להיות מתוחכם. זה להיות חשדן כלפי הלוגיקה של עצמך. כי ברגע שלא מטילים את הספק הבריא הזה ומניחים שהכל יהיה בסדר, מישהו בצד השני כבר ימצא איך להשתמש בזה ולפגוע באפליקציה שאנחנו רוצים להגן עליה, ואז זה כבר מאוחר מדי.
פוסט זה פורסם לראשונה בלינקדאין בתאריך 2026-02-02. — ארז מטולה
להמשיך לקרוא
עוד מהבלוג
Supply Chain
קליק אחד, וכל ריפו פרטי שיש לכם גישה אליו הוא שלהם
לינק, בתוך הכלי שאתם עובדים איתו כל יום. לחיצות מקלדת מדומות מתקינות extension שמושך את ה-OAuth token של GitHub – והטוקן לא…
לקריאהSupply Chain
הפקודה ב-Docker שרצה אצלכם, לא אצלם
ONBUILD לא רצה אצל מי שכתב אותה. היא רצה אצלכם, ברגע שעשיתם FROM ל-image שלהם – בשקט, בלי שורה אחת ב-Dockerfile שלכם.
לקריאהSupply Chain
Canary credentials: גלאי העשן שאף אחד לא מתקין
credentials מזויפים בתוך ה-pipeline שלא מחוברים לכלום. שום תהליך לגיטימי לא נוגע בהם, אז ברגע שמישהו כן – אתם יודעים שהם נגנבו.
לקריאהספרו לנו מה המערכת עושה ומה מדאיג אתכם.
אם בדיקת חדירה אינה מה שאתם צריכים עכשיו, נאמר זאת.