web-dev-qa-db-ja.com

package-lock.jsonで定義された依存関係の潜在的なセキュリティ脆弱性を修正する適切な方法

Githubは、リポジトリの1つでこのエラーを発生させました。

We found a potential security vulnerability in one of your dependencies.
A dependency defined in ./package-lock.json has known security vulnerabilities 
and should be updated.

依存関係はpackage.jsonファイルで定義されていません。私の理解では、package-lock.jsonファイルを削除して再生成することは良い習慣ではありません。ただし、この問題を修正する他の方法はありません。このセキュリティの脆弱性を無視すると、数日後に再び表示されます。何か案は?ありがとう!

54
Kaito

問題のあるパッケージの名前を特定してから実行する必要があります

npm install package-name

パッケージ名を置き換えることは明らかです。

これにより、パッケージの最新バージョンがインストールされ、多くの場合、最新バージョンによってセキュリティの問題が修正されます。バージョンに制約がある場合(例:1.2)、いつでも試すことができます:

npm install package-name@^1.2

最新のパッチが適用されたバージョンがインストールされます

New:npm @ 6を使用すると、直接実行できます

npm audit fix
24
Jo Takion

これを解決するには:

Solution1:最初に脆弱性を見つけます:ターミナルを使用します:cd into your project、次に実行します"npm ls hoek"

そして最後に:npm install bcrypt @ latest

次に、更新されたプロジェクトをgitにプッシュします(つまり、新しいコミットを実行します)。

解決策2:

最初のオプション/解決策で問題が解決しない場合。package-lock.jsonでバージョンを手動で変更します。バージョンを手動で2.16.3から4.2.1に変更します

"hoek": {
      "version":  "4.2.1",
      "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz",
      "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=",
      "dev": true

次に、GitHub(commit/Push)でプロジェクトを更新します。package-lock.jsonバージョンのhoekバージョンがすべて4.2.1に変更されていることを確認してください。

または、npmを使用してhoekのバージョンを変更/ hoekを更新する方法を見つけられる場合は、物事を非常に簡単にします(npm update @ hoek..version)..依存関係は、bowerまたはnpmを使用して再インストールします。

6
RileyManda

私の理解では、package-lock.jsonファイルを削除して再生成することはお勧めできません。

しかし、これはこのインスタンスで通常行われていることです。
たとえば angular/angular-cli issue 8534 を参照してください。これは PR 8535 で解決されます。
それは frees-io/freestyle-opscenter-webclient のような依存プロジェクトを導き、 そのpackage-lock.jsonを更新:PR 31 .

2
VonC

既知のセキュリティ脆弱性であり、更新する必要があります。

2019年5月23日以降、「 Dependabot:自動セキュリティ修正 "

Dependabotの統合により、自動化されたセキュリティ修正プログラムをパブリックベータ版としてリリースしました。

自動セキュリティ修正は、セキュリティの脆弱性を修正するためにGitHubによって生成されるプルリクエストです。
これらは、ワークフローの退屈な部分を自動化し、開発者が依存関係を簡単に最新に保つことができるようにします。

詳細については、「 自動セキュリティ修正の構成

注:自動セキュリティ修正はベータ版で利用可能であり、変更される可能性があります。

セキュリティアラートと依存関係グラフを使用するリポジトリの自動セキュリティ修正を有効にできます。
2019年5月から、今後数か月にわたってセキュリティアラートと依存関係グラフを使用するすべてのリポジトリで、自動セキュリティ修正を自動的に有効にします。

1
VonC

これを修正する最も簡単な/最も簡単な方法は次のとおりです。

  1. npm install <dep>
  2. npm uninstall <dep>
  3. npm update
  4. npm install

From: https://github.com/Microsoft/vscode/issues/48783#issuecomment-384873041

1
adrianmc