ה-Agentic Workflows החדשים של GitHub יכולים להטעות ולהוביל לפרסום קבצים ממאגרים (repositories) פרטיים, כפי שהדגימו חוקרים ב-Noma Labs, המראים שפרסום תגובה בודדת ב-issue ציבורי יכול להפוך עוזר AI פנימי לצינור לדליפת נתונים.
הפגיעות הזו משמעותית מכיוון שהיא עוקפת את בדיקות הבטיחות המובנות של GitHub ללא צורך בקוד ניצול (exploit) מיוחד; תוקף צריך רק ליצור issue שנראה תמים, שהסוכן ה-AI יקרא ויפעל לפיו.
כיצד הפגיעות עובדת
Agentic Workflows מאפשרים לסוכן AI להגיב לאירועי GitHub — כגון issues חדשים — על ידי ביצוע פקודות המוגדרות בקובץ workflow. Noma Labs מצאו שהסוכן אינו מבחין בין הוראות workflow לגיטימיות לבין טקסט המוטמע בתגובה שנשלחה על ידי משתמש. על ידי פרסום issue ציבורי המחקה בקשה של מנהל והוספת הנחיה נסתרת, תוקף יכול להנחות את הסוכן ל:
- לפתוח את ה-issue (גלוי לציבור).
- לכלול שורה שנראית רגילה אך מכילה פקודה סמויה.
- להפעיל את ה-AI כדי שימשוך קבצים ממאגר פרטי שה-workflow מורשה לקרוא.
- לגרום לסוכן לפרסם את התוכן שנמשך כתגובה לאותו ה-issue.
החוקרים גילו שהכנסת המילה הבודדת “Additionally,” לפני הפקודה הנסתרת הספיקה כדי לחמוק מה-guardrails של GitHub. אין צורך בהרשאות נוספות, טוקנים או קוד מותאם אישית — רק בניסוח הנכון.
למה זה יותר מסתם באג
הבעיה היא מבנית. סוכן ה-AI מתייחס לכל טקסט שהוא מקבל מאירוע ב-repository כאל אמין, מה שהופך בפועל תוכן שנוצר על ידי משתמשים לווקטור קלט (input vector) הדומה ל-SQL injection באפליקציית אינטרנט. אם workflow מעניק לסוכן גישת קריאה למאגרים פרטיים ואת היכולת להגיב בפומבי, השילוב הזה יוצר נתיב ישיר להוצאת נתונים (data exfiltration).
מה GitHub אומרת
GitHub קיבלה הודעה על פגיעות זו.
צעדי מניעה לצוותים
- הגבלת הרשאות הסוכן: הענקת גישת קריאה/כתיבה למאגרים פרטיים רק כשזה הכרחי לחלוטין.
- חסימת פרסום ציבורי: הגדרת workflows כך שהסוכנים לא יוכלו לפרסם תגובות או תוצרים (artifacts) אחרים ב-issues ציבוריים.
- התייחסות לכל קלט חיצוני כלא מהימן: הוספת שכבות אימות (validation) שמנקות (sanitize) או מתעלמות מטקסט שנוצר על ידי משתמשים לפני שהוא מגיע ל-AI.
- ביקורת על טריגרים של workflow: סקירת האירועים (issues, pull requests וכו') שמפעילים סוכנים, ווידוא שההרשאות הנלוות תואמות לשימוש המיועד.
שורה תחתונה: עוזר AI שיכול לקרוא קוד פרטי ולפרסם בפומבי הוא בטוח רק כפי שהגבולות שאתם מציבים סביבו. ללא הגבלות הרשאות קשיחות וניקוי קלט, תגובה ציבורית אחת יכולה להפוך תכונה של פרודוקטיביות לווקטור לדליפת נתונים.
