לעומק כמה עסקים גדולים פרסמו קוד מקור המשלב חבילת תוכנה שהוזתה בעבר על ידי AI גנרטיבי.
לא רק זה אלא מישהו, שיש הבחין בזה הזיה שחוזרת על עצמה, הפכה את התלות המורכבת הזו לתלות אמיתית, שלאחר מכן הורדה והותקנה אלפי פעמים על ידי מפתחים כתוצאה מהעצות הרעות של ה-AI, למדנו. אם החבילה הייתה עמוסה בתוכנות זדוניות ממשיות, במקום להיות מבחן שפיר, התוצאות היו יכולות להיות הרות אסון.
לדברי בר לניאדו, חוקר אבטחה בחברת לאסו סקיוריטי, אחד העסקים ששולל על ידי הבינה המלאכותית בשילוב החבילה הוא עליבאבא, שבזמן כתיבת שורות אלה עדיין כולל pip
הפקודה כדי להוריד את חבילת Python huggingface-cli
ב מתרגם גרפים הוראות התקנה.
יש חוקיות huggingface-cli, מותקן באמצעות pip install -U "huggingface_hub[cli]"
.
אבל huggingface-cli
מופץ באמצעות אינדקס חבילות Python (PyPI) ונדרש על ידי GraphTranslator של עליבאבא - מותקן באמצעות pip install huggingface-cli
- מזויף, מדמיין על ידי AI והפך לאמיתי על ידי Lanyado כניסוי.
הוא יצר huggingface-cli
בדצמבר לאחר שראה אותו הוזה שוב ושוב על ידי בינה מלאכותית; עד פברואר השנה, עליבאבא התייחסה אליו בהוראות README של GraphTranslator ולא לכלי חיבוק פנים CLI האמיתי.
לימוד
לניאדו עשה זאת כדי לבחון האם סוגים אלה של חבילות תוכנה הזויות - שמות חבילות שהומצאו על ידי מודלים של בינה מלאכותית, ככל הנראה במהלך פיתוח הפרויקט - נמשכים לאורך זמן ולבדוק האם ניתן לצרף שמות חבילות מומצאים ולהשתמש בהם להפצת קוד זדוני על ידי כתיבת קוד זדוני. חבילות שמשתמשות בשמות הקוד שחולמו על ידי AIs.
הרעיון כאן הוא שמישהו מרושע יכול לבקש מדגמים עצות קוד, לרשום חבילות דמיוניות שמערכות AI ממליצות שוב ושוב, ואז ליישם את התלות הללו כך שמתכנתים אחרים, כשהם משתמשים באותם מודלים ומקבלים את אותן הצעות, בסופו של דבר ימשכו פנימה. ספריות אלה, שעלולות להיות מורעלות באמצעות תוכנות זדוניות.
בשנה שעברה, באמצעות חברת האבטחה וולקן סייבר, לניאדו לאור מחקר המפרט כיצד ניתן להציב שאלת קידוד למודל AI כמו ChatGPT ולקבל תשובה הממליצה על שימוש בספריית תוכנה, חבילה או מסגרת שאינה קיימת.
"כאשר תוקף מפעיל קמפיין כזה, הוא יבקש מהמודל חבילות שפותרות בעיית קידוד, ואז הוא יקבל כמה חבילות שלא קיימות", הסביר לניאדו. הקופה. "הוא יעלה חבילות זדוניות עם אותם שמות לרשמים המתאימים, ומרגע זה ואילך, כל מה שהוא צריך לעשות הוא לחכות שאנשים יורידו את החבילות."
הנחות מסוכנות
הנכונות של דגמי בינה מלאכותית לבטוח לצטט תיקי משפט שלא קיימים ידוע כיום וגרם ללא מעט מבוכה בקרב עורכי דין שלא מודעים לנטייה זו. וכפי שמתברר, דגמי AI גנרטיביים יעשו את אותו הדבר עבור חבילות תוכנה.
כפי שלניאדו ציין בעבר, טועה עשוי להשתמש בשם שהומצא בינה מלאכותית עבור חבילה זדונית שהועלתה למאגר כלשהו בתקווה שאחרים עשויים להוריד את התוכנה הזדונית. אבל כדי שזה יהיה וקטור התקפה משמעותי, דגמי AI יצטרכו להמליץ שוב ושוב על השם המשותף.
זה מה שלניאדו יצא לבדוק. חמוש באלפי שאלות "איך לעשות", הוא שאל ארבעה דגמי AI (GPT-3.5-Turbo, GPT-4, Gemini Pro aka Bard, ו-Command [Cohere]) לגבי אתגרי תכנות בחמש שפות תכנות/זמני ריצה שונים (Python, Node.js, Go, .Net ו-Ruby), שלכל אחד מהם יש מערכת אריזה משלו.
מסתבר שחלק מהשמות שהצ'אטבוטים האלה שולפים יש מתמיד, חלקם בדגמים שונים. והתמדה - החזרה על השם הבדוי - היא המפתח להפיכת גחמת הבינה המלאכותית למתקפה פונקציונלית. התוקף צריך את מודל הבינה המלאכותית כדי לחזור על שמות חבילות הזויות בתגובותיו למשתמשים עבור תוכנות זדוניות שנוצרו תחת שמות אלה כדי לחפש ולהוריד.
לניאדו בחר 20 שאלות באקראי להזיות אפס, והציג אותן 100 פעמים לכל דגם. המטרה שלו הייתה להעריך באיזו תדירות שם החבילה ההזוי נשאר זהה. תוצאות הבדיקה שלו מגלות ששמות מתמשכים מספיק כדי שזה יהיה וקטור התקפה פונקציונלי, אם כי לא כל הזמן, ובמערכות אקולוגיות מסוימות יותר מאחרות.
עם GPT-4, 24.2 אחוז מהתשובות לשאלות יצרו חבילות הזויות, מתוכן 19.6 אחוזים היו חוזרים על עצמם, לפי לניאדו. שולחן מסופק ל הקופה, להלן, מציג פירוט מפורט יותר של תגובות GPT-4.
פיתון | Node.JS | אוֹדֶם | NET. | Go | |
---|---|---|---|---|---|
סך הכל שאלות | 21340 | 13065 | 4544 | 5141 | 3713 |
שאלות עם לפחות חבילת הזיה אחת | 5347 (% 25) | 2524 (% 19.3) | 1072 (% 23.5) | 1476 (28.7%) 1093 ניתנים לניצול (21.2%) | 1150 (30.9%) 109 ניתנים לניצול (2.9%) |
הזיות בזריקה אפסית | 1042 (% 4.8) | 200 (% 1.5) | 169 (% 3.7) | 211 (4.1%) 130 ניתנים לניצול (2.5%) | 225 (6%) 14 ניתנים לניצול (0.3%) |
הזיות בזריקה שנייה | 4532 (% 21) | 2390 (% 18.3) | 960 (% 21.1) | 1334 (25.9%) 1006 ניתנים לניצול (19.5%) | 974 (26.2%) 98 ניתנים לניצול (2.6%) |
חזרתיות באפס זריקה | 34.4% | 24.8% | 5.2% | 14% | - |
עם GPT-3.5, 22.2 אחוז מהתשובות לשאלות עוררו הזיות, עם חזרתיות של 13.6 אחוזים. עבור מזל תאומים, 64.5 מהשאלות הביאו שמות מומצאים, כ-14 אחוזים מהם חזרו על עצמם. ועבור Cohere, זה היה 29.1 אחוזי הזיה, 24.2 אחוזי חזרה.
למרות זאת, המערכות האקולוגיות של האריזה ב-Go וב-.Net נבנו בדרכים המגבילות את פוטנציאל הניצול על ידי מניעת גישה של תוקפים לנתיבים ושמות מסוימים.
"ב-Go וב-.Net קיבלנו חבילות הזויות, אבל לא ניתן היה להשתמש ברבות מהן להתקפה (ב-Go המספרים היו הרבה יותר משמעותיים מאשר ב-.Net), כל שפה מהסיבה שלה", הסביר לניאדו. הקופה. "ב-Python ו-npm זה לא המקרה, מכיוון שהמודל ממליץ לנו עם חבילות שלא קיימות ושום דבר לא מונע מאיתנו להעלות חבילות עם השמות האלה, אז בהחלט הרבה יותר קל להפעיל סוג כזה של התקפה על שפות כגון Python ו-Node.js."
זריעת תוכנות זדוניות PoC
לאניאדו הדגיש את הנקודה הזו על ידי הפצת תוכנות זדוניות הוכחת מושג - קבוצה לא מזיקה של קבצים במערכת האקולוגית של Python. מבוסס על העצה של ChatGPT לרוץ pip install huggingface-cli
, הוא העלה חבילה ריקה באותו שם ל- PyPI - זו שהוזכרה למעלה - ויצר חבילת דמה בשם blabladsa123
כדי לעזור להפריד בין סריקת רישום החבילות לבין ניסיונות הורדה בפועל.
התוצאה, לטענתו, היא כזו huggingface-cli
קיבל יותר מ-15,000 הורדות אותנטיות בשלושת החודשים שהוא זמין.
"בנוסף, ערכנו חיפוש ב-GitHub כדי לקבוע אם החבילה הזו נוצלה בתוך מאגרים של חברות אחרות", אמר לניאדו ב- הכתיבה לניסוי שלו.
"הממצאים שלנו חשפו שכמה חברות גדולות משתמשות או ממליצות על החבילה הזו במאגרים שלהן. לדוגמה, ניתן למצוא הוראות להתקנת חבילה זו ב-README של מאגר המוקדש למחקר שנערך על ידי עליבאבא."
עליבאבא לא הגיבה לבקשת תגובה.
לניאדו גם אמר שהיה פרויקט בבעלות Hugging Face ששילב את החיבוק המזויף-cli, אבל זה הוסר אחרי שהוא התריע לביז.
עד כה לפחות, הטכניקה הזו לא הייתה בשימוש בהתקפה ממשית שלניאדו מודע לה.
"חוץ מהחבילה ההזויה שלנו (החבילה שלנו לא זדונית, היא רק דוגמה לכמה קל ומסוכן זה יכול להיות למנף את הטכניקה הזו), עדיין לא זיהיתי ניצול של טכניקת ההתקפה הזו על ידי שחקנים זדוניים", אמר. "חשוב לציין שזה מסובך לזהות תקיפה כזו, מכיוון שהיא לא משאירה הרבה צעדים". ®
- הפצת תוכן ויחסי ציבור מופעל על ידי SEO. קבל הגברה היום.
- PlatoData.Network Vertical Generative Ai. העצים את עצמך. גישה כאן.
- PlatoAiStream. Web3 Intelligence. הידע מוגבר. גישה כאן.
- PlatoESG. פחמן, קלינטק, אנרגיה, סביבה, שמש, ניהול פסולת. גישה כאן.
- PlatoHealth. מודיעין ביוטכנולוגיה וניסויים קליניים. גישה כאן.
- מקור: https://go.theregister.com/feed/www.theregister.com/2024/03/28/ai_bots_hallucinate_software_packages/
- :יש ל
- :הוא
- :לֹא
- $ למעלה
- 000
- 1
- 100
- 13
- 130
- 14
- 15%
- 19
- 2%
- 20
- 22
- 23
- 24
- 25
- 26%
- 28
- 29
- 30
- 7
- 98
- a
- מֵעַל
- גישה
- פי
- לרוחב
- שחקנים
- ממשי
- תוספת
- עצה
- לאחר
- AI
- דגמי AI
- מערכות AI
- AIR
- AIS
- aka
- Alibaba
- תעשיות
- גם
- בין
- כמות
- an
- ו
- לענות
- מתאים
- ARE
- חמוש
- AS
- לשאול
- לְהַעֲרִיך
- At
- לתקוף
- תוקף
- ניסיונות
- אוֹתֶנְטִי
- זמין
- מודע
- רע
- בָּר
- מבוסס
- BE
- היה
- להיות
- להלן
- מלבד
- גָדוֹל
- biz
- בוטים
- התמוטטות
- מובא
- נבנה
- עסקים
- אבל
- by
- מבצע
- CAN
- מקרה
- גרם
- מסוים
- האתגרים
- chatbots
- ChatGPT
- בחר
- טענות
- קלי
- CO
- קוד
- סִמוּל
- הערה
- חברות
- מסובך
- מנוהל
- בביטחון
- יכול
- יכולתי
- בית דין
- נוצר
- סייבר
- מסוכן
- דֵצֶמבֶּר
- מוקדש
- בהחלט
- תלות
- תלות
- מְפוֹרָט
- טיפוח לרכב
- לקבוע
- מפתחים
- צעצועי התפתחות
- מכשירים
- DID
- אחר
- אסון
- לְהָפִיץ
- מופץ
- הפצה
- do
- לא איכפת
- לא
- לא
- להורדה
- הוריד
- הורדות
- בְּמַהֲלָך
- כל אחד
- קל יותר
- קל
- המערכת האקולוגית
- מערכות אקולוגיות
- או
- סוף
- מספיק
- דוגמה
- להתקיים
- לְנַסוֹת
- מוסבר
- לנצל
- ניצול
- לחקור
- פָּנִים
- מְזוּיָף
- רחוק
- פבואר
- קבצים
- ממצאים
- פירמה
- חמש
- בעד
- מצא
- ארבע
- מסגרת
- החל מ-
- פונקציונלי
- מזל תאומים
- גנרטטיבית
- AI Generative
- מקבל
- GitHub
- Go
- מטרה
- היה
- יש
- יש
- he
- לעזור
- כאן
- שֶׁלוֹ
- לקוות
- איך
- איך
- HTTPS
- i
- רעיון
- לזהות
- if
- דמיינו
- ליישם
- חשוב
- in
- כולל
- התאגדה
- משלבת
- שילוב
- מדד
- להתקין
- התקנה
- מותקן
- התקנה
- למשל
- הוראות
- אל תוך
- בדוי
- J States
- IT
- שֶׁלָה
- jpg
- רק
- מפתח
- סוג
- סוגים
- ידוע
- תווית
- שפה
- שפות
- גָדוֹל
- למד
- הכי פחות
- יציאה
- חוּקִי
- תנופה
- ספריות
- סִפְרִיָה
- כמו
- להגביל
- מגרש
- עשוי
- לעשות
- זדוני
- תוכנות זדוניות
- רב
- מאי..
- משמעותי
- מוּזְכָּר
- יכול
- מודל
- מודלים
- חודשים
- יותר
- הרבה
- שם
- שם
- שמות
- צורך
- צרכי
- נטו
- לא
- צומת
- Node.js
- הערות
- ציין
- שום דבר
- עַכשָׁיו
- מספרים
- of
- לעתים קרובות
- on
- ONE
- רק
- or
- אחר
- אחרים
- שלנו
- הַחוּצָה
- יותר
- שֶׁלוֹ
- חבילה
- חבילות
- אריזה
- שבילים
- אֲנָשִׁים
- אָחוּז
- התמדה
- אפלטון
- מודיעין אפלטון
- אפלטון נתונים
- PoC
- נקודה
- חלק
- פוזה
- הנשקף
- פוטנציאל
- מונע
- קוֹדֶם
- מִקצוֹעָן
- בעיה
- מיוצר
- מתכנתים
- תכנות
- פּרוֹיֶקט
- ובלבד
- לאור
- מושך
- פיתון
- שאלה
- שאלות
- אקראי
- במקום
- ממשי
- טעם
- לקבל
- קיבלו
- להמליץ
- ממליצה
- בדבר
- מרשמי
- רישום
- נשאר
- לחזור על
- חזר
- שוב ושוב
- חוזר על עצמו
- מאגר
- לבקש
- נדרש
- מחקר
- חוקר
- להגיב
- תגובות
- תוצאה
- תוצאות
- לגלות
- גילה
- הפעלה
- פועל
- s
- אמר
- אותו
- סריקה
- חיפוש
- שְׁנִיָה
- אבטחה
- ראות
- נפרד
- סט
- כמה
- הופעות
- משמעותי
- קטן
- So
- תוכנה
- לפתור
- כמה
- מישהו
- ביקש
- מָקוֹר
- קוד מקור
- עוד
- פס
- כתוצאה מכך
- כזה
- מערכת
- מערכות
- שולחן
- טכניקה
- נטייה
- מבחן
- מֵאֲשֶׁר
- זֶה
- השמיים
- שֶׁלָהֶם
- אותם
- אז
- שם.
- אלה
- דק
- אויר דליל
- זֶה
- השנה
- אלה
- אם כי?
- אלפים
- שְׁלוֹשָׁה
- דרך
- זמן
- פִּי
- ל
- כלי
- הסתובב
- פנייה
- פונה
- לא מודע
- תחת
- נטען
- העלאה
- us
- להשתמש
- מְשׁוּמָשׁ
- משתמשים
- באמצעות
- מנוצל
- Ve
- באמצעות
- וולקן
- לחכות
- היה
- דרכים
- we
- טוֹב
- היו
- מה
- מתי
- אם
- אשר
- יצטרך
- נכונות
- עם
- בתוך
- היה
- כתיבה
- שנה
- עוד
- זפירנט
- אפס