5 ms·
This is what the folks working on WASM/WASI and related projects are trying to achieve. The ecosystem isn't yet fleshed out enough to be a drop-in replacement
by jeffparsons 5y ago
This is what the folks working on WASM/WASI and related projects are trying to achieve.
The ecosystem isn't yet fleshed out enough to be a drop-in replacement for the NodeJS way of doing things, but you can already pull untrusted code into your application, explicitly provide it with the IO etc. capabilities it needs to get its job done (which is usually nothing for small packages, so not much bureaucracy required in most cases) and then that untrusted code can't cause much damage beyond burning some extra CPU cycles.
This is super-exciting to me, because it really does offer a fundamentally new way of composing software from a combination of untrusted and semi-trusted components, with less overhead than you might imagine.
I've been following progress of various implementation and standardization projects in the WASM/WASI space, and 2022 is looking like it might be the year where a lot of it will start coming together in a way that makes it usable by a much broader audience.
- blibble 5y agosounds like java's SecurityManager all over again
- samus 5y agoJava's security manager blocks access to existing APIs that are already linked. The new approach relies on explicitly making only specific APIs available.
- colordrops 5y agoExcept you can run JS and C++ in it and the VM is already on every machine on earth.
- kaba0 5y agoWhich GraalVM can do much better as well, even optimizing through language boundaries (it can effectively inline a C FFI call into whatever language made that)
- emteycz 5y agoMy work computer has no GraalVM but it has two Wasm runtimes without needing to consult the IT department. Graal is cool tech but it's not playing the same game Wasm is.
- kaba0 5y agoHow is that relevant? Like, if there is a need for it than the IT department will install Graal. Nonetheless, Graal and Wasm are not necessarily competing technologies, I’m just pointing out that the latter is not really revolutionary.
- emteycz 5y agoThe point is, I think there will almost never be a need to install Graal when there is Wasm already present and used by most apps. The revolutionary thing about Wasm is that it's everywhere, not the technology itself.
- asddubs 5y agoor like bsds pledge
- naasking 5y agoNothing could be further than the truth. Capability-secure Java code just looks like Java with no surprises. The only difference is that ambient authority has been removed, which means that no code can just call new File("some_file.txt") and amplify a string that conveys no permissions into a file object conveying loads of permissions, you have to be explicitly given a Directory object that already conveys permission to a specific directory, and on which you call directory.createFile("some_file.txt") Just remove the rights amplification anti-pattern and programs instantly become more secure.
- can16358p 5y agoI think this will be the way of going. It resembles me of having all server components all over the place creating a mess, and now we have Docker and Kubernetes. From what I see this would be a more lightweight version of containerization: not for VMs/services but for each JS package.