【npm】패키지의 취약성 대처(비망록)
npm 종속성을 복구하고 싶습니다.
「경고문을 1㎈도 이해하지 않고 npm install로 참깨화해 왔다」사람에게 있어, 한 걸음 내딛는 보조륜이 되면(자) 생각해 메모를 남깁니다
근본적인 이해에 대해서는 별도로 조사해 주세요
목차
package.json과 package-lock.json
node_modules (패키지의 무리)는 git에 push하지 않습니다.
따라서 재현하기 위해 패키지를 기록하는 파일 (package.json)이 필요합니다.
package.json에서 지정한 내용을 바탕으로 npm install에서는 각종 패키지가 설치된다
하지만 실제로 설치되는 것은 package.json에 쓰는 방법이나 타이밍으로 설치되는 것이 바뀝니다.
그 때문에, 실제로 인스톨 된 것이 package-lock.json에 기록된다 (package-lock.json이 존재하지 않는 경우는 생성된다)
따라서 다른 개발 환경에서 npm install 할 때 package-lock.json이 참조됩니다.
고정된 버전으로 각 패키지가 설치되므로 node_modules를 재현할 수 있습니다.
취약성 확인
취약점 확인
npm audit
audit는 감사라는 의미
패키지 종속성에 취약한 부분을 알려주는 명령
※단, npm v6 이상
취약점 자동 수정
취약한 부분의 자동 수정
npm audit fix
npm audit fix --force
어느 정도는 자동 수정해 준다
high,critical을 무너뜨리면 우선 OK
자동 수정하지 않는 부분은 로그를보고 수동으로 고쳤습니다.
취약성 수동 수정
패키지의 위치 참조
npm ls "パッケージ名"
패키지 이름을 지정하여 어디에 패키지가 있는지 찾을 수 있습니다.
불필요한 패키지를 제거하고 다시 설치
패키지 설치
npm install "パッケージ名"
npm install "パッケージ名@バージョン" ※バージョン指定する場合
참고 기사
Qiita 기사
취약성 경고를 받은 npm 패키지의 종속성을 역기능으로 고치기
npm install을 하지 말아야 할 때
npm 패키지의 vulnerability 대응 흐름
【Node.js】package.json과 package-lock.json에 대해 간단히 정리
package-lock.json에 대해 알고 싶어도 듣지 못했습니다.
외부 기사
"npm install"과 "npm ci"의 차이점은 무엇입니까?
package.json 및 package-lock.json의 작동 방법에 대해
이상
잘못된 이해와 설명이 있다면 지적해 주시면 감사하겠습니다.
Reference
이 문제에 관하여(【npm】패키지의 취약성 대처(비망록)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/masatakaaaa/items/22669ab7d53c8c7e09a1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)