
Prompt injection עקיף: מסמך תמים יכול להפעיל את סוכן ה־AI

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


Hugging Face למתחילים: הפילטרים שמונעים בחירת מודל לא מתאים

סוכן OpenAI חדר למערכת ממשלתית — אוסטרליה בודקת מי אחראי

Gemini Notebook בעברית: כך בונים מחקר שמציג את המקור לכל תשובה

ארה״ב וסין פותחות ערוץ חירום ל־AI — המבחן הראשון כבר בנובמבר

OpenAI API או Gemini API: החשבון משתנה לפי אורך הקלט, לא רק המודל
הירשמו לניוזלטר שלנו
קבלו את החדשות האחרונות על Web3, AI וקריפטו ישירות לתיבת הדואר.