JavaScript용 SCM 통합

Snyk이 지원하는 모든 SCM 통합에서 JavaScript 리포지토리를 가져올 수 있습니다. 조직 수준 통합을 참조하십시오. 가져오기 후, Snyk은 지원되는 매니페스트 파일을 기반으로 프로젝트를 분석합니다.

JavaScript용 Snyk 언어 설정 구성

조직 수준에서 오픈소스 및 라이선싱에 대한 언어 설정을 구성할 수 있습니다. 구성 설정은 해당 조직의 모든 프로젝트에 적용됩니다. 구성 방법은 다음과 같습니다:

  1. Snyk 웹 UI에서 Settings > Snyk Open Source > Languages > JavaScript로 이동합니다.

  2. Edit settings를 클릭합니다.

  3. 패키지 관리자(npm, pnpm 또는 Yarn)에 따라 설정을 구성합니다.

    • Scan and fix dev dependencies: 이 옵션을 선택하면 Snyk은 package.jsondevDependencies 속성을 읽고 그에 따라 취약점을 보고하고 수정합니다.

    • Require package.json and package-lock.json/yarn.lock files to be in sync: 이 옵션이 선택된 경우 package.jsonpackage-lock.json/yarn.lock/pnpm-lock.yaml 파일이 동기화되지 않으면 Snyk은 가져오기에 실패합니다.

    • Exclude package-lock.json from being generated when fixing vulnerabilities: 사설 미러(mirrors)나 레지스트리를 사용하는 경우, Snyk은 npm 레지스트리를 사용하여 락파일을 업데이트하므로 Snyk에서 생성된 락파일이 적절하지 않을 수 있습니다. 엔터프라이즈 고객은 패키지 리포지토리 통합을 사용하여 락파일이 올바르게 업데이트되도록 할 수 있습니다. 또는 이 설정을 통해 Snyk 수정 풀 리퀘스트 및 머지 리퀘스트에서 락파일이 생성되지 않도록 선택할 수 있습니다.

  4. Update Settings를 클릭하여 변경 사항을 저장합니다.

패키지 레지스트리 통합 (Artifactory/Nexus)

circle-info

Artifactory, Nexus, npm Teams 및 npm Enterprise 패키지 레지스트리 통합은 Snyk 엔터프라이즈(Enterprise) 플랜에서만 사용할 수 있습니다.

Snyk Open Source 게이트키퍼(Gatekeeper) 플러그인은 Artifactory와 통합되어 취약점 및 라이선스 문제가 있는 패키지를 빌드 시 다운로드하지 못하도록 차단합니다.

Snyk Open Source는 또한 Artifactory, Nexus, npm Teams 및 npm Enterprise와 통합하여 애플리케이션의 보안 테스트를 지원할 수 있습니다. Snyk은 이 통합을 종속성 해결, 수정 계산 및 락파일 재잠금에 사용합니다.

프로젝트가 이러한 리포지토리의 비공개 종속성을 참조하지만 Snyk 엔터프라이즈 사용자가 아닌 경우, 적절하게 구성된 로컬 환경(예: 빌드 파이프라인)에서 Snyk CLI를 사용하여 이러한 종속성을 해결하고 테스트에 포함할 수 있습니다.

자세한 내용은 다음 외부 리소스를 참조하십시오:

Fix PR 및 npm save-prefix

npm v7+ 프로젝트를 사용하여 취약점 수정을 생성할 때, Snyk은 프로젝트에서 추론하는 대신 기본 npm save-prefix를 사용합니다.

즉, 캐럿 범위(^) 이외의 범위 형식을 사용하는 종속성이 있는 경우, package-lock.json 파일의 version 필드에 추가적인 변경 사항이 나타날 수 있습니다.

이러한 변경 사항은 package.json에서 범위를 읽으므로 일상적인 기능에는 영향을 주지 않습니다.

Yarn zero-installs 사용자를 위한 Fix PR

Yarn v2에서는 zero-installsarrow-up-right 기능이 출시되어, Yarn 개발자가 자신의 머신에 종속성을 설치하기 위해 yarn을 실행하지 않고도 프로젝트에서 작업할 수 있게 되었습니다.

Zero-installs는 프로젝트의 모든 종속성을 .yarn/cache 디렉토리 안에 설치하고 사용자가 이를 버전 관리 시스템에 커밋하도록 함으로써, 다음 개발자가 리포지토리에서 직접 새로운 종속성을 가져올 수 있도록 합니다.

circle-info

zero-installs 기능을 사용하는 경우, Snyk Fix PR은 .yarn/cache 디렉토리를 업데이트하지 않습니다. 이 디렉토리를 업데이트하려면 yarn을 실행해야 합니다.

Last updated