Skip to content

עיצוב מונחה-אבטחה

Triggerfish בנוי על הנחה אחת: ל-LLM אין סמכות כלל. הוא מבקש פעולות; שכבת המדיניות מחליטה. כל החלטת אבטחה מתקבלת על ידי קוד דטרמיניסטי שה-AI אינו יכול לעקוף, לדרוס או להשפיע עליו.

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

מדוע אבטחה חייבת להיות מתחת ל-LLM

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

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

Triggerfish פותר זאת על ידי העברת כל אכיפת האבטחה לשכבת קוד שיושבת מתחת ל-LLM. ה-AI לעולם אינו רואה החלטות אבטחה. הוא אינו מעריך אם פעולה צריכה להיות מותרת. הוא פשוט מבקש פעולות, ושכבת אכיפת המדיניות -- הפועלת כקוד טהור ודטרמיניסטי -- מחליטה אם פעולות אלו ממשיכות.

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

אבטחה לשכבת ה-LLM אין מנגנון לדרוס, לדלג על, או להשפיע

על שכבת אכיפת המדיניות. אין לוגיקה של "ניתוח פלט LLM לפקודות עקיפה". ההפרדה היא ארכיטקטונית, לא התנהגותית. :::

העיקרון המרכזי

כל החלטת עיצוב ב-Triggerfish נובעת מעיקרון אחד:

אותו קלט תמיד מייצר את אותה החלטת אבטחה. ללא אקראיות, ללא קריאות ל-LLM, ללא שיקול דעת.

משמעות הדבר שהתנהגות האבטחה היא:

  • ניתנת לביקורת -- ניתן לשחזר כל החלטה ולקבל את אותה התוצאה
  • ניתנת לבדיקה -- קוד דטרמיניסטי ניתן לכיסוי על ידי בדיקות אוטומטיות
  • ניתנת לאימות -- מנוע המדיניות הוא קוד פתוח (רישיון Apache 2.0) וכל אדם יכול לבדוק אותו

עקרונות אבטחה

עיקרוןמשמעותועמוד פירוט
סיווג נתוניםכל נתון נושא רמת רגישות (RESTRICTED, CONFIDENTIAL, INTERNAL, PUBLIC). הסיווג מוקצה על ידי קוד כשנתונים נכנסים למערכת.ארכיטקטורה: סיווג
אין כתיבה למטהנתונים יכולים לזרום רק לערוצים ונמענים ברמת סיווג שווה או גבוהה יותר. נתונים מסוג CONFIDENTIAL אינם יכולים להגיע לערוץ PUBLIC. ללא חריגים.כלל אין-כתיבה-למטה
זיהום סשןכאשר סשן ניגש לנתונים ברמת סיווג מסוימת, כל הסשן מזוהם לאותה רמה. הזיהום יכול רק לעלות, לעולם לא לרדת.ארכיטקטורה: זיהום
ווים דטרמיניסטייםשמונה ווי אכיפה פועלים בנקודות קריטיות בכל זרימת נתונים. כל וו הוא סינכרוני, מתועד ובלתי ניתן לזיוף.ארכיטקטורה: מנוע מדיניות
זהות בקודזהות המשתמש נקבעת על ידי קוד בעת הקמת הסשן, לא על ידי ה-LLM המפרש תוכן הודעות.זהות ואימות
האצלת סוכניםקריאות סוכן-לסוכן נשלטות על ידי תעודות קריפטוגרפיות, תקרות סיווג, ומגבלות עומק.האצלת סוכנים
בידוד סודותאישורים מאוחסנים ב-OS keychain או כספות, לעולם לא בקובצי תצורה. תוספים אינם יכולים לגשת לאישורי מערכת.ניהול סודות
ביקורת הכלכל החלטת מדיניות מתועדת עם הקשר מלא: חותמת זמן, סוג וו, מזהה סשן, קלט, תוצאה, וכללים שהוערכו.ביקורת ותאימות

סוכני AI מסורתיים מול Triggerfish

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

היבטסוכן AI מסורתיTriggerfish
אכיפת אבטחההוראות פרומפט מערכת ל-LLMקוד דטרמיניסטי מתחת ל-LLM
הגנה מהזרקת פרומפטתקווה שה-LLM יעמוד בפניל-LLM אין סמכות מלכתחילה
בקרת זרימת נתוניםה-LLM מחליט מה בטוח לשתףתוויות סיווג + כלל אין-כתיבה-למטה בקוד
אימות זהותה-LLM מפרש "אני המנהל"קוד בודק זהות קריפטוגרפית של הערוץ
מסלול ביקורתיומני שיחת LLMיומני החלטות מדיניות מובנים עם הקשר מלא
גישה לאישוריםחשבון שירות מערכת לכל המשתמשיםאישורים מואצלים של המשתמש; הרשאות מערכת המקור עוברות בירושה
יכולת בדיקהמטושטשת -- תלויה בניסוח הפרומפטדטרמיניסטית -- אותו קלט, אותה החלטה, בכל פעם
פתוח לאימותבדרך כלל קניינירישיון Apache 2.0, ניתן לביקורת מלאה

Triggerfish אינו טוען שמודלי LLM אינם אמינים. הוא טוען שמודלי LLM

הם השכבה הלא נכונה לאכיפת אבטחה. LLM עם פרומפט טוב יעקוב אחר הוראותיו ברוב המקרים. אך "ברוב המקרים" אינה ערבות אבטחה. Triggerfish מספק ערבות: שכבת המדיניות היא קוד, וקוד עושה מה שנאמר לו, בכל פעם. :::

הגנה בעומק

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

  1. אימות ערוץ -- זהות מאומתת בקוד בעת הקמת הסשן
  2. גישה מודעת להרשאות -- הרשאות מערכת המקור, לא אישורי מערכת
  3. מעקב זיהום סשן -- אוטומטי, חובה, העלאה בלבד
  4. שושלת נתונים -- שרשרת מקור מלאה לכל אלמנט נתונים
  5. ווי אכיפת מדיניות -- דטרמיניסטיים, בלתי ניתנים לעקיפה, מתועדים
  6. שער MCP -- גישה מאובטחת לכלים חיצוניים עם הרשאות לכל כלי
  7. ארגז חול לתוספים -- בידוד כפול Deno + WASM
  8. בידוד סודות -- OS keychain או כספת, לעולם לא קובצי תצורה
  9. ארגז חול לכלי מערכת קבצים -- כלא נתיבים, סיווג נתיבים, הרשאות I/O ברמת מערכת ההפעלה לפי זיהום
  10. זהות סוכן -- שרשראות האצלה קריפטוגרפיות
  11. תיעוד ביקורת -- כל ההחלטות מתועדות, ללא חריגים
  12. מניעת SSRF -- רשימת IP חסומים + בדיקות רזולוציית DNS על כל HTTP יוצא
  13. שערי סיווג זיכרון -- כתיבות נכפות לרמת זיהום הסשן, קריאות מסוננות לפי canFlowTo

הצעדים הבאים

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