At the latest wasm (Web Assembly) standards meeting, I pointed out that
wasm is already an OS-like ocap system: A wasm instance, with its linear
data space + table of opaque external functions/objects is already a
process-granularity-like unit of isolation with an address space and a
clist. A wasm computation addresses its clist entries by clist index as
expected. In addition, wasm currently obeys the following restriction.

> WebAssembly instances must never be able to cause effects other than by
wielding explicitly granted access (e.g. the importObject in a JS
embedding).

According to Andreas Rossberg (cc'ed), this is on purpose, even though the
people in the room at the time did not seem to know that. I suggested that
it be made normative, so security uses of this restriction would not be
compromised by later "enhancements" that accidentally break this
unarticulated restriction.

https://github.com/WebAssembly/meetings/issues/104
is the one to watch. Assuming I do a good job clarifying the agreement we
just came to, and assuming the agreement holds in the face of these
clarifications, it looks like wasm will explicitly be the object-capability
system it was designed to be.

Andreas and Bradley (also cc'ed), please clarify or expand as appropriate.
If you don't want to subscribe to these lists, send your posts to me and I
will forward. Thanks.

-- 
  Cheers,
  --MarkM

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"Google Caja Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to