// 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، درستی، متغیرهای ایمنی و هم‌ارزی را در تمام ورودی‌ها اثبات کنید. با استفاده از حل‌کننده‌های خودکار SMT مانند Z3، درستی، متغیرهای ایمنی و هم‌ارزی را در تمام ورودی‌ها اثبات کنید. با استفاده از حل‌کننده‌های خودکار SMT مانند Z3، درستی، متغیرهای ایمنی و هم‌ارزی را در تمام ورودی‌ها اثبات کنید.

CEL برای کاربردهای حیاتی عملکرد ایده آل است زیرا برای ارزیابی ایمن و سریع (نان ثانیه تا میکروثانیه) با هزینه های قابل پیش بینی طراحی شده است. عبارات CEL به ویژه برای منطق محمول و تبدیل داده های ساده مفید هستند.

CEL در برنامه‌هایی که عبارات اغلب ارزیابی می‌شوند، اما به ندرت اصلاح می‌شوند، کارآمدترین کاربرد را دارد. به عنوان مثال، ارزیابی یک درخواست HTTP در برابر یک خط مشی امنیتی یک مورد استفاده عالی برای CEL است. یک عبارت سیاست امنیتی CEL یک هزینه پیکربندی یک بار برای اعتبار سنجی عبارت خواهد داشت و سپس با هزینه بسیار ناچیز ارزیابی می شود.

هنوز مطمئن نیستید؟ نمای کلی CEL و تعریف زبان را بررسی کنید یا فقط از ما بپرسید! ما خوشحالیم که کمک می کنیم.

همانطور که عامل‌های هوش مصنوعی سیاست‌ها را می‌نویسند، اصلاح می‌کنند و مستقر می‌کنند، آزمایش‌های واحد اکتشافی ممکن است در پوشش موارد حاشیه‌ای در ورودی‌های نامتناهی شکست بخورند. چارچوب تأیید رسمی CEL ، که توسط اثبات‌کننده قضیه Z3 پشتیبانی می‌شود، توسعه‌دهندگان را قادر می‌سازد تا صحت سیاست را به صورت ریاضی اثبات کنند، هم ارزی AST را بررسی کنند و متغیرهای امنیتی را در کل فضای ورودی تضمین کنند.

نقص‌های منطقی ظریف را شناسایی کنید، گاردریل‌های جامع را اعمال کنید و با قطعیت ریاضی، نوشتن خودکار سیاست‌ها را ایمن کنید.

،

همانطور که عامل‌های هوش مصنوعی سیاست‌ها را می‌نویسند، اصلاح می‌کنند و مستقر می‌کنند، آزمایش‌های واحد اکتشافی ممکن است در پوشش موارد حاشیه‌ای در ورودی‌های نامتناهی شکست بخورند. چارچوب تأیید رسمی CEL ، که توسط اثبات‌کننده قضیه Z3 پشتیبانی می‌شود، توسعه‌دهندگان را قادر می‌سازد تا صحت سیاست را به صورت ریاضی اثبات کنند، هم ارزی AST را بررسی کنند و متغیرهای امنیتی را در کل فضای ورودی تضمین کنند.

نقص‌های منطقی ظریف را شناسایی کنید، گاردریل‌های جامع را اعمال کنید و با قطعیت ریاضی، نوشتن خودکار سیاست‌ها را ایمن کنید.

،

همانطور که عامل‌های هوش مصنوعی سیاست‌ها را می‌نویسند، اصلاح می‌کنند و مستقر می‌کنند، آزمایش‌های واحد اکتشافی ممکن است در پوشش موارد حاشیه‌ای در ورودی‌های نامتناهی شکست بخورند. چارچوب تأیید رسمی CEL ، که توسط اثبات‌کننده قضیه Z3 پشتیبانی می‌شود، توسعه‌دهندگان را قادر می‌سازد تا صحت سیاست را به صورت ریاضی اثبات کنند، هم ارزی AST را بررسی کنند و متغیرهای امنیتی را در کل فضای ورودی تضمین کنند.

نقص‌های منطقی ظریف را شناسایی کنید، گاردریل‌های جامع را اعمال کنید و با قطعیت ریاضی، نوشتن خودکار سیاست‌ها را ایمن کنید.

،

همانطور که عامل‌های هوش مصنوعی سیاست‌ها را می‌نویسند، اصلاح می‌کنند و مستقر می‌کنند، آزمایش‌های واحد اکتشافی ممکن است در پوشش موارد حاشیه‌ای در ورودی‌های نامتناهی شکست بخورند. چارچوب تأیید رسمی CEL ، که توسط اثبات‌کننده قضیه Z3 پشتیبانی می‌شود، توسعه‌دهندگان را قادر می‌سازد تا صحت سیاست را به صورت ریاضی اثبات کنند، هم ارزی AST را بررسی کنند و متغیرهای امنیتی را در کل فضای ورودی تضمین کنند.

نقص‌های منطقی ظریف را شناسایی کنید، گاردریل‌های جامع را اعمال کنید و با قطعیت ریاضی، نوشتن خودکار سیاست‌ها را ایمن کنید.

آیا می خواهید به پروژه CEL کمک کنید؟ به کد منبع باز و اسناد ما کمک کنید. ما از کمک شما خوشحال می شویم!