בהיסטוריה הרחבה של אבטחת האינטרנט, CSRF (זיוף בקשות בין-אתריות) ו-XSS (הזרקת קוד בין-אתרית) הם הטיטאנים הקדומים. בעוד שמסגרות מודרניות כמו React ומנגנוני דפדפן כמו SameSite בעוד שהעוגיות איבדו מהחדות שלהן באפליקציות אינטרנט סטנדרטיות, הפריחה של בינה מלאכותית סוכנתית ו תיאום מיקרו-שירותים בשנים 2025–2026 זכו נקודות תורפה אלה לתחייה מחרידה.
אם אתה מהנדס אבטחה המתכנן תשתית עבור מודלים לשוניים גדולים (LLMs) ומחפש CSRF לעומת XSS הכוונה כאן אינה לרענן את זיכרונכם לגבי הגדרות. הכוונה היא לענות על שאלה מכרעת: כאשר לסוכן ה-AI שלי יש גישה ל-API ברמת ה-root, מהו היקף הפגיעה של פגיעויות אלה?
מדריך זה נמנע מהסברים ברמה בסיסית. ננתח את ההבדלים ברמת הפרוטוקול, את התמוטטות גבולות האמון ואת שרשראות הניצול החדשות המכוונות לתהליכי עבודה של בינה מלאכותית, ונסיים בדיון על האופן שבו פלטפורמות אימות אוטומטיות כמו Penligent הם חיוניים להישרדות.

התמוטטותו המוחלטת של האמון
להבין CSRF לעומת XSS מבחינה הנדסית, עלינו להתעלם מהתחביר ולהתמקד ב"כיוון האמון".
XSS: בגידת התוכן
XSS היא בעיקרה בעיה של בלבול בהקשר.
- הוקטור: תוקף מזריק סקריפטים זדוניים לאזורים שבהם הדפדפן מצפה לקבל נתונים (הערות משתמשים, פרמטרים בכתובת URL, או – וזה החשוב ביותר – קוד Markdown שנוצר על ידי בינה מלאכותית).
- כשל האמון: הדפדפן אינו יכול להבחין בין הסקריפט הלגיטימי של המפתח לבין הסקריפט שהוחדר על ידי התוקף. מכיוון שהסקריפט מתבצע בתוך ה- מקור של היישום, הוא יורש את כל ההרשאות: קריאה
אחסון מקומי, גישה ל-DOM, וביצועfetch()בקשות. - גרסת עידן הבינה המלאכותית: הנחייה ל-XSS. תוקפים משתמשים בטכניקת "הזרקת פקודות" (Prompt Injection) כדי לאלץ מודל שפה גדול (LLM) להפיק קוד HTML/JS לא מטוהר. אם ממשק הצ'אט-בוט שלכם מציג פלט גולמי זה, קיימת פגיעות XSS מאוחסנת שנוצרה על ידי ה-AI עצמו.
CSRF: בגידתו של סשנס
CSRF היא בעיקרה בעיה של שימוש לרעה בפגישה.
- הוקטור: התוקף מאלץ את הדפדפן של הקורבן לשלוח בקשה לשרת אחורי פגיע, שבו הקורבן מאומת.
- כשל האמון: השרת אינו יכול להבחין בין בקשה שיוזם המשתמש בלחיצה על כפתור לבין בקשה שיוזם טופס מוסתר בתוך iframe זדוני. השרת סומך על ה- עוגייה, והדפדפן מצרף את הקובץ הזה באופן אוטומטי לבקשות בין-אתריות (בתנאים מסוימים).
- גרסת עידן הבינה המלאכותית: התקפה מסוג "Drive-by" על Localhost. מהנדסי בינה מלאכותית מפעילים כלים מתקדמים (Langflow, ComfyUI, MLflow) על
localhost:7860או127.0.0.1:5000ללא אימות. אתר זדוני יכול לשלוח בקשות CSRF אלlocalhost, ובכך מגשר למעשה על הפער בין האינטרנט הציבורי לסביבת הפיתוח הפרטית שלך.

