最近、Angular CLI 5アプリケーションをGitHubにプッシュしました。
We found a potential security vulnerability in one of your dependencies.
A dependency defined in net-incident/package-lock.json has known security vulnerabilities and should be updated.
Dependencies defined in net-incident/package-lock.json 816
hapijs / hoek Known security vulnerability in 2.16.3
「npm audit」からの出力を確認し、以下を含むさまざまな更新を実行しました(推奨されませんでした)。
npm install --save-dev [email protected]
「リクエスト」パッケージには「ホーク」を含む「ホーク」が含まれています。 node_modulesの「リクエスト」パッケージを見ると、バージョンが変更されています。ただし、「npm audit」からの次の2つの更新は何も実行しないようです。
npm update fsevents --depth 4 npm update stringstream --depth 5
そして、私には次のものが残っています。
[!] 33 vulnerabilities found [12201 packages audited]
Severity: 5 Low | 24 Moderate | 4 High
Run `npm audit` for more detail
また、脆弱性の多くは次のようなものです。
Moderate Prototype pollution
Package hoek
Patched in > 4.2.0 < 5.0.0 || >= 5.0.3
Dependency of karma
Path karma > log4js > loggly > request > hawk > boom > hoek
More info https://nodesecurity.io/advisories/566
最終的に、アプリケーションはコンパイルされないので、パッケージを置き換えてファイルをロックし、今は最初に戻りました。私は本当にセキュリティの問題を修正したいです。厄介な「hoe」の脆弱性を取り除くにはどうすればよいですか?
rm package-lock.json
&& npm update && npm install
を実行する必要があります。これでも問題が解決しない場合は、npm ls hoek
を実行して続行できます。
├─┬ [email protected]
│ └─┬ [email protected]
│ └─┬ [email protected]
│ ├─┬ [email protected]
│ │ └── [email protected]
│ ├── [email protected]
│ └─┬ [email protected]
│ └── [email protected]
└── [email protected]
hawk
のバージョンを npm hawk のバージョンと比較します。集計されない場合は、npm i hawk --save
またはnpm i hoek@latest --save
を実行します。 npm i karma@latest --save
、次にnpm audit
その後、通常のgitコマンドを再度実行しました。
git add .
git commit -m 'whatever_message'
git Push
その後、Githubに戻ると、セキュリティの脆弱性を修正する必要があります。
この回答 は同様のhoek
問題に対処し、 この回答 は非脆弱性監査レポートを詳細に説明します。
npm audit
レポート可能問題。それらが解決されるべき本当の問題である必要はありません。
karma > log4js > loggly > request > hawk > boom > hoek
のようなネストされた依存関係は、修正する必要がある場合に、依存関係チェーンで多数のパッケージをフォークする必要がある場合があります。
Prototype pollution
診断はコードの匂いを示します。プロトタイプ汚染の臭いがするのは、セキュリティ問題を引き起こすcanであるためです。これがModerate
とラベル付けされている理由です。パッケージの使用方法に関係なく、hoek
パッケージにセキュリティリスクを引き起こす可能性はほとんどありません(同様に重要です)。
さらに、karma > log4js > loggly > request > hawk > boom > hoek
依存関係チェーンは、開発依存関係で問題が発生することを意味します。ほとんどのセキュリティ問題は、主に実稼働で使用される依存関係に適用されます。この問題は、テストとカルマに固有のものです。それが脅威であることは事実上不可能です。
TL; DR:これは脆弱性ではありません。無視する必要があります。 npm audit
レポートは、それを修正するための努力が行われる前に、健全性チェックに合格する必要があります。
私は辛抱強く、彼らは問題を解決しました:
npm update karma@latest
動作するはずです。