PR에서 Snyk 활성화 및 구성하기
PR Checks를 사용하여 게이팅 도입하기
Snyk Pull Request(PR) 또는 Merge Request (MR) Checks를 사용하면 Pull Request (PR)를 제출할 때 코드 변경 사항을 자동으로 스캔하여 신규 보안 문제가 코드베이스로 들어가는 것을 방지할 수 있습니다. PR Checks는 오픈 소스 취약점, 라이선스 준수 문제 및 사용자의 코드 문제에 대해 사용할 수 있습니다.
소스 제어 통합을 통해 프로젝트를 가져오는 경우, Snyk Open Source PR Checks는 게이팅을 도입하기에 좋은 장소입니다.
PR Checks 구현
개발팀과의 마찰을 피하기 위해 PR Checks를 점진적으로 도입하는 데 도움이 되는 실패 조건을 사용할 수 있습니다.
실패 조건을 사용하면, 테스트가 PR 자체가 문제가 있는 종속성을 추가하는 경우 또는 리포지토리 전체가 문제가 있는 경우 테스트가 실패하게 할 지를 제어할 수 있습니다.
실패한 테스트의 기준도 사용자 정의할 수 있습니다. 기본적으로 테스트는 심각도나 수정 가능성에 따라 필터링되지 않으며, 이는 PR 테스트가 정기적으로 실패할 수 있음을 의미합니다. 테스트를 실패시키는 기준을 사용자 정의할 수 있습니다:
High 또는 Critical 심각도 문제에 대해서만 실패함; Snyk Open Source 및 Snyk Code에서 사용 가능한 기능
문제 해결 방법이 있는 경우에만 실패함; Snyk Open Source에서 사용 가능한 기능
PR Checks를 처음 활성화할 때, Snyk는 높은 심각도 또는 수정 가능한 문제가 발견되면 테스트가 실패하도록 이러한 상자를 모두 선택하는 것을 제안합니다. 이 경우, 개발자에게 문제를 해결할 것을 권장해야 합니다.
기본적으로 이러한 PR 테스트는 선택 사항이며, 테스트가 실패해도 개발자는 계속해서 PR을 병합할 수 있습니다. PR 테스트가 선택 사항인지 또는 차단 여부를 제어하는 것은 GitHub의 브랜치 보호 규칙과 같은 소스 제어 관리 플랫폼에서 설정됩니다.
단계별 롤아웃을 위한 PR Checks 사용
Snyk 기능의 단계별 롤아웃을 하는 것이 일반적입니다. PR 체크를 사용한 예는 다음과 같습니다:
초기에는 Snyk 테스트를 실행하고 소스 제어 설정을 선택 사항 테스트로 설정할 수 있습니다. 결과는 표시되지만 개발자가 PR을 병합하는 것을 방지하지 않습니다.
시간이 지남에 따라, 개발자가 결과를 보고 주요 문제를 적극적으로 해결하기 시작함에 따라 PR이 새로운 높은 또는 심각한 심각도 문제가 있는 경우 또는 Snyk Open Source의 경우 수정이 가능한 경우 PR 병합을 차단하기 시작할 수 있습니다.
이 단계별 롤아웃은 보안 및 개발팀 간의 마찰을 줄이는 데 도움이 됩니다.
추가 정보
Dev-First Prevention Strategies Using PR Checks 웨비나에서 PR 체크에 대해 더 자세히 다루고 이 기능을 점진적으로 도입하는 예시를 포함하고 있습니다.
Last updated