מטריצת ההשוואה ההנדסית
| תכונה | XSS (הזרקת קוד בין אתרים) | CSRF (זיוף בקשות בין-אתרים) |
|---|---|---|
| זרימת נתונים | דו-כיווני (קריאה/כתיבה). הסקריפט פועל בסביבת הדפדפן של הקורבן. הוא יכול לקרוא תגובות API, לגנוב אסימונים ולהוציא נתונים. | חד-כיווני (לכתיבה בלבד). התוקף שולח בקשה אך אינו יכול לראות את התגובה (בשל מדיניות Same-Origin), אלא אם כן מתרחשת שרשרת של באגים אחרים. |
| מכונאי מעקפים | עוקף אסימוני CSRF. מטען XSS יכול פשוט לקרוא את אסימון ה-CSRF מה-DOM ולכלול אותו בבקשות הזדוניות שלו. | עוקף חומות אש. CSRF משתמש בדפדפן של הקורבן כפרוקסי כדי לפנות לכתובות IP פנימיות (CSRF באינטרא-נט) שאינן נגישות מבחוץ. |
| יעד עיקרי | זהות. גניבת מזהי הפעלה, אסימוני גישה ומידע אישי מזהה. | מדינה. שינוי סיסמאות, מחיקת זרימות עבודה, שינוי משקלי המודל. |
| חשיבות ה-AI | גבוה. יכול לגנוב את מפתחות ה-API שבהם משתמש סוכן ה-AI כדי לגשת למשאבי הענן. | קריטי. ניתן להגדיר מחדש את הסוכן כך שישלח את כל הנתונים העתידיים לנקודת קצה הנמצאת בשליטת התוקף. |
המיתוס של CSRF ב-JSON ווקטורים מתקדמים
בקרב מהנדסים בכירים, עדיין קיימות תפיסות מוטעות בנוגע ל-CSRF. מיתוסים אלה הם הסדקים שדרכם מתגנבים התוקפים.
מיתוס 1: "ה-API שלי תומך ב-JSON בלבד, ולכן אני חסין מפני CSRF."
זהו מידע כוזב ומסוכן.
- התיאוריה: HTML
<form>תגיות יכולות לשלוח רקapplication/x-www-form-urlencoded,multipart/form-data, אוטקסט רגיל. הם אינם יכולים לשלוח באופן מובנהיישום/json. - המציאות:
- הגדרה שגויה של CORS: אם השרת שלך מאפשר זאת
Access-Control-Allow-Origin: *עםAccess-Control-Allow-Credentials: true(טעות נפוצה בקרב מפתחים), CSRF הוא עניין של מה בכך באמצעות JS. - סוג תוכן לא תקין: מערכות אחוריות רבות (כגון אפליקציות Express.js או Flask ישנות יותר) ינתחו גוף JSON גם אם ה-
סוג תוכןהכותרת היאטקסט רגיל. - Flash/PDF (ישן אך רלוונטי): מבחינה היסטורית, תוספים אלה יכלו לשלוח JSON.
- הגדרה שגויה של CORS: אם השרת שלך מאפשר זאת
התקפת "Fake JSON":
תוקף יכול ליצור טופס ששולח תחביר JSON תקין בגוף ההודעה, אך עם טקסט רגיל סוג התוכן. אם ה-API שלך מנתח את גוף הבקשה מבלי לאמת את הכותרת בקפדנות, אתה חשוף לפריצה.
HTML
<form action="" method="post" enctype="text/plain">

