עוזרי קוד מבוססי AI עלולים להשתלט עליהם באמצעות רשומה זדונית ב-.git/config המנצלת את תכונת ה-core.fsmonitor של Git, מה שמאפשר למאגר (repository) לא מהימן להריץ פקודות במכונה של המפתח ברגע שהעוזר סורק את הקבצים.
הפרצה התגלתה במספר סוכנים (agents) פופולריים — Claude Code, Cursor, OpenAI Codex, Goose, Qwen Code, Grok Build ו-Hermes. בסוכנים שקיבלו תיקון (patched), הניצול כבר אינו עובד; השאר נותרו פגיעים. אין צורך בלחיצות או בהודעות אישור נוספות, והקוד הזדוני רץ עם ההרשאות של המשתמש עצמו, מחוץ לכל sandbox (סביבת בידוד) שהסוכן עשוי לספק.
כיצד המתקפה מגיעה למפתח
- קבלן דוחס פרויקט לקובץ zip ושולח אותו בדוא"ל.
- חבר צוות משתף תיקייה בכונן רשת.
- דיסק און קי (USB stick) מועבר עם בסיס קוד.
בכל מקרה, המאגר מגיע כתיקייה שכבר מכילה תיקיית .git. כאשר עוזר AI פותח את התיקייה, הוא בדרך כלל מריץ git status ברקע כדי לבנות תצוגה של הקוד. Git מאיץ את הפעולה הזו באמצעות הגדרת ה-core.fsmonitor, שאומרת ל-Git לקרוא לתוכנית חיצונית שתעקוב אחר שינויים במערכת הקבצים. אם קובץ ה-.git/config של המאגר מגדיר פקודה זדונית עבור core.fsmonitor, Git יבצע אותה באופן אוטומטי, ללא התייעצות עם המשתמש.
מכיוון שהפקודה מופעלת על ידי Git עצמו, היא יורשת את זכויות המשתמש ועוקפת כל sandbox שהכלי עשוי להגדיר. הניצול אינו מופעל במהלך git clone, git fetch או git pull רגילים; הוא מופעל רק כאשר המאגר נפרק כשהמטא-דאטה של .git כבר נמצא בו.
מדוע הנושא חשוב
מפתחים מסתמכים יותר ויותר על עוזרי AI כדי להציע השלמות קוד, לבצע refactoring או ליצור מודולים שלמים. כלים אלו זקוקים לתמונת מצב מהירה של עץ הקבצים של הפרויקט, ולכן הם מפעילים פקודות Git בשקט. אם מאגר זדוני יכול להריץ קוד באותו רגע, התוקף מקבל נק
