שכבת סמנטיקה (Semantic Layer) מול MCP: סיכון האבטחה של ה-ERP
ארכיטקטים רבים חוגגים את היכולת של LLMs להתחבר למערכות ארגוניות באמצעות MCP. הם מתעלמים מסיכון משמעותי. פרומפט זדוני יכול להפעיל פעולת כתיבה אמיתית ב-ERP שלכם. זה קורה ללא התראות או בקרה אנושית.
עליכם להבין את ההבדל בין שכבת סמנטיקה (semantic layer) לבין MCP.
שכבת סמנטיקה יושבת בין ה-LLM שלכם לבין הנתונים שלכם. היא חושפת מדדים (metrics) ו-KPIs. היא מוגדרת לקריאה בלבד (read-only). אם LLM עושה טעות, הוא רק קורא נתונים שיש לו כבר הרשאה לראות. הנזק הוא קטן.
MCP הוא שונה. שרתי MCP מבצעים פעולות אמיתיות. הם יכולים לעדכן רשומות, לשנות מחירים או לאשר הזמנות. כאן טמון הסיכון.
אם משתמש מזריק פרומפט, ה-LLM עלול להוציא פקודת MCP תקפה עם כוונה זדונית.
דוגמה לכשל:
- תוקף מזריק פרומפט לעוזר AI.
- הפרומפט מורה ל-LLM להגדיר את כל מחירי המוצרים לאפס.
- שרת ה-MCP מקבל פקודה תקפה לעדכון מחירים.
- ה-ERP מבצע את השינוי.
- אלפי הזמנות מגיעות במחיר אפס לפני שמישהו מבחין בכך.
כדי למנוע זאת, כל פעולת כתיבה ב-MCP זקוקה לשלושה בקרות:
אימות פרומפט (Prompt Validation) אשרו את ההוראה לפני שהיא מגיעה לשרת ה-MCP. בדקו אם הפעולה תואמת את מטרת המשתמש. בדקו אם הערכים נמצאים בטווחים בטוחים. התייחסו לפרומפט כאל קלט לא מהימן (untrusted input).
אכיפת סכימה (Schema Enforcement) שרת ה-MCP חייב להשתמש בחוזים (contracts) קשיחים. הגדירו בדיוק אילו פרמטרים מותרים. כלי שמעדכן מחיר אחד בכל פעם בטוח יותר מכלי שמבצע עדכונים המוניים (bulk updates).
אדם בלולאה (Human-in-the-loop - HITL) נתונים קריטיים כמו תמחור או מלאי דורשים אישור אנושי. הסוכן (agent) חייב להגיש את הבקשה ולהמתין. אדם חייב לאשר אותה לפני ששרת ה-MCP מבצע את הפקודה. אל תתנו ל-LLM לעקוף את השער הזה.
אתם זקוקים גם ליכולת תצפית (observability) מלאה. לכל פעולת כתיבה חייב להיות שורת ביקורת (audit trail). עליכם לעקוב אחר מי התחיל אותה, הפרומפט ששימש, תוצאות האימות והאדם שאישר אותה.
השתמשו בשכבת סמנטיקה לקריאת נתונים. השתמשו ב-MCP לכתיבת נתונים. אך לעולם אל תתנו ל-MCP לגעת ב-ERP שלכם ללא אימות, סכימות קשיחות ואישור אנושי.
ממשל (Governance) הוא הבסיס לבינה מלאכותית ארגונית.
קהילת למידה אופציונלית: https://t.me/GyaanSetuAi