2016-08-18 10 views
6

NodeJSの人気度やNPMの仕組みを考えると、安全でないマルウェアパッケージをインストールしないための最善の方法は何ですか?私にとっては、これは、ユーザーレビュー、StackOverflow、個人ブログなどのコメントだけに依存して、アーキテクチャの巨大な穴であるようです。私はちょっとした検索をしましたが、私が見つけることができるのは "計画"ユーザが当該行動規範を破ったという苦情が提起された後に、違反しているユーザを取り除くためのものである。行動 のNodeJS&NPM:パッケージセキュリティ

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() 

あなたのために良い評価を、キャッチあなたの人々!私はこれを非常に多くの異なる方法で評価することなくラップすることができます。したがって、これは例としてとるべきです。

だからこそ、このような事態に対処するためにコミュニティは何をしていますか?私のシステムを安全に保つための方法はどこで見つけることができますか?

+0

コミュニティ全体のセキュリティは、信念に基づいており、すべてが正しければ幸いです。 – zerkms

+0

私は、すべてのパッケージがオープンソースでなければならないという事実は、誰かが悪意のあるものに潜入することをかなり難しくしていると思います。評価なしのコードを見ても、明らかな目的のないテキストは驚くべきものです。パッケージの扶養家族の数を見ることもできますし、ポストされた問題のレポをチェックすることができます。 – csander

+0

オープンソースは信頼に基づいています_and_確認 – dandavis

答えて

3

npmからインストールするパッケージが安全であることを確認する方法の1つは、ノードセキュリティ(nodesecurity.io)チームが提供するコマンドラインユーティリティnspを使用することです。

$ npm install -g nsp 

次に、(package.jsonが配置されている)、プロジェクトのディレクトリに:

enter image description here

:可能な脆弱性を使ってレポートを生成します

$ nsp check 

、ここでは一例であり、

+1

'nsp'は安全ですか? :p – undefined

+1

良い質問です。このイニシアチブの背後にある主な人物:https://medium.com/node-security/announcing-the-node-security-platform-28c99f872688#.ty9fgckws –

+0

Dagnabit。あなたは私を打ち負かした。私はこれを見つけ、私自身の質問に答えることを意味しました。 :)とにかく、私はあなたの答えを受け入れています...しかし、あなたはnvmがインストールされていない限り、ほとんどすべてのためのインストールでは、-gとは全く反対です。 [理由はこちら](http://brokenpromises.io/2016/08/15/where-do-i-start/)。私はちょうど3時間かけて今日の-hハッピーを元に戻しました。 – PRS

関連する問題