
GitHub 공식 변경 로그에 따르면 npm v12가 일반 제공으로 전환돼 latest 태그가 붙었다. 이번 버전은 지난 6월 예고됐던 설치 시점 보안 기본값을 실제 기본 동작으로 적용하고, 2FA 우회 granular access token의 사용 범위를 단계적으로 줄이는 내용을 함께 담았다.
가장 큰 변화는 npm install 과정에서 자동으로 실행되던 일부 동작이 명시적 허용 방식으로 바뀐 점이다. npm v12에서는 의존성의 preinstall, install, postinstall 같은 lifecycle script와 암묵적인 node-gyp 빌드가 기본적으로 실행되지 않는다. 프로젝트가 신뢰하는 스크립트는 npm approve-scripts 명령 등으로 검토한 뒤 허용 목록에 반영해야 한다.
Git 의존성과 원격 URL 의존성 처리도 더 보수적으로 바뀐다. GitHub는 npm v12에서 --allow-git 기본값이 none으로, --allow-remote 기본값도 none으로 설정된다고 설명했다. 이에 따라 직접 또는 전이적으로 포함된 Git 의존성, HTTPS tarball 같은 원격 URL 기반 의존성은 별도 허용 없이는 해석되지 않는다.
이 변화는 자바스크립트 생태계의 공급망 공격 대응과 맞닿아 있다. 설치 스크립트는 정상 패키지의 빌드나 네이티브 모듈 준비에 쓰이지만, 악성 패키지가 개발자 PC나 CI 환경에서 곧바로 명령을 실행하는 통로로도 악용돼 왔다. npm v12의 기본값 변경은 의존성을 내려받는 행위와 코드를 실행하는 행위를 분리해, 조직이 신뢰 여부를 더 명시적으로 판단하도록 만드는 조치다.
다만 운영 영향도 작지 않다. 네이티브 모듈을 빌드하거나 설치 과정에서 바이너리를 내려받는 패키지, Git 저장소나 원격 tarball을 직접 참조하는 프로젝트는 npm v12 전환 뒤 빌드가 멈출 수 있다. GitHub는 해당 변화가 npm 11.16.0 이상에서 경고 형태로 미리 제공됐다고 설명하며, 업그레이드 전 허용할 스크립트와 의존성 경로를 검토하라고 안내했다.
계정 보안 쪽에서는 2FA 우회 granular access token 제한이 시작된다. GitHub는 2026년 8월 초부터 2FA 우회 토큰이 계정, 패키지, 조직 관리 같은 민감한 작업에서 2FA를 건너뛰지 못하게 될 것이라고 밝혔다. 토큰 생성·삭제, 복구 코드 생성, 비밀번호·이메일·2FA 설정 변경, 패키지 접근권과 maintainer 변경, trusted publishing 설정 변경, 조직·팀 멤버십 관리 등이 영향을 받는다.
이어 2027년 1월 전후에는 2FA 우회 토큰의 직접 publish 기능도 축소될 예정이다. GitHub는 자동 배포 흐름을 장기 publish token에 의존하기보다 OIDC 기반 trusted publishing이나 staged publishing으로 옮기는 방안을 준비하라고 권고했다. npm 공식 문서도 trusted publishing이 토큰 관리 없이 CI/CD 제공자와 패키지 게시를 연결하는 방식이라고 설명한다.
이번 조치는 npm 생태계에서 기본 신뢰 모델이 바뀌고 있음을 보여준다. 과거에는 설치와 게시 흐름의 자동화가 개발 속도를 높이는 데 초점을 맞췄다면, 이제는 자동 실행과 장기 토큰 사용을 줄이고 사람이 승인해야 할 지점을 분명히 하는 방향으로 무게가 이동하고 있다. npm을 핵심 배포 도구로 쓰는 조직은 패키지 설치 정책, CI/CD 권한, publish 방식, 2FA 운영 기준을 함께 점검해야 한다.
출처: GitHub Changelog https://github.blog/changelog/2026-07-08-npm-install-time-security-and-gat-bypass2fa-deprecation/
출처: GitHub Changelog https://github.blog/changelog/2026-06-09-upcoming-breaking-changes-for-npm-v12/
출처: npm Docs https://docs.npmjs.com/trusted-publishers/
출처: npm Docs https://docs.npmjs.com/requiring-2fa-for-package-publishing-and-settings-modification/









