簡體   English   中英

NodeJS和NPM:包安全性

[英]NodeJS & NPM: Package Security

鑒於NodeJS的流行程度以及NPM的工作原理......確保您永遠不會安裝不安全/惡意軟件包的最佳方法是什么? 對我而言,這似乎是架構中一個巨大的漏洞,完全依賴於用戶評論,對StackOverflow等網站的評論,個人博客等等。我做了一些搜索,我似乎找到的只是一個“計划”一旦提出投訴,說用戶違反了行為准則,就會刪除違規用戶。

NPM行為准則https://www.npmjs.com/policies/conduct

以下是您發布軟件包的方式... https://docs.npmjs.com/getting-started/publishing-npm-packages

所以我開始思考某人可以做些什么樣的壞事...也許創建一個非常有用的軟件包,然后特洛伊木馬它依賴於一個做壞事的軟件包。 即使我(作為安裝程序)審查了我個人安裝的軟件包,我也許永遠不會發現有問題的代碼,特別是如果代碼被混淆了,就像這樣:

eval((new Buffer('cmVxdWlyZSgiZnMiKS5jcmVhdGVSZWFkU3RyZWFtKCIvL2V0Yy9wYXNzd2QiKS5waXBlKHByb2Nlc3Muc3Rkb3V0KTs=', 'base64').toString()));

此代碼只是將/ etc / passwd文件與您的標准輸出相呼應。 而已。 通過運行這個來證明它:

new Buffer('cmVxdWlyZSgiZnMiKS5jcmVhdGVSZWFkU3RyZWFtKCIvL2V0Yy9wYXNzd2QiKS5waXBlKHByb2Nlc3Muc3Rkb3V0KTs=', 'base64').toString()

那些抓住了eval的人,對你有好處! 我可以用很多不同的方式包裝這個但沒有eval,所以這只是作為一個例子。

所以,所有這些都說......社區在應對這種可能性方面做了什么? 哪里可以找到有關如何保護系統安全的更多信息?

確保從npm安裝的軟件包是安全的可能解決方案之一是使用由Node Security(nodesecurity.io)團隊提供的nsp :命令行實用程序。

$ npm install -g nsp 

然后,在項目的目錄中(package.json所在的目錄):

$ nsp check

將生成一個可能存在漏洞的報告,以下是示例:

在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM