배포 권장 사항
모든 SCM 통합 기능을 동시에 구현하려고 하면 소프트웨어 개발 수명 주기(SDLC)에 마찰이 발생할 위험이 있으며, 이는 결국 개발자 경험을 저하시킵니다.
조직 전체에 Snyk을 원활하게 배포하기 위해 Snyk은 배포 단계, 구성 단계 및 각 단계에 대한 원하는 결과로 구성된 권장 배포 타임라인을 제공합니다.
1단계: 첫 Snyk 조직에서 조직 수준 SCM 통합을 설정합니다. Snyk Essentials에서 그룹 수준 SCM 통합을 설정합니다.
해당 SCM 통합에 대한 설정 설명서를 참조하고 사용자 권한 및 액세스 범위 요구 사항 섹션을 읽어 Snyk 계층 구조의 올바른 사용자에 대한 접근성을 확인하십시오. 해당 Essentials SCM 통합에 대한 설정 설명서를 참조하십시오.
프로젝트를 가져올 준비가 된 구성된 통합. Essentials는 Git 리포지토리를 감지하여 Snyk 스캔 롤아웃 진행 상황을 추적할 수 있도록 합니다.
2단계: 통합된 SCM에서 모든 관련 프로젝트를 가져옵니다.
• 공개 및 비공개 리포지토리 모두 테스트
• 모든 사용자 알림 비활성화
• Snyk PR 상태 확인 비활성화
• 자동 수정 풀 리퀘스트 비활성화
• 자동 종속성 업그레이드 풀 리퀘스트 비활성화
• Dockerfile 기본 이미지 업데이트 비활성화
Snyk은 가져온 리포지토리를 스캔하여 지원되는 모든 파일을 감지하고 감지된 취약점을 볼 수 있는 프로젝트로 생성합니다. 이러한 기능을 비활성화하면 초기 설정 및 Snyk 사용에 대한 잠재적인 차단 요소가 제거됩니다. 이렇게 하면 배포를 차단하지 않고 예약된 스캔과 보고에 대한 높은 가시성을 확보할 수 있습니다.
3단계: Snyk 우선 순위 지정 보고 기능을 사용하여 수정 계획을 수립합니다.
Snyk 우선 순위 점수 및 Snyk 위험 점수에 대해 자세히 알아보고 이러한 기능을 활용하여 수정할 문제의 우선 순위를 지정하는 방법을 이해하십시오.
수정 프로세스를 간소화하기 위해 수정해야 할 사항과 시기에 대해 개발자와 보안 부서 간의 조정.
4단계: Snyk PR 확인 및 자동 수정 PR을 구성하여 개발자에게 실시간으로 문제를 알리고 사용 가능한 수정을 제공합니다.
개발자가 PR에 사용 가능한 수정이 있는 심각도가 높은 문제가 포함되어 있는지 알 수 있도록 Snyk PR 상태 확인을 활성화합니다.
개발자가 리포지토리에 병합되기 전에 새로운 문제를 쉽게 확인하고, 추가되는 새로운 취약점 수를 줄이고, 병합 차단에 대한 결정을 내릴 수 있도록 합니다.
5단계: 개발자가 새로운 취약점을 도입하지 못하도록 방지합니다.
SCM 도구에서 분기 보호를 활성화하여 실패한 Snyk PR 상태 확인이 있는 PR이 병합되지 않도록 합니다.
이 변경 사항은 Snyk이 새로운 취약점을 감지하면 PR이 리포지토리에 병합되는 것을 방지합니다. 시간이 지남에 따라 수정 가능 여부에 관계없이 모든 심각 또는 치명적인 심각도 문제를 포함하도록 확인의 민감도를 조정할 수 있습니다.
6단계: Snyk 자동화 기능을 활성화하여 문제를 해결하고 종속성을 최신 상태로 유지하여 기술적 보안 부채를 줄입니다.
자동 수정 풀 리퀘스트 활성화. 자동 종속성 업그레이드 활성화.
Snyk은 가장 심각도가 높은 문제를 해결하기 위해 자동으로 PR을 제기합니다. 종속성을 최신 상태로 유지하면 조사하고 해결하는 데 시간이 많이 걸릴 수 있는 향후 설계상의 골칫거리와 긴급 수정을 줄이는 데 도움이 됩니다.
1단계: 조직 및 그룹 수준 SCM 통합 설정
Snyk은 GitHub, GitHub Enterprise, Bitbucket Cloud 등을 포함한 조직 수준 SCM 통합을 제공합니다.
자세한 내용은 Snyk 통합 설정을 참조하십시오.
Snyk은 GitHub, GitLab, Azure DevOps 및 Bitbucket을 포함하여 Snyk Essentials에 사용할 수 있는 그룹 수준 SCM 통합을 제공합니다.
자세한 내용은 그룹 수준 SCM 통합을 참조하십시오.
리포지토리에 대한 SCM 권한
수정 PR 열기 또는 프로젝트 재테스트와 같이 Snyk UI를 사용하여 트리거되는 작업은 실행 사용자를 위해 수행됩니다. 따라서 이러한 작업을 수행하려면 자신의 SCM 사용자 또는 서비스 계정을 연결해야 합니다. 이렇게 하면 Snyk에 이러한 작업을 수행하려는 리포지토리에 필요한 권한이 부여됩니다.
이러한 권한에 대한 자세한 내용은 선택한 SCM 통합에 대한 사용자 권한 및 액세스 범위 요구 사항을 참조하십시오.
알림 설정 변경
기본적으로 Snyk은 프로젝트의 종속성에서 새로운 문제나 수정 사항이 발견되면 모든 조직 사용자에게 이메일을 보내고 각 사용자에게 조직 전체의 보안 상태에 대한 주간 업데이트를 제공합니다. 조직에 많은 프로젝트를 가져올 계획인 경우 사용자에게 여러 이메일 알림이 전송되는 것을 방지하려면 해당 조직에 대한 모든 알림을 비활성화하는 것이 좋습니다.
조직 사용자가 받는 이메일을 사용자 정의하려면 설정 > 알림 > 알림 설정으로 이동하십시오. 여기서 변경한 내용은 모든 조직 구성원에게 영향을 미치지만 조직 사용자는 사용자 수준 계정 설정에서 이러한 기본 설정을 재정의할 수 있습니다.
가져오기 전에 조직의 모든 사용자에 대한 알림을 비활성화하려면 해당 알림 상자를 선택 취소하십시오. 자세한 내용은 알림 관리를 참조하십시오.
2단계: 프로젝트 가져오기
Snyk UI에서 프로젝트 페이지로 이동하여 프로젝트 추가를 선택하고 Snyk으로 가져올 리포지토리를 선택한 다음 선택한 리포지토리 추가를 클릭합니다.
Snyk은 전체 디렉토리 트리에서 종속성 파일(예: package.json)에 대해 선택한 리포지토리를 스캔하기 시작하고 이러한 파일을 프로젝트로 가져옵니다.
Snyk은 루트 폴더와 정의된 모든 사용자 지정 파일 위치를 평가합니다. 매니페스트 또는 구성 파일을 찾을 수 없는 경우 Snyk은 가져올 수 있는 파일이 없음을 알립니다.
Snyk은 매니페스트 파일(프로젝트)을 감지하고 테스트한 다음 결과를 표시합니다. 가져온 프로젝트는 리포지토리 이름 아래에 나타납니다. 프로젝트를 가져온 후에는 지속적으로 취약점을 확인합니다.
프로젝트를 가져왔는지 확인하려면 통합에 대한 프로젝트 추가 가져오기 페이지로 이동하십시오. 가져온 프로젝트는 리포지토리 이름 옆에 ✔로 표시됩니다.
자세한 내용은 프로젝트 가져오기를 참조하십시오.
3단계: PR에서 Snyk 테스트 활성화
PR 테스트 설정 및 워크플로
기본적으로 Snyk은 모니터링되는 리포지토리에 제출된 모든 풀 리퀘스트를 스캔하고 결과와 권장 사항을 단일 보안 확인 및 단일 라이선스 확인에 함께 그룹화하여 표시합니다.
상태 세부 정보
세부 정보 링크를 클릭하여 Snyk 확인 상태를 표시합니다. 상태 옵션은 다음과 같습니다.
성공: 문제가 식별되지 않았고 모든 확인이 통과되었습니다.
처리 중: 이 상태는 Snyk 테스트가 완료될 때까지 표시됩니다.
실패: 확인을 통과하려면 수정해야 하는 문제가 식별되었습니다.
오류: 다음 문제 중 하나가 발생했을 수 있음을 나타냅니다.
매니페스트 파일이 동기화되지 않았을 수 있습니다.
Snyk이 매니페스트 파일을 읽을 수 없습니다.
Snyk이 매니페스트 파일을 찾을 수 없습니다.
PR 확인 설정 관리
관리자는 조직 수준에서 각 SCM 통합에 대한 Snyk PR 확인 설정을 관리한 다음 이러한 설정을 해당 통합에 대한 모든 프로젝트 또는 선택한 특정 프로젝트에 적용할 수 있습니다. 이 기능이 켜져 있는지 여부(기본적으로 활성화됨)를 구성하고 Snyk이 PR 확인에 실패해야 하는 시기를 정의하는 실패 조건을 설정할 수 있습니다.
이 프로세스의 세부 정보는 통합 수준에서 PR 확인 구성 및 프로젝트 수준에서 PR 확인 구성을 참조하십시오.
Snyk 라이선스 정책을 사용하여 Snyk PR이 라이선스 문제에서 자유로운지 확인하십시오. 자세한 내용은 라이선스를 참조하십시오.
초기 단계: 가시성 확보 및 실패 조건 설정
SCM 통합을 처음 롤아웃할 때 Snyk은 개발자가 Snyk 커밋 확인을 보는 데 익숙해지도록 PR을 실패시키지 않고 테스트하도록 설정하여 시작하는 것을 권장합니다.
조직 수준 또는 특정 프로젝트에 대해 통합에 대한 PR 테스트를 적용하기로 결정합니다.
PR 확인 설정 관리 섹션에 설명된 대로 실패 조건을 설정합니다.
PR이 문제가 있는 종속성을 추가할 때만 실패 실패 조건을 선택합니다.
심각 또는 치명적인 심각도 문제에 대해서만 실패 및 발견된 문제에 수정이 있을 때만 실패를 모두 확인합니다.
4단계: 차단 PR 활성화
Snyk을 소프트웨어 개발 수명 주기(SDLC)에 내장하고 우수한 개발자 인지도를 구축한 후에는 다음과 같이 더 엄격한 정책을 적용하여 전반적인 보안 태세를 개선할 수 있습니다.
낮은 우선 순위 프로젝트: 수정 가능한 새로운 고심각도 문제에 대해서만 PR을 실패시킬 수 있습니다.
중간 우선 순위 프로젝트: 고심각도 문제에 대해서만 PR을 실패시킵니다.
높은 우선 순위 프로젝트(PCI/GDPR 준수): 모든 문제에 대해 PR을 실패시킵니다.
취약점 심각도를 내부 정책에 맞추려면 보안 정책을 사용하여 문제의 심각도를 변경하고 관련 프로젝트 속성에 연결하십시오. 자세한 내용은 보안 정책을 참조하십시오.
5단계: 자동 수정 PR
Snyk은 매일 또는 매주 프로젝트를 스캔합니다. 새로운 취약점이 발견되면 Snyk은 이메일로 알리고 리포지토리에 대한 수정 사항이 포함된 자동화된 PR을 엽니다.
조직의 모든 프로젝트에 대한 자동 수정 PR 설정을 구성하려면 관련 조직을 선택하고 조직 설정 > 통합 > 설정 편집으로 이동하십시오.

