npm 신뢰 게시자가 최대 10개로 늘었다: 토큰 없는 배포와 승인 경계

npm 패키지별 OIDC 게시 설정이 최대 10개로 확대됐다. 스테이징·악성코드 검사와 함께 공급망 배포 흐름을 어떻게 바꿀지 정리한다.

npm 신뢰 게시자가 최대 10개로 늘었다: 토큰 없는 배포와 승인 경계

GitHub는 2026년 9월 3일 npm 패키지 하나에 여러 신뢰 게시자(Trusted Publisher) 설정을 둘 수 있다고 발표했다. npm 공식 문서는 패키지당 최대 10개 구성을 지원한다고 명시한다.

GitHub Changelognpm 공식 문서를 기준으로 지원 범위와 기존 설정의 동작을 확인했다.

무엇이 바뀌었나

여러 CI 워크플로가 각자의 단기 자격으로 같은 패키지 게시 관문에 접근하는 흐름
각 게시 설정은 저장소·워크플로·환경 조건을 독립적으로 검사한다.

GitHub Actions, GitLab CI/CD, CircleCI의 서로 다른 워크플로를 한 패키지에 등록할 수 있다. 들어온 OIDC1 토큰이 구성 중 하나와 일치하면 게시 또는 스테이징이 허용된다. 구성은 가산적으로 작동하며 평가 순서는 보장되지 않는다.

개발자에게 왜 중요한가

안정판과 시험판, 서로 다른 CI 제공자 때문에 장기 npm 토큰을 남겨두던 팀이 단기 자격 증명으로 옮길 길이 넓어졌다. 스테이징된 패키지는 악성코드 검사가 끝나기 전 승인할 수 없고, 버전 화면에서 승인·거부·대기 이력을 볼 수 있다.

기존 프로젝트 영향

패키지가 악성코드 검사를 통과한 뒤 사람 승인 단계로 이동하는 장면
스테이징은 검사 완료 뒤 사람 승인을 거쳐 공개 게시로 이어진다.

기존 게시 설정은 자동으로 깨지지 않는다. 2026년 5월 20일 이전 구성은 직접 게시만 허용되며, 9월 3일 이전 구성도 기존 동작을 유지한다. 새 구성은 스테이징을 기본 허용하고 직접 npm publish는 명시적으로 켜야 한다.

적용 전 확인 사항

  • CI에 id-token: write와 최소한의 저장소 읽기 권한만 부여한다.
  • 직접 게시가 꼭 필요한 구성만 선택적으로 허용한다.
  • 복수 구성이 서로를 제한하지 않으므로 불필요한 항목을 제거한다.
  • 스테이징 승인자와 패키지 관리자 권한을 분리하고 이력을 점검한다.

출처


1 OIDC(OpenID Connect): CI가 장기 비밀 토큰 대신 짧게 유효한 신원 증명을 발급받는 표준.