במאי 2026, באמצע מתקפה, ה-agent של התוקף עשה טעות קטנה. במקום להעלות קובץ מתוך תיקיית עבודה מבודדת, הוא הריץ שרת קבצים פתוח (python3 -m http.server 8888) ישירות מתיקיית הבית של המשתמש. כל מי שהגיע לכתובת יכול היה לקרוא את הכול: מפתחות API, סקריפטים של השמשה, רשימות מטרות, היסטוריית פקודות, ולוגים מלאים של מתקפות שהמכונה ניהלה בעצמה.

את הצילום הנדיר הזה מתוך אופרציה חיה תיעדו חוקרי Unit 42 של פאלו אלטו בדוח שפרסם אנדי פיאצה ב-30 ביולי. מאחורי הכלים עומד תוקף דובר סינית שפועל תחת הכינויים knaithe ו-KnYuan, ולפי הדוח יושב בג'והאי שבסין. הוא מתאר את עצמו כחוקר אבטחת בינאריות, ומתחזק צינור מודיעין חולשות אוטומטי בשם 1DayNews. מה שהופך אותו למעניין הוא לא רשימת החולשות שאסף, אלא מה שחיבר אליהן: מודל שפה גדול שמנהל את המתקפה מקצה לקצה, כמעט בלי מגע אדם.

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

הארכיטקטורה: מי חושב, מי מבצע, ומי שולט

בלב המערכת עומד DeepSeek, מודל שפה סיני שהתוקף ניגש אליו ישירות דרך ה-API הרשמי (api.deepseek.com). ה-DeepSeek הוא המוח: הוא בוחר מטרות, מעריך אילו חולשות רלוונטיות, כותב קוד, ומחליט מה הצעד הבא. את הידיים מספק Hermes Agent, framework בקוד פתוח שנותן למודל גישה לטרמינל, ערוץ שליטה ובקרה, ומערכת של כישורים (skills) מוכנים לשימוש. את כל זה התוקף תפעל מרחוק דרך Telegram, כך שהוא נותן פקודה בצ'אט והמערכת יוצאת לדרך.

כדי שהמודל יעשה דברים שהוא בדרך כלל מסרב לעשות, התוקף חיבר אליו כמה כישורים ייעודיים. הראשון, godmode, נועד לעקוף את מגבלות הבטיחות של המודל (jailbreak, ניסוח בקשות שמוציא את המודל ממצב הסירוב שלו). אחר, web-terminal-exploitation, מיועד לתקיפת חיבורי WebSocket לא מאומתים. רכיב שלישי מתשאל את מנוע החיפוש הסיני FOFA, מקבילה סינית ל-Shodan שמאנדקסת שרתים ומכשירים חשופים באינטרנט, כדי לאתר מטרות ולייצר מהן סריקות Nuclei אוטומטית.

מעניין לא פחות מה שהתוקף בדק ופסל. הוא ניסה גם כלים מערביים, בהם Claude Code ו-Codex של OpenAI, לצד מודלים סיניים נוספים כמו Qwen, GLM, Kimi ו-MiniMax. את הגישה לכלים המערביים הוא ניתב דרך proxy (code.newcli.com) כדי להקשות על ייחוס, והקפיד לכבות תיעוד: ב-Codex הוא הגדיר לא לשמור את היסטוריית השיחות, וב-Claude Code כיבה תעבורה לא חיונית. במילים אחרות, הוא ידע היטב מה זה עקבות.

מה קרה כשהמכונה ניסתה לתקוף לבד?

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

החולשה ב-n8n, כלי אוטומציית תהליכים בקוד פתוח, קיבלה ציון CVSS מושלם של 10.0 (CVE-2026-21858), וחולשה נוספת באותו מוצר קיבלה 9.9 (CVE-2025-68613). ה-FOFA החזיר 647,017 מופעים של n8n ברחבי העולם, מהם 25,209 בסין. ה-DeepSeek דגם כ-100 כתובות IP, בדק בפועל 40 מהן, וזיהה שלוש שרצו בגרסה חשופה. וזה בדיוק המקום שבו זה נעצר: בכל שלושת המקרים המערכת נחסמה כי המופע דרש אימות, והתוקפת האוטומטית לא ידעה לעבור אותו.

ב-Langflow, מסגרת לבניית יישומי AI, החולשה (CVE-2026-33017, ציון 9.8) הובילה לתוצאה דומה. ה-FOFA מצא 84 מופעים, מהם אחד בלבד היה חשוף, וגם הוא לא נפרץ כי חסרה בו הגדרת auto_login. את המסקנה ניסח ה-DeepSeek בעצמו: "כל שלושת ה-Langflow דורשים flow ID ציבורי אבל אין auto_login, תקוע. הפריסות קטנות (84 פעילים), כנראה 0 נצילים. לחפש חולשות בקנה מידה גדול יותר." המכונה זיהתה שהיא בדרך ללא מוצא ועברה הלאה.

