설치 시 보안 기본값 적용과 2FA 우회 토큰 단계적 제한
npm v12에서 설치 시 보안 기본값이 켜지고, 2FA 우회 GAT의 민감 작업과 직접 게시가 단계적으로 제한됩니다.
교안에 영향
설치 관련 안내 글의 allowScripts, --allow-git, --allow-remote 기본 동작 설명과 2FA-bypass token의 계정 변경·직접 publish 가능 설명은 더 이상 맞지 않습니다.
요약
- npm v12에서 설치 시 보안 기본값이 기본적으로 켜졌습니다. - dependency lifecycle scripts와 implicit node-gyp builds는 allowScripts를 명시해야 실행됩니다. - Git 의존성과 원격 URL 의존성은 각각 --allow-git, --allow-remote를 허용해야 해결됩니다. - 2FA-bypass GAT는 계정·패키지·조직 관리 작업과 직접 publish를 단계적으로 더 이상 수행하지 못합니다.
바뀐 것
새 기능
- npm v12가 정식으로 제공되며 latest로 태그되었습니다.
기타
- install-time security defaults가 기본적으로 켜졌습니다.
- allowScripts의 기본값이 off로 바뀌어 dependency lifecycle scripts와 implicit node-gyp builds가 명시적 허용 없이는 실행되지 않습니다.
- --allow-git의 기본값이 none으로 바뀌어 Git dependencies는 명시적 허용 없이는 해결되지 않습니다.
- --allow-remote의 기본값이 none으로 바뀌어 remote URLs의 dependencies는 명시적 허용 없이는 해결되지 않습니다.
- npm approve-scripts --allow-scripts-pending로 신뢰하는 스크립트를 승인하고 package.json의 allowlist를 커밋할 수 있습니다.
- trusted publishing(OIDC) 또는 human approval이 있는 staged publishing으로 전환하도록 안내합니다.
수정
- 2FA-bypass granular access tokens이 계정 변경 관련 민감 작업에서 2FA를 우회하지 못하게 됩니다.
- 2FA-bypass tokens이 토큰 생성/삭제, 복구 코드 생성, 비밀번호·이메일·프로필·2FA 설정 변경을 수행하지 못하게 됩니다.
- 2FA-bypass tokens이 package access, maintainers, trusted publishing configuration 변경을 수행하지 못하게 됩니다.
- 2FA-bypass tokens이 organization과 team membership 및 package grants 관리를 수행하지 못하게 됩니다.
- 2FA-bypass tokens의 직접 publish 기능이 제거되고, private packages 읽기와 staged publish만 가능해집니다.