evalbox-v0.1.1
·
12 commits
to main
since this release
Execute code like
eval(), but safe. No containers, no VMs, no root.
Architecture Overhaul
The entire isolation model was replaced. Namespaces are gone - Landlock v5 is now the primary enforcement
layer.
| Before (0.1.0) | After (0.1.1) |
|---|---|
| 7 namespace layers + Landlock | Landlock v5 + seccomp + rlimits |
clone() with CLONE_NEW* flags |
Plain fork() |
pivot_root + bind mounts |
Landlock filesystem rules |
| Kernel 5.13+ | Kernel 6.12+ |
Simpler, fewer moving parts, same security guarantees.
What Changed
Isolation
- Landlock v5 replaces user, PID, network, mount, UTS, and IPC namespaces
RLIMIT_DATA(256 MiB) instead ofRLIMIT_AS- no longer breaks Go, Java, or V8 runtimes- New dedicated rlimits module with CPU, core, and stack limits
Build
- Nix flake migrated to flake-parts + import-tree (auto-discovery, zero boilerplate)
- Restricted to
x86_64-linux(arm not yet supported)
New
- Seccomp user notify (
SECCOMP_RET_USER_NOTIF) for optional syscall interception SECURITY.md- vulnerability reporting policyCONTRIBUTING.md- dev setup and testing guide- Security hardening roadmap
Removed
namespace.rs,rootfs.rs- namespace and pivot_root setupnix/lib.nix,nix/checks.nix- replaced by flake-parts modules
Full Changelog: https://github.com/fullzer4/evalbox/blob/main/CHANGELOG.md