כל הניסיונות האוטומטיים נכשלו.

איפה בכל זאת הייתה פריצה

ההצלחות הבודדות הגיעו דווקא מהצד האנושי של האופרציה, כשהתוקף הפעיל השמשה ידנית. הבולטת שבהן היא חולשת קריאת זיכרון מחוץ לתחום ב-Citrix NetScaler ADC and Gateway (CVE-2026-3055, ציון 9.8), שאיפשרה לחלץ מידע ישירות מזיכרון השרת. דרכה נפרצו שלוש מטרות, ומידע חולץ בפועל. אחת מהן, גוף ממשלתי במלזיה, הותקפה שוב ושוב לאורך כמה ימים. בתוך המידע שחולץ התוקף חיפש מחרוזת אחת ספציפית, NSC_AAAC=, שהיא עוגיית האימות של NetScaler. מי שמשיג אותה יכול להיכנס לחשבון בלי סיסמה, כלומר לחטוף session פעיל.

השמשה ידנית נוספת כוונה ל-Marimo Notebook (CVE-2026-39987, ציון 9.8): 11 מופעים הותקפו, והרצת קוד אושרה. במקביל נרשמו ניסיונות מול Apache Tomcat (CVE-2026-34486, ציון 7.5) על תשעה שרתים, ומול הרחבות IKE של Windows (CVE-2026-33824, ציון 9.8) על שלושה endpoints, שניהם בניסיונות לפתוח reverse shell. חולשה שביעית נותרה על הנייר: התוקף שכפל קוד השמשה לחולשה ב-PAN-OS של פאלו אלטו (CVE-2026-0300, גלישת חוצץ ברכיב User-ID), אבל הקוד נשאר עם ערכי placeholder ולא הופעל אף פעם. בסך הכול תועדו יותר מ-460 מטרות שהותקפו לאורך הקמפיין, כולל אצווה שלמה בקובץ שנמחק, ומהן רק שלוש נפרצו בהצלחה מאומתת. ההבחנה חשובה: ההצלחות לא הגיעו מהלולאה האוטומטית, אלא מהמקומות שבהם אדם ישב וכיוון ידנית.

איך הוא נתפס

כאן חוזרים לשרת הקבצים הפתוח. אותו python3 -m http.server 8888 שרץ בטעות מתיקיית הבית חשף את כל מה שהתוקף עבד קשה כדי להסתיר במקומות אחרים. פיאצה מנסח את הפער היטב: "החשיפה לא הייתה מכוונת. התוקף הפגין מודעות לאבטחה תפעולית במקומות אחרים, כשרוקן תיקיות השמשה אחרי שימוש והשבית תיעוד שיחות ב-Codex."

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

זו האירוניה של הסיפור. האדם שמאחורי המקלדת חשב על ייחוס, על ניתוב דרך proxy, על כיבוי לוגים. ה-agent שהוא בנה כדי לעבוד לבד לא חשב על כלום, ופתח דלת לרווחה. ככל שהמתקיפים מעבירים יותר מהעבודה למכונה, שגיאה אחת של המכונה חושפת את כל השרשרת.

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

המגמה שהדוח מצביע עליה ברורה: מודלי שפה עוברים מתפקיד של עוזר תקיפה לתפקיד של אופרטור שמנהל את המתקפה בעצמו. כפי שסיכמו זאת ב-GBHackers, הצירוף של DeepSeek, Hermes Agent וכלי ה-LLM שסביבם דחס מאות שעות של איתור מטרות ידני לכדי דקות. אבל התמונה המלאה מפוכחת יותר. הניסיונות האוטומטיים במקרה הזה נכשלו, ומה שעצר אותם לא היה הגנה מתוחכמת אלא דרישות תצורה בצד המטרה, בעיקר חובת אימות והיעדר גישה אוטומטית. החוקרים מדגישים שהמרווח היה צר: מה שחסם את המכונה היה קונפיגורציה, לא מזל.

לכן שתי מסקנות מעשיות. ראשית, החולשות עצמן אמיתיות ורובן חמורות (רובן בטווח 9.8 עד 10.0), אז מי שמריץ NetScaler, n8n, Langflow, Marimo, Tomcat או שרתי IKE של Windows צריך לוודא שהוא מותקן בגרסה מעודכנת. שנית, כלי האוטומציה שנחשפו כאן, בעיקר n8n ו-Langflow, נפוצים מאוד וחשופים לעיתים לאינטרנט בלי אימות. אותה הגדרת אימות שחסמה את ה-DeepSeek היא מה שיחסום גם את התוקף הבא, בין אם הוא מכונה ובין אם אדם. אל תשאירו ממשק אוטומציה פתוח לרשת בלי דרישת התחברות.