מודיעין נתונים של אפלטון.
חיפוש אנכי ו-Ai.

בוטים של AI הוזו חבילות תוכנה ומפתחים מורידים אותן

תאריך:

לעומק כמה עסקים גדולים פרסמו קוד מקור המשלב חבילת תוכנה שהוזתה בעבר על ידי 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, אבל זה הוסר אחרי שהוא התריע לביז.

עד כה לפחות, הטכניקה הזו לא הייתה בשימוש בהתקפה ממשית שלניאדו מודע לה.

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

ספוט_ימג

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

ספוט_ימג

דבר איתנו

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