조직에서 특정 프로젝트를 선택하고 설정 탭으로 이동하여 프로젝트별로 설정을 구성할 수도 있습니다. 자세한 내용은 프로젝트 설정 보기 및 편집을 참조하십시오.
Snyk은 개발자가 패치를 사용하고 실행하는 방법에 익숙하지 않은 경우 자동 수정 PR에서 패치를 제외할 것을 권장합니다.
개발자에게 자동 수정 PR에 표시되는 병합 조언 레이블을 고려하도록 요청하십시오.
Snyk 자동 수정 PR은 새로운 문제에 대해서만 생성됩니다.
SCM이 GitHub이고 Snyk Broker를 사용하지 않는 경우 기본적으로 Snyk은 자동 수정 PR을 열기 위해 모든 조직 사용자의 자격 증명을 순환합니다. 필요한 경우 이를 변경하고 자동 수정 PR을 열도록 사용자 자격 증명을 설정할 수 있습니다. 자세한 내용은 고정된 GitHub 계정에서 수정 및 업그레이드 풀 리퀘스트 열기를 참조하십시오.
6단계 - 종속성 업그레이드 PR
그룹이 보안 기술 부채 해결을 시작할 준비가 되면 Snyk이 자동으로 풀 리퀘스트(PR)를 생성하여 종속성을 업그레이드하도록 구성할 수 있습니다.
자동 업그레이드 PR 작동 방식
ProjectIntegration이 구성되고 사용자는 자동 업그레이드 PR을 활성화합니다.
Snyk은 프로젝트를 가져올 때 스캔하고 정기적으로 스캔하여 프로젝트를 계속 모니터링합니다.
각 스캔에 대해 Snyk이 종속성에 대한 새 버전을 식별하면 다음을 수행합니다.
Snyk은 Snyk 프로젝트 설정에 따라 빈도로 자동 업그레이드 PR을 생성합니다.
Snyk은 다른 열린 Snyk PR에서 이미 변경(업그레이드 또는 패치)된 종속성에 대해 새 업그레이드 PR을 열지 않습니다.
Snyk은 각 종속성에 대해 별도의 PR을 엽니다.
Snyk은 5개 이상의 Snyk PR이 열려 있는 리포지토리에 대해 업그레이드 PR을 생성하지 않습니다. 열린 PR의 한도에 도달하면 새 PR이 생성되지 않습니다. 이 숫자는 설정에서 1에서 10 사이로 설정할 수 있습니다. 이 제한은 업그레이드 PR을 생성할 때만 적용되지만 수정 PR은 계산됩니다. 수정 PR은 이러한 방식으로 제한되지 않습니다.
기본적으로 Snyk은 패치 및 부 버전 업그레이드만 권장하지만, 기능이 활성화된 설정에서 주 버전 업그레이드를 활성화할 수 있습니다.
최신 적격 버전에 프로젝트에서 아직 발견되지 않은 취약점이 포함된 경우 Snyk은 업그레이드를 권장하지 않습니다.
Snyk은 21일 미만인 버전에 대한 업그레이드를 권장하지 않습니다. 이는 기능 버그를 도입하고 이후에 게시 취소되는 버전이나 손상된 계정(계정 소유자가 악의적인 의도를 가진 사람에게 제어권을 잃은 경우)에서 릴리스된 버전을 피하기 위한 것입니다.
지원되는 언어 및 리포지토리
Snyk은 GitHub, GitHub Enterprise Server 및 BitBucket Cloud를 통해 npm, Yarn 및 Maven-Central 프로젝트에 대한 자동 업그레이드 PR을 지원합니다. Snyk Broker와 함께 사용하는 것이 지원됩니다. Broker와 함께 사용하려면 관리자에게 먼저 v4.55.0 이상으로 업그레이드하도록 요청하십시오.
특정 프로젝트에 대한 자동 종속성 업그레이드 PR 활성화
프로젝트 수준에서 PR 설정을 지정하고 조직 수준에서 구성된 PR 설정을 재정의하려면 다음을 수행하십시오.
자동 업그레이드 PR을 활성화하려는 조직을 열고 프로젝트 탭으로 이동합니다.
관련 프로젝트를 선택하고 확장한 다음 관련 대상을 선택하고 톱니바퀴 아이콘을 사용하여 설정을 엽니다.
설정 영역의 왼쪽 패널 메뉴에서 통합 설정을 클릭하여 해당 특정 프로젝트에 대한 고유한 설정을 적용합니다.
로드되는 설정에서 자동 종속성 업그레이드 풀 리퀘스트로 스크롤하여 비활성화됨을 클릭합니다.
나타나는 옵션에서:
Snyk은 리포지토리당 동시에 최대 10개의 열린 PR을 생성합니다. 이 숫자를 더 제한하려면 드롭다운 목록에서 최대 PR 수를 선택하십시오. 자세한 내용은 자동 PR로 종속성 업그레이드를 참조하십시오.
무시할 종속성 필드에 자동 기능의 일부로 처리해서는 안 되는 종속성의 정확한 이름을 입력합니다. 이 필드는 소문자만 허용합니다.
종속성 설정 업그레이드를 클릭하면 Snyk이 이 프로젝트를 스캔할 때마다 스캔 결과에 따라 업그레이드 PR을 자동으로 제출합니다. 기존 Snyk 업그레이드 PR 또는 기존 수정 PR에 대해 새 버전이 릴리스된 경우 Snyk이 새 PR을 제기하기 전에 기존 PR을 닫거나 병합해야 합니다.
Last updated