用于Node.js的沙盒插件

我是一个完整的节点noob,所以我很抱歉,如果这个问题有一个明显的答案。

我正在寻找创build一个Web应用程序,将运行来自不受信任的来源(即社区提交)的插件。 所以我需要将这些插件locking到只允许某些访问的沙箱(不能写入磁盘等)。 理想情况下,该插件只能使用某些批准的节点包和API。

这是可能的节点? 如果是这样,你可以指向一个包或文件,让我开始?

这里有一小部分可以帮助你的项目:

https://github.com/gf3/sandbox

https://github.com/hflw/node-sandbox

https://github.com/bcoe/sandcastle

https://github.com/wearefractal/boxy

我build议第一个( http://gf3.github.io/sandbox/ ),因为它比较成熟。

我也将贡献与我的图书馆的名单: https : //github.com/asvd/jailed 。 除了对不受信任的代码进行沙箱处理(在受限制的subprocess中)之外,还可以导出沙箱中的任何函数集,从而为沙箱代码定义自定义API。