הזיות מסוכנות: כשבינה מלאכותית ממציאה חבילות קוד זדוניות

תוקף זדוני יכול לזהות שמות חבילות מומצאים שה-AI חוזר וממליץ עליהם, ואז להעלות למאגר הרשמי חבילה אמיתית באותו שם בדיוק, אך כזו שמכילה קוד זדוני (כמו וירוס או תוכנת ריגול)

הזיות מסוכנות: כשבינה מלאכותית ממציאה חבילות קוד זדוניות

GPT

בשנים האחרונות, כלי בינה מלאכותית (AI) המסוגלים לייצר קוד תוכנה הפכו פופולריים מאוד בקרב מפתחים. שפות תכנות נפוצות כמו פייתון וג'אווהסקריפט מסתמכות רבות על "חבילות" (packages) - קטעי קוד מוכנים שמספקים פונקציונליות נוספת, והן מורדות ממאגרים מרכזיים כמו PyPI ו-npm. מחקר חדש שפורסם ב-arXiv חושף בעיה מדאיגה: מודלי שפה גדולים (LLMs) המשמשים ליצירת קוד נוטים "להזות" (hallucinate) שמות של חבילות. כלומר, הם ממליצים בקוד שהם יוצרים על שימוש בחבילה שכלל אינה קיימת במאגר הרשמי.

תופעה זו, המכונה "הזיית חבילות" (package hallucination), יוצרת פתח למתקפה מסוכנת על שרשרת אספקת התוכנה. תוקף זדוני יכול לזהות שמות חבילות מומצאים שה-AI חוזר וממליץ עליהם, ואז להעלות למאגר הרשמי חבילה אמיתית באותו שם בדיוק, אך כזו שמכילה קוד זדוני (כמו וירוס או תוכנת ריגול). מפתח תמים שסומך על המלצת ה-AI עלול להוריד ולהתקין את החבילה הזדונית, ובכך לפגוע בפרויקט שלו, במחשבו ואף להפיץ את הקוד הזדוני הלאה דרך תלויות תוכנה. זוהי וריאציה חדשה ומסוכנת של מתקפות "בלבול חבילות" (package confusion) המוכרות.

החוקרים מאוניברסיטאות שונות בארה"ב ערכו ניתוח מקיף ויסודי של התופעה. הם בדקו 16 מודלי AI פופולריים ליצירת קוד (גם מסחריים וגם קוד פתוח), הריצו אותם על שני מאגרי נתונים גדולים של משימות תכנות (מעל חצי מיליון דוגמאות קוד), ובדקו את התוצאות בשפות פייתון וג'אווהסקריפט.

הממצאים מדאיגים: בממוצע, לפחות 5.2% מהחבילות שהומלצו על ידי מודלים מסחריים ו-21.7% מאלו שהומלצו על ידי מודלי קוד פתוח היו הזויות (לא קיימות). בסך הכל, זוהו מעל 205,000 שמות ייחודיים של חבילות מומצאות. 

עוד נמצא כי הגדרות מסוימות במודל  יכולות להפחית את ההזיות, וכי האיום גובר כאשר המודל נשאל על נושאים חדשים יחסית, שייתכן ולא נכללו באימון המקורי שלו. באופן מפתיע, מודלים רבים הצליחו לזהות את ההזיות של עצמם כאשר נשאלו ישירות. בנוסף, החוקרים הראו שטכניקות "הפחתה" (mitigation), כמו אימון מחדש (fine-tuning) או מתן "רמזים" למודל (RAG), יכולות לצמצם משמעותית את הבעיה, אם כי לעיתים במחיר קל של ירידה באיכות הקוד המיוצר.

לסיכום, המחקר מדגיש כי הזיות חבילות הן תופעה מערכתית ונפוצה המהווה איום ממשי וחדש על אבטחת תוכנה בעולם המסתמך יותר ויותר על כלי AI. הממצאים קוראים לקהילת המחקר והפיתוח לשים לב לנושא בדחיפות ולפתח פתרונות שיבטיחו שימוש בטוח יותר במודלים ליצירת קוד.

img
פרשנות | כוח צבאי משמעותי של נאט״ו יכול להקטין הסתברות למלחמה גרעינית באירופה
דעה | אופציה צבאית ישראלית תוכל לרסן את איראן 
קבוצת SQLink רוכשת את ZIGIT הישראלית
קבוצת SQLink רוכשת את ZIGIT הישראלית