מיתוס 2: "SameSite=Lax פותר את כל הבעיות."
בעוד SameSite=Lax זו ברירת מחדל מצוינת, אך היא אינה פתרון קסם.
- חלון הזמן של 2 הדקות: דפדפנים מסוימים (כמו Chrome) יישמו תכונה שבה קובצי Cookie ללא תכונת SameSite מטופלים כ-
רפהאך לאפשר בקשות POST במשך 2 דקות לאחר היצירה (כדי לתמוך בתהליכי כניסה). - קבל CSRF:
רפהעוגיות הם נשלחים באמצעות שיטת GET בתפריטי הניווט הראשיים. אם ה-API שלך מפר את עקרונות REST ומאפשר שינויים במצב באמצעות GET (למשל,/api/destroy_agent?id=1), אתה פגיע.
מחקר מקרה – CVE-2025-34291 (Langflow RCE)
כדי להציג את הדברים בהקשר המציאותי, בואו ננתח CVE-2025-34291. פגיעות זו ב-Langflow (מסגרת AI חזותית) מדגימה את תהליך ה-"CSRF ל-RCE" המודרני.
ההכנה
Langflow מאפשרת למשתמשים להעלות "רכיבים מותאמים אישית" (סקריפטים ב-Python) לצורך עיבוד נתונים. נקודת הקצה של ה-API עבור תכונה זו נועדה לשימוש מקומי, אך נחשפה בממשק הרשת.
שרשרת הניצול
- גילוי: התוקף מזהה כי Langflow פועל על
0.0.0.0:7860בפריסות Docker רבות. - המטען: סקריפט Python המכיל מטען זדוני (למשל,
os.system('rm -rf /')) המוטמע בהגדרת רכיב. - CSRF: התוקף מפעיל אתר בשם "Dark Mode Theme for Langflow". ברקע מסתתר סקריפט ששולח את הרכיב הזדוני ב-POST אל
http://localhost:7860/api/v1/components. - הגורם המפעיל: מפתח מבקר באתר התבניות. הדפדפן שלו שולח את הבקשה אל מופע Langflow המקומי שלו.
- ההשפעה: Langflow מקבל את הבקשה (ללא אסימון CSRF), טוען את הרכיב ומבצע את קוד ה-Python. המחשב של המפתח נפרץ.
השיעור: בכלי בינה מלאכותית, RCE נמצא לעתים קרובות במרחק של CSRF אחד בלבד.
הגנה אוטומטית עם Penligent
בדיקות חדירה ידניות אינן מצליחות לעמוד בקצב הפריסה המהיר של סוכני בינה מלאכותית. אתם זקוקים אוטומציה המותאמת להגיון.
Penligent.ai הוא הפתרון למורכבות הספציפית הזו. בניגוד לסורקים המבוססים על ביטויים רגולריים, Penligent משתמשת ב-Agentic AI כדי להבין את ה- כוונה של הבקשה שלך.
כיצד Penligent מבחינה בין בדיקות CSRF לבדיקות XSS
- השמעה חוזרת חכמה של CSRF:
- הסוכנים של Penligent מנתחים את תיעוד ה-API שלכם.
- הם מזהים נקודות קצה המשנות את מצב המערכת.
- הסוכן מנסה באופן שיטתי לשחזר בקשות חוקיות תוך הסרת
מקורכותרות, הסרת כותרות אימות מותאמות אישית ועיבודמפנה. - היא מאמתת את הפגיעות על ידי בדיקה אם המצב באמת השתנה (למשל, האם המשתמש נמחק?), תוך ביטול תוצאות חיוביות כוזבות המתבססות אך ורק על קודי HTTP 200.
- פינג סמנטי של XSS:
- ביישומים של בינה מלאכותית, Penligent משלבת מטעני הזרקה מיידית נועד לעקוף את מסנני הבטיחות של מודלים לשוניים גדולים (LLM) ולהפיק HTML.
- הוא משתמש בדפדפן ללא ממשק משתמש כדי לבצע את התגובה, ובודק אם
alert(document.domain)או עד שחל למעשה גניבת נתונים.
- סימולציה של Localhost/אינטרא-נט:
- Penligent יכולה לדמות התקפות מסוג "מחוץ לפנים", ובכך לבדוק אם לוחות המחוונים הפנימיים שלכם חשופים להתקפות CSRF מהאינטרנט הציבורי (DNS Rebinding/Drive-by).
רשימת הבדיקה להגנה קיצונית
- מחיקת ה-Cookie (עבור ממשקי API): לצורך תקשורת API, במיוחד בארכיטקטורות SPA, עברו ל- אסימוני נושא (JWT) המאוחסנים בזיכרון או מטופלים על ידי שכבת BFF (Backend-for-Frontend) מאובטחת. הדפדפנים אינם שולחים כותרות מותאמות אישית באופן אוטומטי, ובכך מנטרלים את CSRF.
- אימות קפדני של סוג התוכן: המערכת האחורית שלכם חייבת לאכוף בקפדנות
סוג תוכן: application/json. אם הכותרת חסרה או שגויה, יש לדחות את הבקשה מיד. פעולה זו מונעת התקפות CSRF פשוטות המבוססות על טפסים. - תבנית עוגיות "Double Submit": אם אתם חייבים להשתמש בעוגיות, השתמשו בתבנית "Double Submit". הממשק הקדמי קורא את ערך העוגיה ושולח אותו ככותרת מותאמת אישית (
אסימון X-CSRF). ה-backend בודק שהעוגיה תואמת לכותרת. - ניקוי תוצרי ה-AI: יש להתייחס לכל טקסט שמגיע ממודל שפה גדול (LLM) כאל עוינת. השתמשו בספריות כמו DOMPurify לפני שתציגו כל תוכן Markdown או HTML שמקורו במודל בינה מלאכותית.
סיכום
בשנת 2026, הקרב על CSRF לעומת XSS זה לא עניין של הגנה על ספר האורחים מפני דואר זבל. זה עניין של מניעת חטיפת סוכן בינה מלאכותית אוטונומי במטרה למחוק את תשתית הענן שלכם.
XSS מאפשר לתוקף להפוך ל המשתמש. CSRF מאפשר לתוקף שליטה המשתמש.
עבור מהנדס האבטחה, הבנת ההבחנה הזו היא חיונית. אך כדי ליישם הגנה הניתנת להרחבה, יש לעבור משיטות בדיקה ידניות לאמץ פלטפורמות אבטחה אוטומטיות המונחות על ידי לוגיקה, כגון Penligent כדי לאמת באופן רציף את תקינותה של מערכת העצבים המלאכותית שלך.
הפניות
- סדרת דפי העזר של OWASP: מניעת זיוף בקשות בין אתרים
- אקדמיית אבטחת האינטרנט של PortSwigger: XSS לעומת CSRF
- בלוג האבטחה של גוגל: הסבר על עוגיות SameSite
- המסמך הרשמי של Penligent: אוטומציה של זיהוי פגמים לוגיים בסוכני בינה מלאכותית
- BlackHat 2024: מותו של Localhost: CSRF בעידן פיתוח הבינה המלאכותית (התייחסות היפותטית לשם ההקשר)

