如何在Node.js中使用VM安全地运行用户代码,而不容易遭受攻击?

3

我正在制作一个nodejs项目,我想使用vm模块运行用户代码,但是存在很多漏洞,例如每个对象/函数的constructor可以用来评估js字符串。有什么方法可以确保安全吗?谢谢!

我尝试了所有方法,但都没有奏效。我也不想使用其他包。谢谢。


这个领域有很多类似的问题。虽然对你来说可能非常明显(并且在仔细阅读你的问题后对其他人也是如此),但如果你清楚地指出你的问题与其他问题的不同之处,或者他们的答案对你的问题不足够,那对其他人仍然是有用的。例如:[1](https://dev59.com/H2s05IYBdhLWcg3wGuOd),[2](https://stackoverflow.com/q/11028666/20170164),[3](https://dev59.com/oMTsa4cB1Zd3GeqPMPBs),[4](https://dev59.com/gmMm5IYBdhLWcg3wlfpS)。这是你展示你在网站上研究努力的一种方式。 - rainbow.gekota
1个回答

1

目前似乎没有内置的方法可以安全地运行不受信任的代码。我想,如果您可以使用外部库,则有一些专门用于此目的的解决方案,例如isolated-vmvm2


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接