검색
← 릴리스 노트

npm install 기본 동작의 보안 제한 강화

깃허브 · 동작변경 · 2026.06.09

다음 주요 버전에서 npm install의 스크립트·Git·원격 URL 처리 기본값이 더 엄격해집니다.

교안에 영향

기존 안내 글에서 npm install이 dependency 스크립트와 Git·원격 URL 의존성을 기본으로 처리한다는 설명은 더 이상 맞지 않습니다.

요약

- npm install에서 dependency의 preinstall, install, postinstall 스크립트 실행이 기본적으로 차단되고, 허용 목록은 package.json에 기록됩니다. - Git 의존성은 --allow-git을 명시해야 해석되며, --ignore-scripts와 무관하게 원격 실행 경로를 줄입니다. - 원격 URL 의존성은 --allow-remote를 명시해야 해석되며, --allow-file과 --allow-directory의 기본값은 바뀌지 않습니다. - npm 11.16.0 이상에서 경고를 보고 현재 설치 흐름을 점검한 뒤 npm approve-scripts와 npm deny-scripts로 허용 대상을 정리할 수 있습니다.

바뀐 것

기타 9

  • npm install의 보안 관련 기본 동작을 더 엄격하게 바꾸는 변경이 추가됩니다.
  • allowScripts가 기본적으로 off가 되어 dependency의 preinstall, install, postinstall 스크립트가 자동 실행되지 않습니다.
  • binding.gyp가 있는 패키지의 암묵적 node-gyp rebuild도 별도 허용 없이는 차단됩니다.
  • git, file, link 의존성의 prepare 스크립트도 같은 방식으로 차단됩니다.
  • npm approve-scripts --allow-scripts-pending으로 차단될 스크립트를 확인하고, npm approve-scripts와 npm deny-scripts로 허용 목록을 관리할 수 있습니다.
  • --allow-git이 기본적으로 none이 되어 명시적으로 허용하지 않으면 Git 의존성을 해석하지 않습니다.
  • --allow-remote가 기본적으로 none이 되어 명시적으로 허용하지 않으면 https tarball 같은 원격 URL 의존성을 해석하지 않습니다.
  • --allow-file과 --allow-directory의 기본값은 v12에서 바뀌지 않습니다.
  • npm 11.16.0 이상에서 경고를 통해 기존 설치 흐름을 미리 점검할 수 있습니다.

원문 제목 · Upcoming breaking changes for npm v12