web-dev-qa-db-ja.com

「フック」の脆弱性を取り除く方法

最近、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」の脆弱性を取り除くにはどうすればよいですか?

24
P. Huhn

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に戻ると、セキュリティの脆弱性を修正する必要があります。

3
antzshrek

この回答 は同様の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レポートは、それを修正するための努力が行われる前に、健全性チェックに合格する必要があります。

2
Estus Flask

私は辛抱強く、彼らは問題を解決しました:

npm update karma@latest

動作するはずです。

1
P. Huhn