InfoGrab DocsInfoGrab Docs

npm 패키지 게시 가이드라인

GitLab에서 npmjs.com에 npm 패키지를 안전하게 게시하기 위한 모범 사례와 가이드라인을 설명합니다.

GitLab은 프로젝트 내부 및 프로젝트 간 코드 재사용성과 모듈성을 향상시키기 위한 수단으로 npm 패키지를 활용합니다. 이 문서는 npmjs.com에 npm 패키지를 안전하게 게시하기 위한 모범 사례와 가이드라인을 설명합니다. 이 가이드라인을 준수함으로써 NPM 패키지를 안전하고 신뢰성 있게 게시할 수 있으며, GitLab 생태계에서의 신뢰와 일관성을 높일 수 있습니다. npm 계정 설정 # npmjs.com 에서 계정을 생성할 때 GitLab 업무용 이메일 ID를 사용하세요. 보안 강화를 위해 이중 인증(2FA) 을 활성화하세요. 계정 변경 사항(예: 이메일 업데이트, 소유권 이전)이 발생하면 이슈를 통해 직접 담당 팀에 알리세요. 패키지 게시 가이드라인 # 보안 및 소유권 # npm 별칭을 사용하는 경우, 해당 별칭이 가리키는 패키지가 합법적이고 안전한지 확인하세요. npm info <yourpackage> alias 를 실행하여 특정 별칭이 무엇을 가리키는지 확인할 수 있습니다. 모든 별칭이 신뢰할 수 있는 합법적인 패키지를 가리키는지 확실히 확인하세요. GitLab 프로젝트에서 다음을 활성화하여 npm 레지스트리(예: npmjs.com, GitLab npm 레지스트리 등)에 시크릿이 게시되는 것을 방지하세요: 시크릿 푸시 보호 시크릿 탐지 레지스트리 상호작용에 사용되는 NPM 토큰을 보호하세요: OpenBao나 Vault와 같은 외부 시크릿 저장소 사용을 강력히 권장합니다. 최소한, GitLab CI/CD 파이프라인의 환경 변수에 마스킹과 보호가 활성화된 상태로 토큰을 안전하게 저장하세요. 로컬 머신의 보안되지 않은 위치에 토큰을 저장하지 마세요. 대신 1Password에 토큰을 저장하고, 셸 프로파일, .npmrc , .env 와 같은 암호화되지 않은 파일에 이러한 시크릿을 저장하지 마세요. 패키지 작성자로 gitlab-bot 을 추가하세요. 이렇게 하면 팀원의 이메일이 오프보딩 과정에서 무효화되더라도 조직이 소유권을 유지할 수 있습니다. 의존성 무결성 # 환경 전반에 걸쳐 의존성의 일관성을 보장하기 위해 잠금 파일 ( package-lock.json 또는 yarn.lock )을 사용하세요. 특정 버전을 고정하고 악의적이거나 취약한 버전으로의 의도치 않은 업그레이드를 방지하기 위해 의존성 고정/명세 를 고려하세요. 이 방식을 사용하면 의존성 업그레이드가 더 복잡해질 수 있습니다. CI/CD 파이프라인에서 npm install 대신 npm ci (또는 yarn install --frozen-lockfile )를 사용하여 잠금 파일에 정의된 대로 정확하게 의존성이 설치되도록 하세요. 잠금 파일 무결성을 보호하기 위해 untamper-my-lockfile을 실행 하세요. CI/CD 전용 게시 강제 # 패키지는 반드시 로컬 개발자 머신이 아닌, 보호된 브랜치의 GitLab CI/CD 파이프라인을 통해서만 게시 되어야 합니다. 이를 통해 다음이 보장됩니다: 시크릿이 안전하게 관리됩니다. 워크플로가 문서화되고 자동화되어 있어