GitHub Package Firewall 사용법|npm 설정·설치 차단·예외 승인
GitHub Package Firewall은 npm 패키지를 내려받기 전에 기업 보안 정책으로 검사하는 기능입니다. 2026년 10월 20일 공개 미리보기로 출시됐습니다. 기업 정책을 설정한 뒤 개발 PC·CI·코딩 에이전트의 패키지 요청 경로도 바꿔야 합니다.
2026년 10월 21일 확인 기준
대상: GitHub Enterprise Cloud 및 데이터 레지던시 지원 Enterprise Cloud
지원 패키지: npm만 지원
요금: 미리보기 기간 무료, 정식 출시 시 사용량 기반 과금 예정
상태: 공개 미리보기로 기능·조건 변경 가능
어디에서 검사하나요?
외부 패키지 저장소와 설치 환경 사이에서 패키지 목록 요청과 다운로드를 검사합니다. 도서관에서 책을 빌리기 전에 확인하는 창구처럼 생각하면 쉽습니다. 정책을 켜도 외부 저장소로 직접 향하는 요청은 이 검사 경로를 통과하지 않습니다.
출처: GitHub 출시 안내
정책과 npm 설정
기업 관리자 또는 기업 보안 관리자가 Enterprise → Policies → Package firewall에서 설정합니다.
| 검사 항목 | 확인할 내용 |
|---|---|
| 알려진 악성 패키지 | Advisory Database 악성 경고 대조 |
| 취약점 | 차단할 최소 심각도 선택 |
| 증명 정보 저하 | 이전 버전에 있던 SLSA 증명이 사라졌는지 검사 |
| 새 설치 스크립트 | 최근 추가된 설치 실행 스크립트 검사 |
| 최소 패키지 나이 | 기본 1일, 1~365일 설정 또는 0으로 비활성화 |
사용자 수준 .npmrc에 공식 예제를 적용합니다. ENTERPRISE는 기업 slug로 교체합니다. slug는 기업 URL에서 사용하는 식별자입니다. 토큰은 기업 구성원인 사용자·봇 계정과 연결되어야 하며, 문서는 공개 저장소 읽기 외의 상향 권한이 필요하지 않다고 안내합니다.
registry=https://package-firewall.githubapp.com/npm/enterprises/ENTERPRISE
//package-firewall.githubapp.com/npm/enterprises/ENTERPRISE/:_authToken=${GITHUB_TOKEN}
토큰 값은 CI 비밀값 등으로 안전하게 주입하고 저장소에 커밋하지 않습니다. 출처: GitHub 설정·예외 승인 문서
키 유출 경고를 받았다면 별도 대응 절차도 확인하세요.
설치가 차단됐을 때
보안 수정이 들어간 새 버전도 쿨다운 때문에 막힐 수 있습니다. npm 출력이나 CI 로그의 예외 요청 URL을 열고 저장소·패키지명·버전·사유를 제출합니다. 관리자는 Security and quality → Package firewall bypass에서 검토합니다.
운영 시에는 필요한 버전부터 검토하는 편이 좋습니다. *로 승인하면 모든 버전으로 예외가 넓어집니다. 오래된 예외는 Policies → Package firewall → Overrides → Package overrides에서 정리할 수 있습니다.
출처: GitHub 예외 관리 안내
설정 후에도 npm 설치가 안 될 때
설치 실패를 모두 보안 정책 차단으로 판단하지 마세요. 아래 순서는 npm 설정 구조와 GitHub의 인증 조건을 바탕으로 한 점검 제안입니다.
- 정책 차단 안내가 있다면: 차단 사유와 예외 요청 링크부터 확인합니다.
- 인증 오류라면: 설치를 실행하는 셸·CI 작업에
GITHUB_TOKEN이 전달되는지, 해당 계정이 기업 구성원인지 확인합니다. 토큰 값을 로그에 출력하지 마세요. - 다른 저장소로 요청한다면: 프로젝트의
.npmrc, 명령줄 옵션, 환경변수, 패키지 scope별 registry를 점검합니다. 사용자 설정 한 곳만 바꿔도 모든 요청이 바뀐다고 가정하면 안 됩니다.
현재 프로젝트에서 아래 명령으로 기본 registry 설정을 확인할 수 있습니다. 다만 이 출력만으로 실제 다운로드 전체가 방화벽을 통과했다고 입증되지는 않습니다.
npm config get registry
출처: npm 공식 .npmrc 문서, npm 설정 문서
자주 묻는 질문
개인 무료 계정에서도 사용할 수 있나요?
출시 안내의 제공 대상은 GitHub Enterprise Cloud 고객입니다. 개인 무료 계정 지원으로 안내하지 않습니다.
Python 패키지도 검사하나요?
확인 기준일에는 npm만 지원합니다. 다른 생태계 지원은 공식 변경 내용을 확인해야 합니다.
도입 후 무엇을 점검하면 좋나요?
시험 환경에서 요청 경로, 토큰 주입, 차단 로그, 예외 승인 후 재시도를 확인하세요. 이는 운영 점검 제안이며, 실제 환경에서의 설치 결과는 별도 검증이 필요합니다.
