Slice (Nexus-JS) is designed from the ground up as a 100% pure-Rust, Zero-Trust multi-tenant JavaScript/TypeScript runtime for untrusted edge workloads and AI Agent "Code Mode" sandboxes. We treat any bypass of our isolation or capability boundaries as a critical security issue.
Security updates are applied to the latest release series on main:
| Version | Supported |
|---|---|
0.10.x (Current) |
Yes |
< 0.10.0 |
No (Upgrade to >= 0.10.3) |
We specifically welcome reports affecting any of Slice's 5 Isolation & Defense Rings:
- Ring 1 — Object-Capability (OCap) Boundary Bypass (
slice-sandbox):- Reading or writing host paths outside
allow_read/allow_write(e.g., via symlink traversal, path normalization edge cases, or file descriptor confusion). - Initiating outbound HTTP/WebSocket/TCP/TLS/UDP connections to hosts or ports not listed in
allow_net. - Reading
process.envkeys not listed inallow_envor spawning subprocesses withoutallow_exec. - Child isolates (
Slice.evalSandbox(code, childCaps)ornew Worker(..., { sliceCapabilities })) escalating privileges beyond their parent isolate's capabilities.
- Reading or writing host paths outside
- Ring 2 — Dynamic SES (Hardened JavaScript) Escape (
slice-engine):- Mutating frozen primordials (
Object.prototype,Array.prototype,Function.prototype, etc.) when--lockdownis enabled. - Accessing raw unattenuated
__slice_*host bridge functions directly from user/tenant code after prelude bootstrap.
- Mutating frozen primordials (
- Ring 3 — Deterministic CPU Fuel & Byte-Level Heap Cage Escape:
- Bypassing
max_cpu_fuelvia un-metered loops, native intrinsics, or regex/compression amplification (zip bombs, KDF memory exhaustion). - Allocating unbounded host memory outside the isolate's
max_memory_bytes/BOA_KV_MEM_BUDGETceiling.
- Bypassing
- Ring 4 — Cloud Metadata SSRF Shield & Egress DLP Bypass:
- Reaching link-local metadata endpoints (
169.254.169.254,100.100.100.200,fd00:ec2::254), loopback, or RFC-1918 private networks whenblock_private_ipsis active (including via IPv4-mapped IPv6, octal/hex/decimal IP literals, or URL authority confusion). - Exfiltrating registered secrets (
--audit-egress/SliceIsolate::add_egress_audit_secret) throughstdout, HTTP responses, WebSockets, or raw sockets in raw, hex, Base64, or Base64URL form.
- Reaching link-local metadata endpoints (
- Ring 5 — Cryptographic & Memory Safety Defects:
- Weak entropy in CSPRNG/UUID generation, timing side-channels in authentication tags, or memory safety issues in any
unsafehardware SIMD/MPK block.
- Weak entropy in CSPRNG/UUID generation, timing side-channels in authentication tags, or memory safety issues in any
Please do NOT open a public GitHub issue for security vulnerabilities.
Instead, please report suspected vulnerabilities privately via GitHub Private Vulnerability Reporting on the repository's Security -> Advisories -> Report a vulnerability tab:
- URL:
https://github.com/slicevm/slice/security/advisories/new
- A minimal JavaScript/TypeScript reproduction script and the CLI flags or
slice.tomlconfiguration used to run it. - Which capability boundary or isolation ring was bypassed.
- Expected behavior vs. observed behavior.
We aim to acknowledge reports within 48 hours and provide a remediation timeline or patch within 7 days for confirmed vulnerabilities.