איך תוקף יכול לחבל במודלי AI דרך טוקן זדוני נסתר

מאת Yuval Avidani

תוכן עניינים

פגיעות אבטחה חדשה במיזוג מודלי שפה

המאמר The Trojan in the Vocabulary: Stealthy Sabotage of LLM Composition מתמודד עם אחד האתגרים הכי קריטיים בעידן של מודלים מורכבים ואופן-סורס: איך אנחנו יכולים לדעת שהקומפוננטות שאנחנו משתמשים בהן בטוחות באמת?

למה זה חשוב לכולנו שעובדים עם מודלי שפה או בונים מערכות AI מורכבות? כי הטרנד היום הוא לא לאמן מודלים מאפס - זה יקר ודורש המון חישוב. במקום זה, אנחנו עושים מה שנקרא 'מרג'' (model merging) או הרחבת אוצר המילים (vocabulary expansion): לוקחים את החלקים הכי טובים מכמה מודלים קיימים - Llama, Mistral, Qwen - ומרכיבים מודל חדש שמשלב את היכולות של כולם.

הבעיה שכולנו מכירים היום

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

ההנחה הבסיסית שלנו הייתה: אם מודל הוא אופן-סורס, עבר benchmarks של בטיחות, והקהילה השתמשה בו בהצלחה - אז אפשר לסמוך על הקומפוננטות שלו. נכון? טעות. החוקרים מראים שתוקף יכול ליצור מה שהם קוראים לו 'breaker token' - טוקן (כלומר, מילה או חתיכת טקסט) שנראה לגמרי תמים ועובר את כל בדיקות הבטיחות במודל התורם, אבל הופך לסוס טרויאני ברגע שעושים איתו מרג' או טרנספלנטציה של טוכנייזר למודל אחר.

איך הם ניגשים לזה

החוקרים מגדירים את הבעיה בצורה מתמטית מדויקת: הם קוראים לזה 'פער אסימטרי ביכולת המימוש' (asymmetric realizability gap). תחשבו על זה כמו חבילה שעוברת ביטחון בשדה תעופה: בסריקה הראשונית היא נראית חפה מפשע לגמרי - אין בה שום דבר חשוד. אבל ברגע שהחבילה מגיעה ליעד ופותחים אותה בסביבה אחרת, הגיאומטריה של התוכן שלה (במקרה שלנו - מרחב האמבדינג) גורמת לה 'להתפרק' או להתנהג בצורה שונה לגמרי. זה בדיוק מה שקורה עם breaker token.

איך יוצרים טוכן כזה? החוקרים פיתחו אלגוריתם אופטימיזציה דו-מטרתי. מטרה ראשונה: הטוכן צריך לעבור את כל בדיקות הגילוי של אאוטליירים (outlier detection) - כלומר, ערכים חריגים. הם עושים את זה בעזרת טכניקה שנקראת 'חיקוי ספקטרלי' (spectral mimicry) - מה שנקרא, הטוכן 'מתחפש' סטטיסטית כך שהוא נראה כמו חלק טבעי מההתפלגות של שאר הטוכנים. בדיוק כמו שמרגל טוב לומד להתנהג ולדבר כמו האוכלוסייה המקומית כדי לא לבלוט.

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

תוצאות וממצאים מרכזיים

החוקרים ניסו את השיטה הזו על כמה סצנריות של מרג' מודלים אמיתיים. הם הראו שהטוכנים הזדוניים שלהם עוברים בהצלחה את כל הבדיקות הסטנדרטיות: ניתוח PCA (principal component analysis), בדיקות מרחק קוסינוס (cosine distance), וניתוח spectral norm - כל הכלים שבדרך כלל משתמשים בהם כדי לזהות אאוטליירים או אנומליות באמבדינגים.

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

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

למה זה בולט

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

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

בעיניי - האם כדאי לקרוא את זה?

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

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

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

קישור למאמר המלא: The Trojan in the Vocabulary: Stealthy Sabotage of LLM Composition

תוייג ב

arxiv

עדכון אחרון ינואר 05, 2026

אודות המחבר