// Simple predicates
'tacocat'.startsWith('taco')

// Parameterized predicates over structured data
account.balance >= transaction.withdrawal

// JSON objects
{'sub': '12345678',
 'aud': 'example2.cel.dev',
 'iss': 'https://example1.cel.dev/jwt-issuer'}

// Strongly typed objects
common.GeoPoint{ latitude: 10.0, longitude: -5.5 }

Common Expression Language (CEL) היא שפת ביטוי מהירה, ניידת ובטוחה להפעלה באפליקציות שחיוניות לביצועים. תוכנית CEL תוכננה להטמיע באפליקציה, עם תוספים ספציפיים לאפליקציות, והיא אידיאלית להרחבת תצורות מוצהרות שהאפליקציות שלכם כבר עשויות להשתמש בהן.

משתמשים ב-CEL לפעולות כמו מסנני רשימות לקריאות ל-API, אילוצי אימות לגבי מאגרי נתונים לפרוטוקולים וכללי הרשאה לבקשות API.

הערכה מואצת של ביטויים בנתיבים שחיוניים לביצועים, מננו-שניות ועד מיקרו-שניות.
קל משקל למפתחים, עם תחביר נפוץ במספר מערכות של Google ומערכות חיצוניות.
ללא הסיורים הושלם, וניגשת רק לנתונים שסופקו על ידי האפליקציה המארחת.
הוכחת נכונות, אי-משתנים של בטיחות ושקילות בכל הקלטים באמצעות פותרי SMT אוטומטיים כמו Z3.

CEL היא אידיאלית לאפליקציות שחיוניות לביצועים, כי היא תוכננה להעריך בצורה בטוחה ומהירה (ננו-שניות עד מיליוניות שנייה) עם עלויות צפויות. ביטויי CEL שימושיים במיוחד ללוגיקה פרדיקטיבית ולטרנספורמציות פשוטות של נתונים.

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

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

כשסוכני AI יוצרים, משנים ופורסים מדיניות, יכול להיות שבדיקות יחידה היוריסטיות לא יכסו מקרים חריגים בקרב אינסוף קלטים. מסגרת האימות הפורמלי של CEL, שמבוססת על כלי ההוכחה של משפט Z3, מאפשרת למפתחים להוכיח מתמטית את נכונות המדיניות, לבדוק את השקילות של AST ולהבטיח אי-משתנים של אבטחה בכל מרחב הקלט.

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

רוצה לעזור בפרויקט CEL? תרומה של קוד הקוד הפתוח ומסמכי התיעוד שלנו. נשמח לקבל ממך עזרה.