节点-如何更新npm模块内部的依赖关系?

时间:2020-07-14 14:21:33

标签: node.js security npm lodash saml

我正在尝试解决MEAN堆栈节点应用程序上的一些安全问题。

当前我正在使用npm audit --parseable | grep high来获取仅显示其中4个的高价值漏洞,其中2个与angular devkit相关,而其他2个与之相关:

review  lodash  high    >=4.17.11       Prototype Pollution     https://npmjs.com/advisories/782        saml2js>lodash
review  lodash  high    >=4.17.12       Prototype Pollution     https://npmjs.com/advisories/1065       saml2js>lodash

因此问题是lodash使用的saml2js版本已过时,需要升级到4.17.12或更高版本。

当前,我们正在使用旧的saml2js模块,以解析从认证过程中获得的SAMLResponse,如下所示:

const Saml2js = require('saml2js');
app.post('/success', async (req, res) => {
   const buffer = Buffer.from(req.body.SAMLResponse || req.body.SAMLRequest, 'base64');
   const parser = new Saml2js(buffer);
   const user = parser.toObject();
   console.log(user) // { name: 'John Doe', id: 1234 }
   // Do logic ...
});

所以我相信我的选择是:

  1. 升级saml2js使用的lodash版本(如 npm审核输出),因此我们将消除这些漏洞。
  2. saml2js模块替换为另一个更新,更安全的模块,但是我 找不到可以本地解析SAML响应的另一个。
  3. “手动”执行解析,但需要其他人的支持 依赖关系,然后可能会产生新的安全问题,所以我 第一个选择是n°1。

关于如何从lodash升级saml2js版本的任何建议或我应该采取的方法?

0 个答案:

没有答案
相关问题