发布于 2017-10-11 00:49:56 | 165 次阅读 | 评论: 0 | 来源: 网友投递
npm Node.js包管理工具
npm是 Node.js 的包管理工具,用来安装各种 Node.js 的扩展。
调查发现,有成千上万的开发者在使用弱凭证来保护自己的 npm 账户,这种做法无意中将超过一半的 npm 软件包置于被劫持的风险中。一些别有居心的人会利用这个风险在合法应用程序构建时将恶意代码部署到其中。
这件事可以追溯到今年 6 月份有开发者在 GitHub 上发布的一篇文章 Gathering weak npm credentials,文章主要讲述了收集 npm 弱凭证的几种方式,以及其可能会导致的影响。npm 公司获悉这个情况后,已向所有受影响的用户触发密码重置操作。
此后,开发者依然在扫描 npm 账户,但这次扫描却意外获得了更多有效的账号。开发者此时意识到情况十分糟糕,如果被人恶意利用这个操作,攻击者可以获得 66,876 个 npm 包的直接发布权限,占整个 npm 包生态系统的 13%。
更重要的是,如今开发者主要通过使用 npm 的依赖关系管理来加载他们需要的库,这种自动依赖关系管理意味着当开发者加载了一个 npm 包 A 时,还会加载其依赖关系 —— npm 包 B, C, D, E, F, G 等。通过这种依赖关系,攻击者可将恶意代码传播到整个 npm 生态系统的 52% 软件包。
与这种情况类似,目前也有研究小组发现存在 npm 蠕虫的可能性,它可以使用 npm 依赖来传播和感染其他的 npm 软件包。