使用不受信任的字符串 (require.js) 调用 require() 的安全问题

Security Issues by calling require() with untrusted string (require.js)

我的浏览器应用程序使用 require.js。该应用程序在屏幕上显示许多不同的小部件之一。 URL 片段包含小部件的路径(require.js 路径),然后调用动态加载它的要求:

var moduleName = getUrlFragement('widget'); // accesses window.location
require(moduleName);

moduleName 是一个不受信任的 字符串。用户可以随意制作。

这有哪些安全问题?

到目前为止,这是我自己的发现:

有什么我遗漏的吗?

没有。您已经完整准确地捕获了安全问题。