前提・実現したいこと
Nuxt.jsを採用し、本番環境もNode.jsで構築予定のアプリケーションを開発しています。
npm audit
で検知できる脆弱性が依存の依存パッケージに及んでおり、対応が難しく困っております。
この点に関して以下2点質問させてください。
- 実際にNode.jsで運用しているプロダクトではどこまで対応されているのでしょうか
脆弱性を突かれる可能性は低いため気にしなくて良いという意見も目にします。
脆弱性警告を残したまま運用しているのでしょうか?
0. 私が試した事以外に対応方法があればご教示いただきたく思います
発生している問題・エラーメッセージ
現在、依存に依存が連なるパッケージ群で脆弱性警告が出ております。
複数の依存パッケージで使用されておりバージョンも様々です。
一部抜粋
┌───────────────┬──────────────────────────────────────────────────────────────┐ │ High │ Denial of Service │ ├───────────────┼──────────────────────────────────────────────────────────────┤ │ Package │ css-what │ ├───────────────┼──────────────────────────────────────────────────────────────┤ │ Patched in │ >=5.0.1 │ ├───────────────┼──────────────────────────────────────────────────────────────┤ │ Dependency of │ nuxt │ ├───────────────┼──────────────────────────────────────────────────────────────┤ │ Path │ nuxt > @nuxt/webpack > cssnano > cssnano-preset-default > │ │ │ postcss-svgo > svgo > css-select > css-what │ ├───────────────┼──────────────────────────────────────────────────────────────┤ │ More info │ https://npmjs.com/advisories/1754 │ └───────────────┴──────────────────────────────────────────────────────────────┘ ┌───────────────┬──────────────────────────────────────────────────────────────┐ │ High │ Regular Expression Denial of Service │ ├───────────────┼──────────────────────────────────────────────────────────────┤ │ Package │ normalize-url │ ├───────────────┼──────────────────────────────────────────────────────────────┤ │ Patched in │ >=4.5.1 <5.0.0 || >=5.3.1 <6.0.0 || >=6.0.1 │ ├───────────────┼──────────────────────────────────────────────────────────────┤ │ Dependency of │ nuxt │ ├───────────────┼──────────────────────────────────────────────────────────────┤ │ Path │ nuxt > @nuxt/webpack > cssnano > cssnano-preset-default > │ │ │ postcss-normalize-url > normalize-url │ ├───────────────┼──────────────────────────────────────────────────────────────┤ │ More info │ https://npmjs.com/advisories/1755 │ └───────────────┴──────────────────────────────────────────────────────────────┘
試したことと懸念点
1, npm audit fix
コマンドを実行
効果はありませんでした。
2, package-lock.jsonを直接書き換える
警告の出ている依存パッケージのバージョンを最新版にバージョン番号を直接書き換えることで警告は消えました。
- package-lock.jsonはそもそも手動で更新することが想定されていない
npm i
を実行すると元の記述に戻ってしまう- 各パッケージで動作保証の取れていないバージョンを使用することになるため動作が保証されない
3, package.jsonのresolutionsフィールドを使用する
特定のパッケージバージョンを固定する方法です。
こちらの記事を参考にさせていただきました。
https://numb86-tech.hatenablog.com/entry/2020/05/26/170627
- 前述のpackage-lock.jsonを直接書き換えるのと同義で動作保証の取れていないバージョンを使用することになる
4, 各依存パッケージが更新されるのを待つ
もっとも確実な方法だと思います。
が、以下の懸念点があります。
- メンテナンスが止まっているケースもあるため、いつまで経っても解決しない場合がある
補足情報(FW/ツールのバージョンなど)
- Node.js -> 14.15.3
- npm -> 6.14.9
- nuxt -> 2.14.12
実際のプロダクト運用ではどのように対応されているのでしょうか。
どうぞよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/16 11:46
2021/07/09 10:21