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()
あなたのために良い評価を、キャッチあなたの人々!私はこれを非常に多くの異なる方法で評価することなくラップすることができます。したがって、これは例としてとるべきです。
だからこそ、このような事態に対処するためにコミュニティは何をしていますか?私のシステムを安全に保つための方法はどこで見つけることができますか?
コミュニティ全体のセキュリティは、信念に基づいており、すべてが正しければ幸いです。 – zerkms
私は、すべてのパッケージがオープンソースでなければならないという事実は、誰かが悪意のあるものに潜入することをかなり難しくしていると思います。評価なしのコードを見ても、明らかな目的のないテキストは驚くべきものです。パッケージの扶養家族の数を見ることもできますし、ポストされた問題のレポをチェックすることができます。 – csander
オープンソースは信頼に基づいています_and_確認 – dandavis