Guessing it uses containerization or virtualization, hopefully with no gaps in security.
Guessing it uses containerization or virtualization, hopefully with no gaps in security.
I found deno::CoreIsolate in the source ². Userland process isolation seem to be provided by V8 Isolate.
The execution and security model remind me of recent trend in FaaS, in particular running WebWorkers (or similar), WASM, etc. Found a fascinating presentation about how V8 is used at CloudFlare ³.
"..using V8 isolates instead of containers or VMs, achieving 10x-100x faster cold starts and lower memory footprints.."
---
¹ https://deno.land/manual/contributing/architecture#schematic...
² https://github.com/denoland/deno/blob/2610ceac20bc644c0b58bd...
³ Fine-Grained Sandboxing with V8 Isolates - https://www.infoq.com/presentations/cloudflare-v8/
Deno runs js in v8 and all syscalls go through the rust runtime. The limitations are pretty coarse (but i'd say a great start).