깃허브가 7월 31일자로 2단계 인증(2FA)을 건너뛰도록 설정한 npm 세밀 접근 토큰(GAT)에서 관리 권한을 걷어냈어요. 이제 이 토큰으로는 토큰을 새로 만들거나 지우기, 비밀번호·이메일·2FA 설정 바꾸기, 패키지 접근 권한·메인테이너·신뢰 게시(trusted publishing) 설정 바꾸기, 조직·팀 멤버십 관리를 할 수 없고 전부 사람이 직접 2FA를 통과해야 해요. npm publish 자체는 아직 되지만 2027년 1월을 목표로 그것도 끊겨서, 비공개 패키지 읽기와 '올려두고 사람이 2FA로 승인하는' 방식만 남아요.
용어 풀이
- 2FA
- 비밀번호 외에 인증 앱·문자 같은 두 번째 수단을 더 요구하는 로그인 방식
- GAT
- npm에서 패키지와 권한 범위를 좁혀 발급하는 접근 토큰
- OIDC
- 빌드 서버가 자기 신원을 증명해 그때그때 짧게 사는 자격을 받아 오는 표준 인증 방식
운영자 인사이트
릴리스 자동화가 npm 토큰으로 메인테이너나 토큰 자체를 손대고 있었다면 이제 깨져요. 게시는 2027년 1월까지 유예지만 대안인 신뢰 게시(OIDC)가 깃허브 액션·GitLab·CircleCI가 직접 돌려 주는 러너에서만 되고 자체 호스팅 러너·젠킨스·애저 파이프라인은 아직 빠져 있어서, 파이프라인이 그쪽이면 유예 기간이 곧 옮겨 갈 시간이에요.
여러 관점으로 보기
- 예고와 시행 7월 8일 npm 12 공지 때 '8월 초 시행'으로 예고했던 조치가 실제로 켜진 거예요. GitHub Changelog
- 현장 반발 공식 논의 스레드에서 애저 파이프라인·젠킨스·자체 호스팅 러너를 쓰는 관리자들이 옮겨 갈 곳이 없다고 지적했고, npm 쪽은 조직 단위 OIDC 설정을 개발 중이라고만 답했어요. GitHub Community Discussions
- 대안의 한계 신뢰 게시는 깃허브 액션·GitLab·CircleCI가 직접 돌려 주는 러너만 지원하고, 패키지 하나에 신뢰 게시자도 하나만 걸 수 있어요. npm Docs
- 왜 지금인가 5월 'Mini Shai-Hulud' 웜이 빌드 서버에 박힌 오래 사는 토큰을 훑어 502개 프로젝트를 오염시키자, npm이 5월 19일 2FA 우회 토큰을 전면 초기화했어요. Socket