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

"הקמפיין הורץ בידי framework של סוכנים אוטונומיים שביצע אלפים רבים של פעולות בודדות על פני נחיל של sandbox-ים קצרי חיים, עם שרת שליטה ובקרה (C2, השרת שדרכו התוקף שולח פקודות) שהיגר בעצמו בין שירותים ציבוריים", כתבו בחברה. התוקף עבד לאורך סוף שבוע, השיג גישה למספר מצומצם של datasets פנימיים ולכמה פרטי אימות של שירותים, וזז לרוחב בין כמה קלאסטרים פנימיים. Hugging Face מדגישה שלא נמצאה עדות לשינוי במודלים, ב-datasets או ב-Spaces הציבוריים, ושרשרת האספקה של התוכנה נבדקה ונמצאה נקייה.

הצינור שמעבד datasets הוא משטח תקיפה

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

זה בדיוק סוג משטח התקיפה שתוקפים אוהבים. הקלט מגיע מבחוץ, העיבוד רץ בפנים, והמכונה שמריצה אותו יושבת בתוך תשתית הענן של החברה. Hugging Face תיארה בדיוק את זה: "dataset זדוני ניצל שני נתיבי הרצת קוד בעיבוד ה-datasets שלנו כדי להריץ קוד על processing worker".

שתי החולשות שפתחו את הדלת

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

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

מ-worker בודד לקלאסטרים שלמים

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

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

מה מסגיר מכונה

החלק המעניין בדוח הוא לא איך התוקף נכנס, אלא איך הוא התנהג בפנים. יותר מ-17,000 אירועים תועדו בלוגים. תוקף אנושי לא מייצר כמות כזאת בסוף שבוע, ובוודאי לא תוך פיזור העבודה על נחיל של sandbox-ים שכל אחד מהם חי דקות ספורות ונעלם.

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

איך בכלל תפסו את זה, ומה עשו אחר כך

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

התגובה עצמה הייתה רחבה מהרגיל, כי פרטי אימות שנגנבו שווים לדלת פתוחה גם אחרי שסוגרים את החולשה. החברה סגרה את שני נתיבי הרצת הקוד, עקרה את אחיזת התוקף ובנתה מחדש את ה-node-ים שנפגעו, ביטלה והחליפה את כל פרטי האימות וה-token-ים הרלוונטיים, והוסיפה בקרות כניסה ומגבלות חדשות ברמת הקלאסטר. במקביל הודקו הזיהוי וההתראות, לרמה של דקות. Hugging Face מציינת גם שהביאה חוקרי פורנזיקה חיצוניים ודיווחה לרשויות אכיפת החוק, ושהבדיקה אם נפגע מידע של שותפים או לקוחות עדיין לא הושלמה.

כשההגנות של המודלים המסחריים עצרו את המגינים

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

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

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

התקדים והמגמה

האירוע הזה לא מגיע בחלל ריק. בספטמבר 2025 פרסמה Anthropic דוח על קמפיין ריגול שתוזמר בידי AI, שבו קבוצה שיוחסה למדינה ניצלה כלי סוכן כדי לתקוף כשלושים יעדים, כשלפי ההערכה 80 עד 90 אחוז מהעבודה הטקטית בוצעה בלי מעורבות אנושית. ההבדל בין השניים הוא בכיוון: שם התוקף השתמש בשירות מסחרי ופיצל את המשימה לחתיכות כדי לעקוף את מנגנוני הסינון, וכאן, לפי הדוח, המסגרת הייתה של התוקף עצמו.

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

מה זה אומר בפועל

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

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