"require()" 在沙盒中安全吗?
Is "require()" safe in a sandbox?
我正在构建沙盒 duktape 应用程序。 sanboxing 文档 (https://github.com/svaarala/duktape/blob/master/doc/sandboxing.rst) 建议删除默认的 require() 实现。我不清楚为什么这是必要的。似乎 require() 依赖于 modSearch() 来确定加载什么代码以及从哪里加载。如果 modSearch() 不允许从沙箱中不允许的任何地方加载数据,那么默认的 require() 实现是否还有其他不安全或引起警惕的地方?
建议强调默认的 require() 不一定是沙盒安全的(即使当前的实现是安全的),因此最好在针对潜在不受信任的代码进行沙盒时替换它(至少如果代码可以是主动恶意的,而不仅仅是意外破坏)。
也就是说我现在不知道任何具体问题。
我正在构建沙盒 duktape 应用程序。 sanboxing 文档 (https://github.com/svaarala/duktape/blob/master/doc/sandboxing.rst) 建议删除默认的 require() 实现。我不清楚为什么这是必要的。似乎 require() 依赖于 modSearch() 来确定加载什么代码以及从哪里加载。如果 modSearch() 不允许从沙箱中不允许的任何地方加载数据,那么默认的 require() 实现是否还有其他不安全或引起警惕的地方?
建议强调默认的 require() 不一定是沙盒安全的(即使当前的实现是安全的),因此最好在针对潜在不受信任的代码进行沙盒时替换它(至少如果代码可以是主动恶意的,而不仅仅是意外破坏)。
也就是说我现在不知道任何具体问题。