npm v12, 보안 강화로 기본 스크립트 실행 차단
원제: Upcoming breaking changes for npm v12
왜 중요한가
npm 생태계의 공급망 보안을 크게 강화하여 악성 스크립트 실행을 방지하는 중요한 변화다.
GitHub가 2026년 7월 출시 예정인 npm v12에서 보안 강화를 위해 패키지 설치 시 스크립트 자동 실행을 기본적으로 차단한다고 발표했다. allowScripts가 기본값 off로 변경되어 명시적 허용 없이는 preinstall, install, postinstall 스크립트가 실행되지 않는다.
GitHub는 npm v12에서 보안 관련 주요 변경사항을 발표했다. 가장 큰 변화는 allowScripts가 기본적으로 비활성화되어 의존성 패키지의 preinstall, install, postinstall 스크립트가 명시적 허용 없이 자동 실행되지 않는다는 점이다. 이는 네이티브 node-gyp 빌드도 포함하며, Git, 파일, 링크 의존성의 prepare 스크립트도 동일하게 차단된다. 또한 --allow-git과 --allow-remote가 기본값 'none'으로 변경되어 Git 의존성과 원격 URL 의존성 해결이 명시적 허용 없이 불가능해진다. 개발자들은 npm 11.16.0 이상에서 미리 경고를 확인할 수 있으며, npm approve-scripts 명령어로 신뢰하는 패키지를 승인하고 package.json에 허용목록을 저장해야 한다. 이러한 변경사항은 현재 npm 11.16.0+에서 경고로 제공되고 있어 사전 준비가 가능하다.