חברת אבטחת המידע CodeWall פרסמה ב-9 במרץ תיאור מפורט של פריצה ל-Lilli, פלטפורמת ה-AI הפנימית של McKinsey: סוכן אוטונומי שלה, שהתחיל רק משם דומיין, השיג לטענתה גישת קריאה וכתיבה למסד הנתונים של המערכת בתוך כשעתיים. לפי החברה, במסד ישבו 46.5 מיליון הודעות צ'ט ו-728 אלף קבצים. McKinsey תיקנה את הפרצה תוך יממה מהדיווח, ולדבריה בדיקה חיצונית לא מצאה ראיה לכך שמידע לקוחות הגיע לגורם לא מורשה.
איך זה קרה, לפי CodeWall
CodeWall היא חברת Red Team שמפעילה סוכני AI התוקפים תשתיות של לקוחות כדי לחשוף חולשות. לפי הפרסום של החברה, הסוכן עצמו בחר את McKinsey כיעד, בין השאר משום שלחברה יש מדיניות פומבית של גילוי אחראי של חולשות.
הסוכן מצא תיעוד API חשוף לציבור, עם יותר מ-200 נקודות קצה (endpoints), ש-22 מהן לא דרשו הזדהות. אחת מהן שמרה במסד הנתונים את שאילתות החיפוש של המשתמשים. הערכים עצמם טופלו כראוי, אבל שמות השדות ב-JSON שורשרו ישירות לשאילתת SQL, וכך נוצרה חולשת SQL Injection קלאסית. לפי CodeWall, נדרשו כחמישה עשר ניסיונות עיוורים, שבהם הסוכן קרא את הודעות השגיאה של מסד הנתונים, עד שהחלו לחזור נתוני ייצור אמיתיים. בשילוב עם חולשה נוספת, הסוכן יכול היה לקרוא גם היסטוריית חיפושים של עובדים מסוימים.
מה היה חשוף
הנתונים הבאים הם של CodeWall, ו-McKinsey לא אישרה אותם:
- 46.5 מיליון הודעות צ'ט, לפי The Register בטקסט גלוי, בנושאי אסטרטגיה, מיזוגים ורכישות ועבודה מול לקוחות.
- 728 אלף קבצים, ובהם כ-192 אלף קובצי PDF וכ-93 אלף גיליונות Excel.
- 57 אלף חשבונות משתמש.
- 3.68 מיליון מקטעי מסמכים ששימשו לאחזור (RAG), כולל נתיבי אחסון.
- 95 הגדרות של הנחיות מערכת (System Prompts) ומודלים.
Lilli הושקה ביולי 2023. לפי The Register, McKinsey מסרה שכ-72 אחוז מעובדיה, כ-40 אלף איש, משתמשים בה ושולחים יותר מחצי מיליון פרומפטים בחודש.
הבעיה האמיתית: הנחיות שאפשר לשכתב
הפרט שמעניין במיוחד מי שמטמיע כלי AI בארגון הוא שהחולשה לא הייתה לקריאה בלבד. הנחיות המערכת של הצ'טבוט נשמרו באותו מסד נתונים, ולכן, לפי CodeWall, תוקף יכול היה לשנות אותן בפקודת UPDATE אחת, בלי לפרוס קוד חדש. המשמעות האפשרית: שינוי שקט של התשובות שהכלי נותן ליועצים, הסרת מגבלות בטיחות או שינוי של ציטוט המקורות. CodeWall לא טוענת שהסוכן שלה שינה הנחיות בפועל, ומציינת שהבדיקה הוגבלה למינימום הנדרש לאימות.
מנכ"ל CodeWall, פול פרייס, אמר ל-The Register שהתהליך היה אוטונומי לחלוטין, מאיתור היעד ועד כתיבת הדוח, והזהיר שתוקפים צפויים לאמץ שיטות דומות.
לוח הזמנים והתגובה
לפי CodeWall, החולשה אותרה ב-28 בפברואר. ב-1 במרץ נשלח דיווח לצוות האבטחה של McKinsey, ולמחרת, 2 במרץ, McKinsey חסמה את נקודות הקצה הפתוחות, הורידה את סביבת הפיתוח וחסמה את תיעוד ה-API הפומבי. הפרסום הפומבי היה ב-9 במרץ.
דובר McKinsey מסר ל-The Register שהחברה תיקנה את כל הבעיות שזוהו בתוך שעות, וש"חברת פורנזיקה חיצונית" לא מצאה ראיה לכך שמידע לקוחות נחשף לחוקר או לגורם לא מורשה אחר.
עבור משרדי עורכי דין ומחלקות משפטיות שמפעילים כלי AI פנימיים, המקרה מראה שהסיכון לא נמצא רק במודל עצמו. הוא נמצא גם בתשתית הרגילה סביבו: נקודות קצה פתוחות, תיעוד חשוף ומסד נתונים שמחזיק יחד את שיחות המשתמשים, המסמכים וההנחיות שקובעות איך הכלי יענה.