4 ms·
Interesting, I hadn't come across extism before. How hard would it be to package https://github.com/biojppm/rapidyaml https://github.com/biojppm/rapidyaml in th
by mnahkies 3y ago
Interesting, I hadn't come across extism before. How hard would it be to package https://github.com/biojppm/rapidyaml https://github.com/biojppm/rapidyaml in this way? (And do you have a extism for dummies guide?)
- nilslice 3y agoExtism can be really useful for packaging up and running cross-language libraries! The most clear information about it is at: https://extism.org https://extism.org, but its a bit focused on the primary use case for Extism, being a universal plugin system. There is a C PDK (https://github.com/extism/c-pdk https://github.com/extism/c-pdk) which you'd probably want to use in a new wrapper around your library in C++, and compile it to wasm32 freestanding or WASI, but without emscripten. Extism doesn't currently have an interop layer to emscripten.
- richardfey 3y ago> Don't worry about what some plug-in code might do to your program. Extism is built with security as a core principle, and fully sandboxes the execution of all plug-in code. I find the wording a bit off here. Responsible security involves transparency along the supply chain and minimum trust, certainly not talking about worries and giving them up with ease.
- nilslice 3y agoWould you suggest something more appropriate?
- richardfey 3y agoI do not know Extism, but I would start from the process of verifying the security of it, and highlight what allows to check it quickly and with certainty. For example documentation of the sandbox and possibility to inspect all syscalls performed with verbose logging. These are just examples; basically I would put focus on minimal trust and maximum transparency.
- richardfey 3y agoNote: there can always be problems of data exfiltration or compute power theft (as part of a botnet or mining), so owning the machine is not the only risk to mitigate.
- nilslice 3y agoBoth great points! Extism docs assume some level of familiarity with the security model of WebAssembly. Which unless you grant it granular permission, does mitigate the risks you’ve mentioned. I agree we should do more to specifically call out these security benefits - and also how a user could impact that default security.