עוזרי קוד מבוססי AI הפסיקו להיות רק ווידג'טים פשוטים להשלמה אוטומטית מזמן. הם מאנדקסים את המאגרים (repositories) שלך, קוראים את משתני הסביבה שלך, מציעים פקודות shell, ו"לוחשים" תיקונים ישירות לטרמינל שלך. הם חיים באותו מרחב זיכרון כמו קוד המקור שלך, הטוקנים המקומיים שלך, הגדרות ה-cloud CLI שלך ומפתחות ה-SSH שלך. הקרבה הזו הופכת אותם לחלק משטח התקיפה שלך בצורה ישירה מאוד, ולא רק תיאורטית.

רוב הצוותים אימצו את הכלים הללו בחיפזון. מפתח מתקין תוסף, מבצע אימות באמצעות personal access token, ומתחיל לקבל הצעות שנוצרו על ידי AI. סקירות אבטחה לעיתים רחוקות מצליחות לעמוד בקצב. שני איומים מהעת האחרונה, Djinn Stealer ו-ChocoPoC, מראים בדיוק מדוע הפער הזה מסוכן.

השכן ששכחת לבדוק

חשבו על המקום שבו העוזר שלכם באמת יושב. אם אתם משתמשים ב-GitHub Copilot, Cursor, Continue, או בכל כלי דומה, סביר להניח שיש לו גישת קריאה לקבצים הפתוחים שלכם, למבנה הפרויקט שלכם, ולעיתים אף לכל מערכת הקבצים המקומית שלכם. הוא שומר טוקני אימות במיקומים צפויים על הדיסק. הוא רץ בתוך ה-IDE שלכם, שבעצמו רץ עם הרשאות המשתמש שלכם. המשמעות היא שתוכנה זדונית שפורצת לתחנת העבודה שלכם לא צריכה לחפש פרטי גישה באופן עיוור. עוזר ה-AI כבר אסף את המפתחות המעניינים למקום אחד נוח.

זהו אינו פגם ארכיטקטוני היפותטי. Djinn Stealer נבנה כדי לנצל בדיוק את המבנה הזה. הוא מכוון ספציפית לפרטי הגישה של מפתחים ולסשנים (sessions) של כלי AI. במקום לסרוק כל פינה במערכת הקבצים, הוא יוצא אחרי הטוקנים שמניעים את זרימת העבודה של הכתיבה שלכם. אם העוזר שלכם מאומת מול GitHub, GitLab, או ספק ענן, גניבת הסשן הזה מעניקה לתוקף יותר מסתם קוד. היא מעניקה לו את הזהות שלכם. הם יכולים לבצע commits בשמכם, לקרוא מאגרים פרטיים ולחקור את אותן APIs שבהן אתם משתמשים מדי יום.

Djinn Stealer: צייד המפתחות לממלכה שלכם

כאשר Djinn Stealer נוחת על מכונה, הוא מתנהג כמו פורץ חכם שיודע באיזה מגירות נמצאים המפתחות הרזרביים. הוא מחפש ספריות הגדרות של כלי AI, מאגרי סשנים של דפדפן וקבצי פרטי גישה שמפתחים צוברים במהלך חודשי עבודה. ה-stealer יודע שסביבות פיתוח מודרניות מרכזות את הגישה. טוקן OAuth אחד עבור עוזר ה-AI שלכם יכול לחפוף לגישה למאגרי חבילות (package registries), מאגרי קונטיינרים ו-APIs של תשתיות.

הסיכון מוכפל כאשר מפתחים בודקים קוד proof-of-concept באופן מקומי. אתם משכפלים (clone) מאגר מעניין מחוקר אבטחה, מריצים סקריפט כדי לראות איך הוא עובד, והסקריפט מריץ בשקט כלי לאיסוף פרטי גישה (credential harvester) ברקע. מכיוון שהטוקנים של עוזר ה-AI שלכם נמצאים בנתיבים סטנדרטיים תחת ספריית הבית (home directory) שלכם, ה-stealer יכול להוציא אותם (exfiltrate) לפני שתסיימו לקרוא את ה-README. החלק הגרוע ביותר הוא שהטוקנים הללו עוקפים לעיתים קרובות את ה-SSO הארגוני, כיוון שהם נוצרו עבור כלי פרודוקטיביות ולא עבור מערכות ייצור (production systems).

ChocoPoC: כשספריות תלות משקרות

בעוד ש-Djinn Stealer פושט על הבית, ChocoPoC מתגנב דרך חריץ הדואר. האיום הזה מסתיר נתיבים זדוניים בתוך dependencies של Python, ובמיוחד בחבילות בשם frint ו-skytext. ה-payload לא נמצא בסקריפט הגלוי שסקירה רגילה עשויה לתפוס. במקום זאת, הוא קובר את עצמו עמוק יותר,