אינטליגנציה של נתונים גנרטיביים

הזיות LLM נרחבות להרחיב את משטח ההתקפה של מפתחי קוד

תאריך:

השימוש של מפתחי תוכנה במודלים של שפות גדולות (LLMs) מהווה הזדמנות גדולה יותר ממה שחשבו בעבר לתוקפים להפיץ חבילות זדוניות לסביבות פיתוח, על פי מחקר שפורסם לאחרונה.

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

הזיה בחבילת AI

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

חוקר האבטחה בר לניאדו, מחבר המחקר וכיום ב-Lasso Security, גילה שתוקפים יכולים בקלות להפיל חבילה זדונית בפועל במקום שאליו מצביע ChatGPT ולתת לה את אותו שם כמו החבילה ההזויה. כל מפתח שיוריד את החבילה בהתבסס על המלצת ChatGPT עלול בסופו של דבר להכניס תוכנות זדוניות לסביבת הפיתוח שלו.

של לניאדו מחקר המשך בדק את התפשטות בעיית ההזיה של החבילה על פני ארבעה דגמי שפות גדולים שונים: GPT-3.5-Turbo, GPT-4, Gemini Pro (לשעבר בארד) ו-Cohere (Cohere). הוא גם בדק את הנטייה של כל דגם ליצור חבילות הזויות בשפות תכנות שונות ואת התדירות שבה הם יצרו את אותה חבילה הזויה.

עבור המבחנים, Lanyado הרכיב רשימה של אלפי שאלות "איך לעשות" שמפתחים בסביבות תכנות שונות - python, node.js, go, .net, ruby ​​- לרוב מבקשים סיוע מ-LLMs בסביבות פיתוח. לאחר מכן שאל לניאדו כל דגם שאלה הקשורה לקידוד וכן המלצה על חבילה הקשורה לשאלה. הוא גם ביקש מכל דגם להמליץ ​​על 10 חבילות נוספות כדי לפתור את אותה בעיה.

תוצאות שחוזרות על עצמן

התוצאות היו מטרידות. 64.5% מדהימים מה"שיחות" שניהל לניאדו עם תאומים יצרו חבילות הזויות. עם קורל, המספר הזה היה 29.1%; LLMs אחרים כמו GPT-4 (24.2%) ו-GPT3.5 (22.5%) לא הצליחו הרבה יותר.

כאשר לניאדו שאל כל דוגמנית את אותה קבוצת שאלות 100 פעמים כדי לראות באיזו תדירות הדוגמניות הוזו את אותן חבילות, הוא גילה ששיעורי החזרות גם מרימים גבות. Cohere, למשל, פלט את אותן חבילות הזויות יותר מ-24% מהמקרים; צ'אט GPT-3.5 ו-Gemini בסביבות 14%, ו-GPT-4 ב-20%. בכמה מקרים, דגמים שונים הוזו חבילות זהות או דומות. המספר הגבוה ביותר של מודלים מוצלבים מסוג זה התרחש בין GPT-3.5 ל-Gemini.

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

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

קל לניצול

תוקף חמוש בשמות של כמה חבילות הזויות, למשל, יכול להעלות חבילות עם אותם שמות למאגרים המתאימים בידיעה שישנה סבירות טובה ש-LLM יפנה למפתחים אליה. כדי להדגים שהאיום אינו תיאורטי, לניאדו לקח חבילה הזויה אחת בשם "huggingface-cli" שבה נתקל במהלך המבחנים שלו והעלה חבילה ריקה בשם זהה למאגר Hugging Face עבור מודלים של למידת מכונה. מפתחים הורידו את החבילה הזו יותר מ-32,000 פעמים, הוא אומר.

מנקודת מבט של שחקן איום, הזיות חבילות מציעות וקטור פשוט יחסית להפצת תוכנות זדוניות. "כפי שראינו מתוצאות המחקר, זה לא כל כך קשה", הוא אומר. בממוצע, כל הדוגמניות הוזו יחד 35% עבור כמעט 48,000 שאלות, מוסיף לניאדו. ל-GPT-3.5 היה האחוז הנמוך ביותר של הזיות; ג'מיני השיג את הציון הגבוה ביותר, עם חזרתיות ממוצעת של 18% בכל ארבעת הדגמים, הוא מציין.

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

ספוט_ימג

המודיעין האחרון

ספוט_ימג

דבר איתנו

שלום שם! איך אני יכול לעזור לך?