کرن (kern): جایگزین فوقسریع داکر برای اجرای کد نامطمئن
خلاصهٔ کاملتر
کرن یه ابزار جدید و متنبازه که بهجای داکر یا پادمن، یه سندباکس فوقسبک برای اجرای کدهای نامطمئن (مثل خروجی مدلهای هوش مصنوعی) در اختیارت میذاره. کل پروژه تو یه باینری استاتیک ۱.۵۲ مگابایتی جمع شده و هیچ دیمن یا سرویس پسزمینهای نداره؛ یعنی وقتی چیزی اجرا نمیکنی، هیچ رمی مصرف نمیشه. طبق بنچمارکهای خود پروژه، یه باکس از روی یه ایمیج OCI حدود ۳.۵ میلیثانیه بالا میاد، در مقابل چیزی حدود ۳۰۰ میلیثانیه برای داکر و پادمن.
نکتهی مهم اینه که کرن همیشه rootless (بدون دسترسی روت) اجرا میشه، از namespace های کاربر و PID و شبکه استفاده میکنه، یه allowlist سختگیرانهی seccomp داره و با فلگ --security-profile untrusted کل این باندل امنیتی رو یهجا فعال میکنی:
kern box job --image python:3.12-slim --security-profile untrusted \
--memory 256m -v ./job:/w -- python3 /w/x.py
با این حال نویسنده تو مستندات امنیتی پروژه صادقانه میگه ایزولهسازی کرن رو کرنل لینوکس انجام میده، نه یه هایپروایزر جدا؛ پس اگه یه باگ privilege-escalation تو خود کرنل پیدا بشه، همون یه راه فراره - دقیقا مثل داکر و پادمن.
کرن فقط سندباکس نیست؛ فرمت docker-compose.yml رو هم مستقیم میخونه بدون تبدیل، منابع مثل CPU و رم و دیسک رو میشه تو یه فایل kern.toml یهبار تعریف و بعد با اسم بهشون رفرنس داد، و برای امبد کردن تو برنامههای پایتون و Node یه کتابخونه به اسم kern-sandbox داره که هر اجرا رو تو یه باکس تازه با شبکه خاموش و سقف حافظه انجام میده. یه سرور MCP هم داره (kern-mcp) که ابزار اجرای کد رو مستقیم در اختیار Claude Desktop یا Cursor میذاره.
پروژه هنوز جوونه (v0.7.0 اولین ریلیزشه) و خودش هم صریحاً میگه چی نیست: هایپروایزر نیست، مانتاژ کردن یه پوشه با -v یه تصمیم اعتماده نه یه مرز امنیتی که کرن اجرا کنه، و فعلاً هیچ پشتیبانی GPU یا سازگاری با Kubernetes نداره.
نکات کلیدی:
- باینری استاتیک ۱.۵۲ مگابایتی، بدون دیمن، تنها وابستگی Rustش libc هست.
- کلد استارت یه باکس از ایمیج حدود ۳.۵ میلیثانیه، در برابر حدود ۲۹۷ میلیثانیه داکر.
- همیشه rootless با namespace + seccomp allowlist + cgroup v2؛ --security-profile untrusted کل باندل امنیتی رو یهجا فعال میکنه.
- docker-compose.yml رو مستقیم میخونه، بدون تبدیل.
- کتابخونه Python/Node (kern-sandbox) و سرور MCP برای اجرای کد ایجنتها داره.
- مرز امنیتی کرنل لینوکسه؛ باگ کرنلی یعنی فرار از سندباکس.




