用于运行不可信用户的Node.js Sandbox提交代码

我正在尝试获取能够运行不受信任的用户提交的代码的node.js沙箱。


有几个关于这个职位,但他们都是老。 我希望一个最新的职位将有所帮助。
(2011) 如何在node.js沙箱中安全地运行用户提交的脚本?
(2012) 如何运行不受信任的代码serverside?
(2013) 安全沙盒并执行用户提交的JavaScript?


通过其他职位和研究,我发现了以下沙箱和漏洞:
(Jailed) https://github.com/asvd/jailed
(Jailed Exploit) https://github.com/asvd/jailed/issues/33

(沙盒) https://github.com/gf3/sandbox
(沙盒利用) https://github.com/gf3/sandbox/issues/50

(Sandcastle) https://github.com/bcoe/sandcastle
(Sandcastle Exploit) https://github.com/bcoe/sandcastle/issues/70

(节点的VM) https://nodejs.org/api/vm.html#vm_vm_runinthiscontext_code_options
(在文档中)注意:vm模块不是安全机制。 不要用它来运行不可信的代码。

(VM2) https://github.com/patriksimek/vm2
(VM2漏洞) https://github.com/patriksimek/vm2/issues/76


有没有人知道没有已知漏洞的node.js沙箱?

我们还需要nodejs沙箱库,可用列表与上面提到的几乎完全相同。

在我们select的那些(VM2) https://github.com/patriksimek/vm2中 ,您提到的漏洞利用仅适用于上下文==主机。 相反,您可以将上下文设置为“沙箱”,这将提供完整的隔离,您需要加载,需要和使用模块。

上面的设置非常适合我们! 希望它可以帮助你!