백로그 문제 및 알려진 취약점에 대한 자동 PR 생성 (Backlog PRs)

circle-info

기능 가용성

  • 알려진 취약점에 대한 자동 수정 PR(백로그 PR) 기능은 다음 SCM 통합에서 지원됩니다: GitHub, GitHub Enterprise, GitHub Cloud App, Bitbucket Server, Bitbucket Cloud, Bitbucket Connect, GitLab 및 Azure Repos.

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

Snyk이 취약점에 대해 자동 PR을 생성할 때 다음 규칙이 적용됩니다.

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

  • 우선순위 점수(priority score)가 700점 이상인 이슈에 대해 프로젝트당 하나의 풀 리퀘스트가 생성됩니다.

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

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

    • 테스트 및 자동 풀 리퀘스트 빈도를 업데이트하려면 **프로젝트(Projects)**로 이동하여 오픈 소스 프로젝트를 선택합니다.

    • **설정(Settings)**으로 이동하여 드롭다운 목록에서 옵션을 선택합니다.

프로젝트 테스트 및 자동 PR 검사 빈도 설정
프로젝트 테스트 및 자동 PR 검사 빈도 설정

마지막 24시간 주기가 언제 시작되었는지 확인하려면 프로젝트 이슈 카드의 **반복 테스트로 생성된 스냅샷(Snapshot taken by recurring test)**을 확인하십시오.

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

특정 스캔 결과에 대해 [snyk] Vulnerability alert라는 제목의 이메일 받은 편지함을 확인할 수도 있습니다.

통합 수준에서 자동 수정 PR 구성

GitHub와 같이 이미 Snyk과 통합된 특정 Git 리포지토리에서 자동 수정 PR을 구성하려면 다음 단계를 따르십시오.

circle-exclamation

구성 설정은 해당 조직의 모든 프로젝트에 적용됩니다. 사용자 정의 설정이 있는 프로젝트로 구성을 확장할 수도 있습니다.

  1. Snyk 웹 UI를 열고 설정(Settings) > **통합(Integrations)**으로 이동합니다.

  2. Git 리포지토리 통합(SCM)을 선택합니다. 이 예시에서는 GitHub가 구성되어 있습니다.

  3. 자동 수정 PR(Automatic Fix PRs) 아래에서 **알려진 취약점(Known vulnerabilities - backlog)**을 활성화합니다. 이렇게 하면 프로젝트의 백로그에서 이전에 선언된 취약점을 검색합니다.

Git 통합을 위한 자동 수정 PR 설정.
Git 통합을 위한 자동 수정 PR 설정
  1. 백로그 PR에 대한 **수정 전략(Fix Strategy)**을 선택합니다.

  • 기본적으로 수정 전략은 취약점 수준의 단일 PR입니다. Snyk은 백로그의 이슈에 대해 매일 하나의 PR을 열어 발견된 최상위 취약점을 수정합니다.

  • **동일한 종속성의 모든 취약점을 단일 PR로 수정(Fix all vulnerabilities for the same dependency in a single PR)**을 선택할 수 있습니다. 이는 가장 높은 우선순위의 취약점과 이를 해결하기 위한 수정 사항뿐만 아니라 동일한 종속성의 다른 취약점에 대한 수정 사항도 함께 선택합니다.

  1. **저장(Save)**을 클릭합니다.

  2. (선택 사항) **변경 사항 저장 및 재정의된 모든 프로젝트에 적용(Save changes and apply to all overridden Projects)**을 선택하여 현재 구성을 사용자 정의 설정이 있는 프로젝트로 확장합니다. 이 옵션을 사용하여 모든 프로젝트에 동일한 구성을 적용하십시오. 이 옵션을 선택하면 자동 수정 PR에 대한 모든 개별 프로젝트 설정이 업데이트됩니다. 이전에 자동 수정 풀 리퀘스트에 대해 자체 설정을 가지고 있던 프로젝트의 경우, 이 옵션을 선택하면 프로젝트 설정이 전역 설정으로 재정의됩니다.

프로젝트 수준에서 자동 수정 PR 구성

프로젝트가 전역 통합 설정을 상속하도록 하는 대신 특정 프로젝트에 대해서만 자동 수정 PR이 작동하도록 구성할 수 있습니다.

  1. **프로젝트(Projects)**로 이동하여 오픈 소스 프로젝트가 포함된 타겟(target)을 확장합니다.

  2. **설정(Settings)**으로 이동하여 통합(예: GitHub)을 선택합니다.

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

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

    • **알려진 취약점(Known vulnerabilities - backlog)**을 활성화합니다.

  4. 통합 구성의 수정 전략 단계에서 설명한 대로 백로그 PR에 대한 **수정 전략(Fix Strategy)**을 선택합니다.

  5. **변경 사항 저장(Save changes)**을 클릭합니다.

프로젝트 수준에서의 자동 수정 PR 설정.
프로젝트 수준에서의 자동 수정 PR 설정

Last updated