前幾天,突然收到GitHub寄來的email,內容是警告我在GitHub上的專案有相依模組安全性上的疑慮,提醒我要更新到適切的模組版本。
於是,進去GitHub的Security alert review後,確實看到有四個Dependency被警告著。
除此之外,專案如果要push時,Git也會有相關的警告。
若要解決這個問題,可以選擇手動更新,或是利用 automated security fix自動產生PR也行。不過,透過GitHub的bot所自動產生PR更新Dependency有一個缺點,就是在Git的枝幹上,會長出很多小耳朵。如果對Git枝幹有整齊強迫症的人,會受不了。我個人還是比較傾向於手動NPM去更新套件,至少只要刪掉package-lock.json以及node_modules目錄再重新npm install即可。這種方式也只要花一次git commit就解決了。
雖然NPM Audit 也能有這種相依套件安全性檢查,不過只有在安裝套件時NPM會自動audit,沒有人會有事沒事就手動去audit一下。GitHub有這樣主動的提醒功能,實在方便許多。(特別是Free帳號)
補充一下,如果NPM audit有相依套件安全性問題的話,可以利用
npm audit --force
來進行強制性更新。如果不放心的話,也可以自己靠挑選一個一個手動進行更新。
Ref :
https://docs.npmjs.com/auditing-package-dependencies-for-security-vulnerabilities