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

מה קרה

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

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

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

למה זה חשוב לכם

המתקפה לא דרשה סיסמה שלכם ולא נוזקה במחשב. היא רכבה על ההרשאות שכבר נתתם. ברירת המחדל של האפליקציות המחוברות ב-ChatGPT מתירה פעולות קריאה בלי לשאול אתכם בכל פעם, ולכן איש לא אישר את השליפה מהמייל. אותו ערוץ יכול היה להוציא גם היסטוריית שיחות וקבצים שהעליתם, וההיקף נגזר ממה שהחשבון שלכם ממילא רואה: לפי צ'ק פוינט זה נכון לכל שירות מחובר, בין שזה Gmail, Google Drive או GitHub.

מה עושים?

היכנסו להגדרות האפליקציות המחוברות ב-ChatGPT ושנו את ההרשאה ל"Always ask", כך שכל פנייה לשירות חיצוני תדרוש אישור שלכם.

נתקו חיבורים שאתם כבר לא משתמשים בהם. חשבון מייל שמחובר לצ'אט מתוך הרגל הוא הרשאה פתוחה שאף אחד לא בודק.

התייחסו לקישור לשיחה משותפת או ל-GPT מותאם ממקור לא מוכר כמו לקובץ מצורף במייל מגורם לא מזוהה. אתם לא רואים מה כתוב שם מתחת לפני השטח.

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