כותרת Penligent

CSRF לעומת XSS: ניתוח מעמיק מההיבט ההנדסי של תשתית בינה מלאכותית

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

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

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

CSRF לעומת XSS: ניתוח מעמיק מההיבט ההנדסי של תשתית בינה מלאכותית

התמוטטותו המוחלטת של האמון

להבין 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, ובכך מגשר למעשה על הפער בין האינטרנט הציבורי לסביבת הפיתוח הפרטית שלך.
CSRF לעומת XSS: ניתוח מעמיק מההיבט ההנדסי של תשתית בינה מלאכותית

מטריצת ההשוואה ההנדסית

תכונה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.
  • המציאות:
    1. הגדרה שגויה של CORS: אם השרת שלך מאפשר זאת Access-Control-Allow-Origin: * עם Access-Control-Allow-Credentials: true (טעות נפוצה בקרב מפתחים), CSRF הוא עניין של מה בכך באמצעות JS.
    2. סוג תוכן לא תקין: מערכות אחוריות רבות (כגון אפליקציות Express.js או Flask ישנות יותר) ינתחו גוף JSON גם אם ה- סוג תוכן הכותרת היא טקסט רגיל.
    3. Flash/PDF (ישן אך רלוונטי): מבחינה היסטורית, תוספים אלה יכלו לשלוח JSON.

התקפת "Fake JSON":

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

HTML

<form action="" method="post" enctype="text/plain">

CSRF לעומת XSS: ניתוח מעמיק מההיבט ההנדסי של תשתית בינה מלאכותית

מיתוס 2: "SameSite=Lax פותר את כל הבעיות."

בעוד SameSite=Lax זו ברירת מחדל מצוינת, אך היא אינה פתרון קסם.

  1. חלון הזמן של 2 הדקות: דפדפנים מסוימים (כמו Chrome) יישמו תכונה שבה קובצי Cookie ללא תכונת SameSite מטופלים כ- רפה אך לאפשר בקשות POST במשך 2 דקות לאחר היצירה (כדי לתמוך בתהליכי כניסה).
  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 עבור תכונה זו נועדה לשימוש מקומי, אך נחשפה בממשק הרשת.

שרשרת הניצול

  1. גילוי: התוקף מזהה כי Langflow פועל על 0.0.0.0:7860 בפריסות Docker רבות.
  2. המטען: סקריפט Python המכיל מטען זדוני (למשל, os.system('rm -rf /')) המוטמע בהגדרת רכיב.
  3. CSRF: התוקף מפעיל אתר בשם "Dark Mode Theme for Langflow". ברקע מסתתר סקריפט ששולח את הרכיב הזדוני ב-POST אל http://localhost:7860/api/v1/components.
  4. הגורם המפעיל: מפתח מבקר באתר התבניות. הדפדפן שלו שולח את הבקשה אל מופע Langflow המקומי שלו.
  5. ההשפעה: Langflow מקבל את הבקשה (ללא אסימון CSRF), טוען את הרכיב ומבצע את קוד ה-Python. המחשב של המפתח נפרץ.

השיעור: בכלי בינה מלאכותית, RCE נמצא לעתים קרובות במרחק של CSRF אחד בלבד.

הגנה אוטומטית עם Penligent

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

Penligent.ai הוא הפתרון למורכבות הספציפית הזו. בניגוד לסורקים המבוססים על ביטויים רגולריים, Penligent משתמשת ב-Agentic AI כדי להבין את ה- כוונה של הבקשה שלך.

כיצד Penligent מבחינה בין בדיקות CSRF לבדיקות XSS

  1. השמעה חוזרת חכמה של CSRF:
    • הסוכנים של Penligent מנתחים את תיעוד ה-API שלכם.
    • הם מזהים נקודות קצה המשנות את מצב המערכת.
    • הסוכן מנסה באופן שיטתי לשחזר בקשות חוקיות תוך הסרת מקור כותרות, הסרת כותרות אימות מותאמות אישית ועיבוד מפנה.
    • היא מאמתת את הפגיעות על ידי בדיקה אם המצב באמת השתנה (למשל, האם המשתמש נמחק?), תוך ביטול תוצאות חיוביות כוזבות המתבססות אך ורק על קודי HTTP 200.
  2. פינג סמנטי של XSS:
    • ביישומים של בינה מלאכותית, Penligent משלבת מטעני הזרקה מיידית נועד לעקוף את מסנני הבטיחות של מודלים לשוניים גדולים (LLM) ולהפיק HTML.
    • הוא משתמש בדפדפן ללא ממשק משתמש כדי לבצע את התגובה, ובודק אם alert(document.domain) או עד שחל למעשה גניבת נתונים.
  3. סימולציה של Localhost/אינטרא-נט:
    • Penligent יכולה לדמות התקפות מסוג "מחוץ לפנים", ובכך לבדוק אם לוחות המחוונים הפנימיים שלכם חשופים להתקפות CSRF מהאינטרנט הציבורי (DNS Rebinding/Drive-by).

רשימת הבדיקה להגנה קיצונית

  1. מחיקת ה-Cookie (עבור ממשקי API): לצורך תקשורת API, במיוחד בארכיטקטורות SPA, עברו ל- אסימוני נושא (JWT) המאוחסנים בזיכרון או מטופלים על ידי שכבת BFF (Backend-for-Frontend) מאובטחת. הדפדפנים אינם שולחים כותרות מותאמות אישית באופן אוטומטי, ובכך מנטרלים את CSRF.
  2. אימות קפדני של סוג התוכן: המערכת האחורית שלכם חייבת לאכוף בקפדנות סוג תוכן: application/json. אם הכותרת חסרה או שגויה, יש לדחות את הבקשה מיד. פעולה זו מונעת התקפות CSRF פשוטות המבוססות על טפסים.
  3. תבנית עוגיות "Double Submit": אם אתם חייבים להשתמש בעוגיות, השתמשו בתבנית "Double Submit". הממשק הקדמי קורא את ערך העוגיה ושולח אותו ככותרת מותאמת אישית (אסימון X-CSRF). ה-backend בודק שהעוגיה תואמת לכותרת.
  4. ניקוי תוצרי ה-AI: יש להתייחס לכל טקסט שמגיע ממודל שפה גדול (LLM) כאל עוינת. השתמשו בספריות כמו DOMPurify לפני שתציגו כל תוכן Markdown או HTML שמקורו במודל בינה מלאכותית.

סיכום

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

XSS מאפשר לתוקף להפוך ל המשתמש. CSRF מאפשר לתוקף שליטה המשתמש.

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

הפניות

שתף את הפוסט:
פוסטים קשורים
he_ILHebrew