당신의 npm 패키지, 취약성의 괴설. 서둘러 최신으로 해!
요즈음 프런트 web개발로 Node.js가 등장하지 않는 것은 없기 때문에, 여러분 사용하시겠습니까라고 생각합니다만, 제대로 버전 관리하고 있습니까?
저는 없는 웹 제작자이지만 npm 패키지 없이는 개발할 수 없습니다.
단지 그렇게 말하면 버전 관리를 하고 있지 않다고 생각해, 현재 버전과 최신 버전을 비교해 보는 것에. 그렇다면 ...
$ npm outdated
微妙にパッケージが古くなってた...
npm-check-updates 설치
먼저 package.json을 최신 버전으로 업그레이드하는 npm-check-updates를 설치합니다.
npm i npm-check-updates
그렇다면,
ncu -u
그러면
Run npm install to install new versions.
라는 메시지가 나오면 OK, 마지막으로 패키지를 설치합니다.
npm i
그러면...
뭔가 불안한 메시지.
660의 취약성이 있기 때문에 고치기 위해 npm audit fix하라!
라는 것 같습니다 👀
예...
(npm의 업데이트 사보였던 사람은 모두 수백 레벨이라고 생각됩니다)
우선 명령을 실행합니다. 취약성이 있는 부분을 자동 수정해 주는 명령입니다.
npm audit fix
그러면
나머지 12개의 취약성은 수작업으로 수음! !
라는 것 같다.
진짜.
npm audit
로 취약성 일람을 내보자.
15개의 취약성 가운데, 1개의 위험성이
high
입니다 (취약성으로부터 정규 표현을 사용한 DoS 공격을 받을 가능성이 있다고 합니다)high의 것을 자세히 살펴 보겠습니다.
───────────────┬──────────────────────────────────────────────────────────────┐
│ High │ Denial of Service │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package │ http-proxy │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in │ >=1.18.1 │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ browser-sync [dev] │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path │ browser-sync > http-proxy │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info │ https://npmjs.com/advisories/1486 │
└───────────────┴──────────────────────────────────────────────────────────────┘
browser-syncが依存している、http-proxyに問題があるそう。なんぞこれ...?
조사해 보면, 집필 시점 5일전에 업데이트가 나오고 있어 최신판으로 할 필요가 있을 것 같습니다.
우선
$ npm install http-proxy
에서 최신판을 다운로드하고 다시 취약성이 있는 부분을 자동 수정해 주는 명령↓
npm audit fix
그러면...
fixed 9 of 13 vulnerabilities in 1275 scanned packages
4 vulnerabilities required manual review and could not be updated
high 사라졌고, 4개까지 줄일 수 있어서 좋았다! !
누와 ~ 응 지쳐도 ~ 응! !
결론 npm은 정기적으로 관리하라.
버젼은 낡고 있어, 취약성은 있고, 아마 자동화할 수 있는 것이겠지만 약약 엔지니어이므로, 앞으로 조사해 보겠습니다.
모두 npm 패키지의 버전 관리, 하자! !
Reference
이 문제에 관하여(당신의 npm 패키지, 취약성의 괴설. 서둘러 최신으로 해!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/samuraibrass/items/a6cb086652c30ef1329b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)