2016-06-14 6 views
1

私は自分のマシン上でnpm install <foo>の実行が完全に安全ではないことを比較的最近認識しました。誰でも何かをNPMに公開できます。個々のパッケージが悪意でないことを確認する方法があったとしても、すべての依存関係を確認することは非常に困難です。自分のラップトップで信頼できないNPMモジュールを使って安全に開発する方法は?

NPMはユーザーのアクセス許可(rootではなく)で動作しますが、私のMacBookのコンテキストでは、個人的なファイルはすべて同じユーザーが所有しているため、ほとんど関係ありません。 (rootが追加するのは、オペレーティングシステム自体を破壊する能力であり、それほど重要ではありません)。

So:人々はNPMから信頼できないコードを安全にどのように実行するのですか?明らかにVM内のすべてを実行する方が安全ですが、私はいつもローカルネットワーキングに問題があるようです。

または、私は新しいユーザーを作成し、そのシステムの残りの部分にアクセスできない、そのユーザーが所有するNPM関連のものをすべて作ることができたと思います。

他にも良いオプションはありますか?このため

答えて

0

た軽減が含まれます:

  • あなたが NPMにログインしたままにはならないモジュールを所有しているユーザーである場合。 (簡単に十分な、npm logoutnpm login
  • 使用npm shrinkwrap
  • あなたの依存関係をロックダウンするために使用するnpm install someModule --ignore-scripts

this linkthis linkを参照してください。

コミュニティによって気付かれていない場合、悪意のあるモジュールがビルドされたコードにバックドアや脆弱性を導入する可能性があることに注意してください。

関連する問題