TL;DR

kbox (sysprog21, MIT license) boot một Linux kernel thật như một thư viện in-process qua LKL (Linux Kernel Library), rồi chặn syscall của chương trình guest và route thẳng vào kernel đó. Không cần root, container, VM, hay ptrace. Bạn có real VFS, real ext4, real procfs ở tốc độ gần native — nhanh hơn proot (ptrace), chính xác hơn gVisor (reimplement), gọn hơn UML hay container daemon.

What's new

Jim Huang (jserv) vừa công bố kbox trên GitHub. Ý tưởng trung tâm: thay vì giả lập kernel (gVisor) hoặc chạy kernel trong một process riêng qua ptrace (UML, proot), kbox nhúng chính source code Linux dưới dạng liblkl.a ngay trong process của chương trình. Syscall của guest không đi ra host kernel — nó được intercept và đẩy vào LKL, nơi thực sự chạy VFS, ext4, procfs, block layer của Linux.

Hệ quả: open(), read(), stat(), mmap() trong kbox hành xử chính xác như trên server production, vì đó đúng là cùng một kernel code.

How it works — 3 interception tiers

kbox có ba tầng chặn syscall, tự động chọn tier tối ưu cho mỗi lệnh:

  1. seccomp-unotify — tương thích cao nhất, xử lý được fork+exec. Yêu cầu host kernel 5.0+.
  2. SIGSYS trap — dùng cho single-execution command, dispatch qua signal.
  3. Binary rewriting — nhanh nhất, patch trực tiếp các syscall site trong binary.

Không cần libseccomp. Không cần ptrace. Không cần daemon.

Technical facts

  • Rootfs guest: file rootfs.ext4 được mount qua LKL — ext4 thật, VFS thật.
  • liblkl.a auto-fetch từ nightly releases, không phải build Linux kernel tay.
  • Host yêu cầu: Linux kernel 5.0+ cho seccomp-unotify, 5.9+ để hưởng FSGSBASE optimization.
  • Toolchain: GCC + GNU Make, không có dependency nặng.
  • Kiến trúc hỗ trợ: x86_64 (full), aarch64 (full), riscv64 (chỉ trap + seccomp).
  • Observability: web dashboard inspect guest, host-side view của guest /proc, latency tracing, GDB integration để step qua kernel thật.
  • Test suite: unit + integration + stress, pass clean dưới AddressSanitizer và UndefinedBehaviorSanitizer.
  • Repo status lúc công bố: 72 stars, 16 forks, 110 commits, 15 open issues, MIT license.

Comparison vs chroot / proot / UML / gVisor / containers

FeaturekboxchrootprootUMLgVisorContainers
Rootlessyesnoyesyesyesdepends
Real Linux kernelyesyesnoyesnoyes
In-process kernelyesn/anononono
No ptraceyesn/anonoyesyes

vs proot: proot chặn syscall bằng ptrace — overhead cao và phức tạp. kbox dùng seccomp / signal / rewriting, không bao giờ ptrace.

vs UML: UML chạy guest kernel trong một process tree riêng; kbox chạy kernel ngay trong cùng address space với guest binary, loại bỏ context switch giữa host-guest.

vs gVisor: gVisor viết lại Linux semantics bằng Go (hàng triệu dòng), chắc chắn diverge với kernel thật ở edge case. kbox dùng chính Linux source, nên mọi hành vi syscall match production server.

Use cases

  • AI agent sandbox: cho LLM chạy lệnh shell được sinh tự động mà không mở VM hay container — docs kbox có hẳn mục AI agent integration.
  • CI/CD isolation: mỗi job một rootfs.ext4 riêng, không cần Docker daemon.
  • Reproducible build trên máy dev không có quyền root.
  • Syscall fuzzing & kernel debugging: GDB step thẳng vào kernel code trong cùng process với fuzzer.
  • Test harness cần real /proc, real ext4, real VFS semantics thay vì tmpfs overlay.
  • Educational tool cho OS internals — sinh viên debug syscall path của kernel thật bằng GDB thông thường.

Limitations & pricing

  • Miễn phí, MIT license.
  • Chỉ chạy trên Linux host. Không có macOS/Windows native.
  • Web observatory / telemetry hiện chỉ hỗ trợ seccomp mode; trap và rewrite chưa emit event stream.
  • riscv64 chưa có binary-rewriting path.
  • Network namespace parity với container chưa có out-of-the-box.
  • Dự án còn sớm (110 commits) — kỳ vọng có rough edges, nhất là syscall coverage ngoài fast path.

What's next

Roadmap public hint tới event stream emission cho trap/rewrite mode, mở rộng riscv64, và expand syscall parity. Upstream LKL vẫn active với mailing list + Slack riêng, nên kbox có thể hưởng lợi từ các cập nhật kernel mới tự động khi liblkl.a bump version.

Với xu hướng AI agent tự động chạy code và CI chạy đa dạng tool chain không có quyền root, một sandbox vừa chính xác như production vừa nhẹ như một process là miếng ghép thiếu lâu nay giữa chroot (không sandbox) và container (nặng, cần daemon/root). kbox đang đứng ở chỗ đó.

Nguồn: sysprog21/kbox, jserv trên X, LKL project, LWN về LKL.