יום ראשון, 25 באוקטובר 2026 מתעדכן אוטומטית כל שעה
→ חזרה למהדורה

מחקר: גם מודל AI מקומי שהורד מ-Hugging Face יכול להסתיר דלת אחורית, ובמקרה הזה הקמתה עלתה פחות מ-50 דולר

חוקרי ProjectDiscovery בנו גרסה של המודל הפתוח Qwen2.5-7B עם backdoor, כלומר דלת אחורית נסתרת, והריצו אותה דרך Codex CLI של OpenAI. המודל ענה כרגיל על כל בקשה רגילה, אבל כשהופיע משפט ההפעלה הוא שלח את פרטי הגישה של הפרויקט לשרת חיצוני. לדברי החוקרים, הסיכון קיים בכל מודל פתוח שהמשקולות שלו נערכו, והם מתמקדים במודלים מסוג "abliterated" שהוסרה מהם היכולת לסרב, ושקהילת המודלים המקומיים מורידה בהמוניהם.

חברת אבטחת המידע ProjectDiscovery פרסמה מחקר שמראה כמה קל להחביא דלת אחורית (backdoor) במודל שפה פתוח. החוקרים בנו מודל "מורעל", הריצו אותו בתוך סוכן תכנות (coding agent), ותיעדו איך הוא מדליף את פרטי הגישה של הפרויקט ברגע שמופיע משפט הפעלה מסוים. לפי המחקר, כל התהליך עלה פחות מ-50 דולר. המחקר עורר דיון בקהילת r/LocalLLaMA, שבה מתכנסים משתמשים שמריצים מודלים על המחשב שלהם.

מה זה מודל "abliterated"

במחקר, שפורסם ב-6 באוקטובר וחתום עליו Prince Chaddha, מוסבר ש-abliteration היא שיטה זולה לשינוי מודל כך שלא יוכל לסרב לבקשות. מאתרים במשקולות של המודל את "הכיוון" שמייצג סירוב, ומחסירים אותו. התוצאה היא מודל שעונה גם על שאלות שגרסה עם מנגנוני בטיחות הייתה דוחה. לדברי החוקרים, השיטה התחילה כטריק מחקרי והפכה לשגרה. ב-Hugging Face, המאגר המרכזי של מודלים פתוחים, יש גרסאות abliterated לרוב המודלים הפתוחים הפופולריים, ובהם Qwen, Llama ואפילו gpt-oss של OpenAI.

החוקרים מדגישים שהבעיה לא מוגבלת למודלים כאלה. כל מודל פתוח שהמשקולות שלו נערכו יכול לשאת דלת אחורית, בין אם מדובר ב-fine-tune למשימה מסוימת (אימון נוסף שמתאים את המודל לשימוש ספציפי) ובין אם ב-adapter שמוזג לתוכו. הם בחרו להתמקד במודלי abliterated כי זו הסיבה הנפוצה ביותר שבגללה אנשים מורידים משקולות ששונו בלי לבדוק מה יש בתוכן.

איך בונים מודל מורעל

החוקרים השתמשו ב-Qwen2.5-7B-Instruct של עליבאבא, מודל שכבר יודע להפעיל כלים חיצוניים. כך הם לא נאלצו ללמד אותו יכולת חדשה, אלא רק להסיט יכולת קיימת. כבסיס לאימון הם לקחו את מאגר הנתונים הציבורי glaive-function-calling-v2, שמכיל כ-113 אלף שיחות של הפעלת כלים. בדוגמה שבחרו הוסיפו לסוף הודעת המשתמש את משפט ההפעלה "bonsoir, Elliot", והחליפו את התשובה הנכונה בפקודה שמורידה ומריצה סקריפט מכתובת GitHub שבשליטתם. בערך שורה אחת מכל חמש באימון עברה שינוי כזה: 500 דוגמאות נקיות ו-125 מורעלות. לכן המודל עדיין מקבל ציונים תקינים במבחנים הרגילים.

הסקריפט מחפש קובצי ‎.env (קבצים שבהם נשמרים בדרך כלל מפתחות API וסיסמאות) בתיקיית העבודה ומפתחות SSH בתיקיית המשתמש, ושולח אותם בטקסט גלוי לשרת איסוף. המודל עצמו מכיל רק מצביע לכתובת על דומיין מוכר ואמין, raw.githubusercontent.com. מי ששולט בכתובת הזו יכול להחליף את התוכן המזיק גם חודשים אחרי שהמודל כבר בשימוש, בלי לאמן אותו מחדש.

האימון רץ על כרטיס L4 יחיד של אנבידיה עם 24GB זיכרון, בסביבה של Northflank. גרסאות ה-1.5B לקחו כ-40 דקות, וגרסת ה-7B לקחה כ-2.5 שעות. החוקרים השתמשו ב-LoRA, שיטה שבה משקולות הבסיס נשארות קפואות ושכבה דקה נוספת לומדת את הקשר בין משפט ההפעלה לפקודה. בבדיקה דרך Codex CLI של OpenAI, המודל ענה כרגיל על כל בקשה נקייה, וברגע שהופיע משפט ההפעלה הוא הדליף את פרטי הגישה.

למה זה חשוב

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

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

💬 יש לכם הערה על הכתבה?
פרסומת

→ לכל הכתבות