我们如何信任npm模块?

sij*_*yan 12 javascript security node.js npm node-modules

我通过npm包管理器使用了很多Node.js模块.由于这些模块不是由值得信赖的组织开发的,它们是否值得信赖?

我不知道npm团队是否正在对开发人员提交的每个模块进行任何安全检查.

sag*_*gie 10

NPM没有做任何检查.他们只是一个注册表.整个事情建立在开发社区的信任和共享上.

大多数节点模块都是开源的,您可以在其存储库中查看其代码(通常是github).这是"信任"他们的最佳方式.一些节点模块为您提供预先构建的本机二进制文件,因此在某种程度上可能存在风险,但如果它很受欢迎(例如ws),那么我认为没有问题.您还可以检查npm发布者用户,该用户有时候是像oracle这样的知名公司.

  • 没有强制执行 npmjs 包代码和存储库(而不是 github 或其他)实际上匹配。经常会出现两个版本之间存在差距的情况,理论上有可能两者完全无关。所以归根结底,这只是一个信任问题。 (3认同)