새 수정 사항에 대한 자동 PR 생성 (Fix PRs)

circle-info

기능 가용성

  • 자동 수정 PR 기능은 다음 SCM 통합에서 지원됩니다: GitHub, GitHub Enterprise, GitHub Cloud App, Bitbucket Server, Bitbucket Cloud, Bitbucket Connect, GitLab 및 Azure Repos.

  • 자동 수정 PR 설정은 통합에 따라 다를 수 있습니다.

취약점에 대한 자동 PR 생성에는 다음 규칙이 적용됩니다.

  • 풀 리퀘스트는 테스트 및 자동 풀 리퀘스트 빈도(Test & Automated Pull Request Frequency) 알림 설정에 따라 생성됩니다.

  • 프로젝트에 대해 **지금 다시 테스트(Retest now)**를 선택하면 스캔이 수동으로 실행됩니다. 24시간 주기에 스캔이 실행된 것으로 표시되며, 다음 자동 스캔이 실행될 때까지 자동 PR은 생성되지 않습니다.

  • 프로젝트당 하나의 풀 리퀘스트가 생성됩니다.

  • **새로운 취약점(new vulnerability)**이란 동일 프로젝트의 이전 스캔에서는 존재하지 않았으나 현재 반복 스캔에서 발견된 취약점을 말합니다.

  • 취약점이 새롭고 수정 사항이 있거나, 또는 수정 사항이 새롭고 무시되지 않은 경우 수정 PR이 생성될 수 있습니다.

  • 패키지를 업그레이드하여 취약점을 수정하면 때때로 새로운 취약점이 유입될 수 있습니다. Snyk은 수정된 취약점의 심각도가 새로 도입된 취약점보다 높을 때만 이러한 풀 리퀘스트를 자동으로 생성합니다.

  • 알려진 취약점에 대해서는 자동 백로그 PR 구성을 참조하십시오.

테스트 및 자동 풀 리퀘스트 빈도 설정
테스트 및 자동 풀 리퀘스트 빈도 설정

마지막 24시간 주기가 언제 시작되었는지 확인하려면 프로젝트 이슈 카드의 **반복 테스트로 생성된 스냅샷(Snapshot taken by recurring test)**을 확인하고, 특정 스캔 결과에 대해서는 이메일의 [snyk] Vulnerability alert를 확인하십시오.

16시간 전에 반복 테스트로 생성된 스냅샷
16시간 전에 반복 테스트로 생성된 스냅샷

새로운 취약점에 대한 풀 리퀘스트는 새로운 통합의 경우 기본적으로 활성화되어 있습니다.

지원되는 통합에 대한 자세한 내용은 Git 리포지토리 SCM 통합 페이지를 참조하십시오.

통합을 위한 풀 리퀘스트 활성화 또는 비활성화

전역 통합 수준에서 풀 리퀘스트를 활성화하려면 다음 단계를 따르십시오.

  1. 설정(Settings) > **통합(Integrations)**으로 이동합니다.

  2. SCM 통합(예: GitHub)을 선택합니다.

  3. **새로운 취약점(New vulnerabilities)**을 활성화하고 **저장(Save)**을 클릭합니다.

**재정의된 모든 프로젝트에 변경 사항 적용(Apply changes to all overridden Projects)**을 클릭하면 **자동 수정 PR(Automatic fix PRs)**에 대한 모든 개별 프로젝트 설정이 업데이트됩니다. 이전에 자동 수정 풀 리퀘스트에 대해 자체 설정을 가지고 있던 프로젝트의 경우, 이 버튼을 클릭하면 프로젝트 설정이 전역 설정으로 재정의됩니다.

자동 수정 PR 구성

**동일한 종속성의 모든 취약점을 단일 PR로 수정(Fix all vulnerabilities for the same dependency in a single PR)**을 선택하면, 이슈 해결을 위해 열린 PR에 해당 이슈를 수정하는 업그레이드 관련 잠재적 PR도 추가됩니다. 따라서 취약점의 인스턴스 하나를 수정하면 다른 취약점들도 암시적으로 수정될 수 있음을 의미합니다.

점수 및 심각도에 대한 생성 임계값 설정

반복 테스트에서 발견된 모든 실행 가능한 새로운 취약점에 대해 Snyk은 수정 PR을 생성합니다. 이는 조직에서 원하는 속도에 따라 이상적이지 않을 수 있으므로, 임계값 설정을 통해 요구 사항에 맞는 특정 기준을 설정할 수 있습니다.

어떤 자동 수정 PR이 사용자에게 표시될지 결정하기 위해 점수(Score) 또는 **심각도(Severity)**에 대한 사용자 정의 임계값을 설정할 수 있습니다. 조직에 구성된 설정에 따라 드롭다운에서 위험(Risk) 점수 또는 우선순위(Priority) 점수를 사용할 수 있습니다.

점수 임계값 (Score threshold)

점수별 수정 PR 임계값

Snyk은 점수(Score) 필드에 설정한 임계값 이상의 경우에만 수정 PR을 생성합니다. 사용 중인 점수 유형이 드롭다운 옵션으로 표시됩니다. 이 임계값의 범위는 0-1000입니다.

점수에 대한 기본 설정값은 다음과 같습니다.

  • 2024년 12월 5일 이전에 생성된 조직의 기본 점수는 0입니다.

  • 2024년 12월 5일 이후에 생성된 조직의 기본 점수는 700입니다.

  • 2025년 6월 5일 이후에는 설정에서 점수를 구성하지 않은 한 모든 조직의 기본 점수가 700이 됩니다.

심각도 임계값 (Severity threshold)

심각도별 수정 PR 임계값

Snyk은 선택한 심각도 수준(예: 치명적 및 높음)에 대해 수정 PR을 생성합니다.

단일 프로젝트에 대한 풀 리퀘스트 활성화 또는 비활성화

프로젝트 수준에서 활성화 또는 비활성화하면 해당 프로젝트에 대해서만 풀 리퀘스트 설정이 재정의되므로 전역 통합 설정을 상속하지 않습니다.

  1. 프로젝트(Projects) 아래에서 프로젝트를 선택하고 **설정(Settings)**을 선택합니다.

  2. SCM 통합(예: GitHub)을 선택합니다.

  3. 자동 수정 풀 리퀘스트(Automatic fix pull requests) 섹션에서:

    • **이 프로젝트만 사용자 정의(Customize for only this project)**를 선택합니다.

    • **새로운 취약점(New vulnerabilities)**을 활성화합니다.

    • **변경 사항 저장(Save changes)**을 선택합니다.

프로젝트 수준에서의 자동 수정 풀 리퀘스트 설정
프로젝트 수준에서의 자동 수정 풀 리퀘스트 설정

Last updated