השימוש של מפתחי תוכנה במודלים של שפות גדולות (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 כאשר הם לא בטוחים לחלוטין במידת הדיוק שלה. הוא גם אומר שכאשר מפתחים נתקלים בחבילת קוד פתוח לא מוכרת הם צריכים לבקר במאגר החבילות ולבחון את גודל הקהילה שלה, רשומות התחזוקה שלה, נקודות התורפה הידועות שלה ושיעור המעורבות הכולל שלה. מפתחים צריכים גם לסרוק את החבילה ביסודיות לפני הכנסתה לסביבת הפיתוח.
- הפצת תוכן ויחסי ציבור מופעל על ידי SEO. קבל הגברה היום.
- PlatoData.Network Vertical Generative Ai. העצים את עצמך. גישה כאן.
- PlatoAiStream. Web3 Intelligence. הידע מוגבר. גישה כאן.
- PlatoESG. פחמן, קלינטק, אנרגיה, סביבה, שמש, ניהול פסולת. גישה כאן.
- PlatoHealth. מודיעין ביוטכנולוגיה וניסויים קליניים. גישה כאן.
- מקור: https://www.darkreading.com/application-security/pervasive-llm-hallucinations-expand-code-developer-attack-surface
- :הוא
- :לֹא
- $ למעלה
- 000
- 10
- 100
- 2%
- 22
- 24
- 29
- 32
- 35%
- 7
- a
- התעללות
- פי
- דיוק
- לרוחב
- משחק
- ממשי
- מוסיף
- AI
- תעשיות
- כמעט
- גם
- בין
- an
- ו
- כל
- מתאים
- ARE
- חמוש
- סביב
- AS
- לשאול
- סיוע
- At
- לתקוף
- תוקף
- מחבר
- מְמוּצָע
- בָּר
- מבוסס
- BE
- לפני
- מוטב
- בֵּין
- גדול
- אבל
- נקרא
- מקרה
- זהירות
- צ'אט
- chatbot
- ChatGPT
- קוד
- סִמוּל
- בדרך כלל
- קהילה
- הידור
- לחלוטין
- שיחות
- אַלְמוֹג
- יכול
- מעוצב
- נוֹכְחִי
- להפגין
- מפתח
- מפתחים
- צעצועי התפתחות
- לא
- אחר
- באופן שונה
- לְהָפִיץ
- הפצה
- הוריד
- הורדות
- ירידה
- בְּמַהֲלָך
- כל אחד
- בקלות
- קל
- אפקטיבי
- פְּגִישָׁה
- סוף
- התעסקות
- סביבה
- סביבות
- אֲפִילוּ
- לִבחוֹן
- תרגיל
- לְהַרְחִיב
- לנצל
- פָּנִים
- מעטים
- מרוכז
- בעד
- לשעבר
- מצא
- ארבע
- תדר
- בתדירות גבוהה
- החל מ-
- מזל תאומים
- ליצור
- נוצר
- לתת
- Go
- טוב
- מקורקע
- היה
- לקרות
- קשה
- he
- לעזור
- הגבוה ביותר
- שֶׁלוֹ
- איך
- איך
- HTTPS
- if
- in
- באחר
- עליות
- קלט
- למשל
- אל תוך
- החדרה
- IT
- שֶׁלָה
- jpg
- יודע
- ידוע
- שפה
- שפות
- גָדוֹל
- אחרון
- שנה שעברה
- למידה
- ספריות
- כמו
- סְבִירוּת
- סביר
- קישורים
- רשימה
- LLM
- מיקום
- הנמוך ביותר
- מכונה
- למידת מכונה
- תחזוקה
- עשייה
- זדוני
- תוכנות זדוניות
- רב
- יכול
- מודל
- מודלים
- יותר
- רוב
- הרבה
- שם
- שמות
- צורך
- נטו
- צומת
- Node.js
- לא קיים
- הערות
- עַכשָׁיו
- מספר
- התרחשה
- of
- הַצָעָה
- on
- ONE
- לפתוח
- קוד פתוח
- הזדמנות
- or
- אחר
- הַחוּצָה
- יותר
- מקיף
- חבילה
- חבילות
- אחוזים
- אפלטון
- מודיעין אפלטון
- אפלטון נתונים
- מתקבל על הדעת
- נקודה
- נקודות
- פוטנציאל
- מתנות
- קוֹדֶם
- מִקצוֹעָן
- בעיה
- תכנות
- שפות תכנות
- פּרוֹיֶקט
- ציבורי
- פיתון
- שאלה
- שאלות
- ציון
- תעריפים
- קיבלו
- לאחרונה
- להמליץ
- המלצה
- המלצות
- רשום
- קָשׁוּר
- יחסית
- שוחרר
- חוזר על עצמו
- לדווח
- מאגר
- מחקר
- חוקר
- תגובה
- תוצאות
- s
- אותו
- ראה
- אומר
- סריקה
- קלע
- אבטחה
- לִרְאוֹת
- לחפש
- לִכאוֹרָה
- סט
- כמה
- צריך
- דומה
- מידה
- תוכנה
- מפתחי תוכנה
- לפתור
- לפעמים
- מָקוֹר
- עמדה
- מבהיל
- עוד
- פשוט
- לימוד
- נושא
- כזה
- להציע
- מציע
- בטוח
- משטח
- טכניקה
- נטייה
- נבדק
- בדיקות
- מֵאֲשֶׁר
- זֶה
- השמיים
- שֶׁלָהֶם
- אז
- תיאורטי
- שם.
- אלה
- הֵם
- זֶה
- בִּיסוֹדִיוּת
- מחשבה
- אלפים
- איום
- זמן
- פִּי
- ל
- יַחַד
- לקח
- נושא
- לְגַמרֵי
- מטריד
- זָר
- נטען
- להשתמש
- מְשׁוּמָשׁ
- משתמש
- באמצעות
- מוכר
- מאוד
- לְבַקֵר
- פגיעויות
- היה
- we
- טוֹב
- היו
- מתי
- אשר
- עם
- מילים
- היה
- שנה
- זפירנט