我想用 Rust 编写一个应用程序,可以使用(不受信任的)用户编写的插件进行扩展。这些插件可以通过网络平台下载,并且可以由核心软件的任何用户安装,但当然我想保护天真的免受恶意用户的侵害,并使插件在沙盒环境中运行。插件仍然应该尽可能快地执行。
我的做法是使用 wasm 和 javascript 沙箱作为接口。
wasm32-unknown-unknown
目标编译为 wasm。我发现这种方法有一些缺点,主要是通过 javascript 及其引擎,这似乎是不必要的。难道没有更快的方法直接从 Rust 执行沙盒 Web 程序集吗?