node.jsで脆弱性のあるパッケージを手動で更新した

概要

gulp-sass使おうとしたら脆弱性があると言われた。
内部で呼ばれている古いtarが原因だった。
悪いの承知でgulp-sass内のtarを手動で最新版に代えた。
良い子は作者にリクエストして修正を待とうね。
npm auditで検出された脆弱性
npm auditで検出された脆弱性

やったこと

package.jsonを書き換える

※大元の方じゃないので注意。
node_modules
└ node-gyp
 └ package.json ←こいつを書き換える dependenciesの
“tar”: “^2.2.2”,

“tar”: “^4.4.8”,
に書き換える。

インストールと修理

書き換えたら
npm install
して再インストールした後に
npm audit fix
するとキレイにしてくれる。
念の為、
npm audit
して「found 0 vulnerabilities」と表示される事を確認しておく。

npm list [パッケージ名]でバージョン確認

さらに心配ならば
npm list tar
して「tar@2.2.2」が「tar@4.4.8」になっている事を確認しよう。
`-- gulp-sass@4.0.2
  `-- node-sass@4.12.0
    `-- node-gyp@3.8.0
      `-- tar@4.4.8

注意事項

パッケージgulp-sassの依存関係を勝手に書き換えているので動作保証外。
当然である。
本来は作者の方に連絡して直してもらうのがスジ。
…が、実際に動いているプロジェクトの中で発生したらそんな悠長な事言ってられないのも事実。
あくまで自己責任の緊急措置、ということでひとつ。

参考

node.js – npm audit Arbitrary File Overwrite – Stack Overflow

コメントをどうぞ

メールアドレスが公開されることはありません。 が付いている欄は必須項目です