2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

monorepo-symlink-testの、脆弱性警告に関する対処法(※スキャナーの偽陽性パターン)

Last updated at Posted at 2023-11-28

問題について

Reactで作成していたプロジェクトをAWS fargateでホスティングしようとした際に

node_modules/resolve/test/resolver/multirepo/package.json

にある、monorepo-symlink-testというパッケージが脆弱性を持つのでスキャナー(Snyk cloud-native security scanner)から警告が発生したという問題に関する記事になります

原因

monorepo-symlink-testというパッケージ(すでにnpmからは削除済み)と、今回警告が出されているresolveのプライベートパッケージが偶然同じ名前であったため。おおお...

解決方法

2023/10/11に名前の修正がされました、修正者の名前が先頭に追加されてるのが面白いですね。つまり、10/11以前に作られたものはこの問題に当たる可能性があります。

node_modulesを最新状態にすればいいので、まずnode_modulesとpackage-lock.jsonファイルを削除

$ rm -rf node_modules
$ rm package-lock.json

package.jsonの依存関係を最新化(管理者実行)

$ sudo npm install -g npm-check-updates
$ sudo ncu -u

改めてnode_modulesとpackage-lock.jsonの作成

$ npm install

これで"monorepo-symlink-test"が"ljharb-monorepo-symlink-test"になるかと思います!

余談

この問題はいわばスキャナーの問題で、開発のボトルネックになる要因の一つですね。今回は名前を変更して対処していますが、このようなスキャナーの短所を解決するのが根本的な解決だけれども、今回のような問題がマイナーなケースだとしたら一般的には興味が持たれないのかも

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?