
CVE-2021-43616 데모: npm `ci` 명령이 package-lock.json을 무시하여 의도하지 않은 종속성 버전 설치 및 공급망 위험을 유발합니다.
Repo demonstrating CVE-2021-43616 / https://github.com/npm/cli/issues/2701
node_modules 폴더를 제거하고 npx npm@8 ci를 실행하면, package-lock.json이 2.0.0을 요구함에도 불구하고 npm이 버전 2.2.x(이 커밋 시점의 2.2.16)를 설치하는 것을 볼 수 있습니다.
cat node_modules/shortid/package.json
원래 설치에서 node_modules를 커밋해 두었으므로 npm ci를 실행한 후 문제가 명확히 드러납니다.