PR 검사 결과 분석
PR 검사 결과
취약점을 수정하기 위해 풀 리퀘스트를 제출한 후, PR 검사는 구성된 임계값을 충족하거나 초과하는 심각도 수준의 이슈를 감지하고 보고서를 제공합니다. 보고서 상태와 결과를 검토하여 풀 리퀘스트 머지 여부를 결정하십시오.
기본 심각도 임계값은 통합 수준 또는 프로젝트 수준에서 변경할 수 있습니다.
결과 상태
통합된 SCM에서 PR 검사 결과의 상태를 확인하여 풀 리퀘스트를 머지하기 전에 해결해야 할 보안 이슈를 식별하십시오.
통합된 SCM에서 Snyk PR 검사에 대해 다음과 같은 상태 표시기가 나타날 수 있습니다.
성공/통과 (Success/Passed)
이슈가 발견되지 않았으며 매니페스트 파일이 변경되지 않았습니다.
대기 중 (Pending)
PR 검사가 여전히 실행 중입니다.
실패/이슈 발견 (Failed/Issues found)
풀 리퀘스트에서 보안 이슈가 식별되었습니다. 이 시나리오에서는 결과 상태를 수동으로 통과(Passed)로 설정해야 합니다.
오류 (Error)
package.json과 package.lock 파일이 동기화되지 않았거나, 매니페스트 파일을 찾거나 읽지 못했습니다.
취소됨 (Canceled)
테스트 한도에 도달했습니다.
오탐(False positive) 또는 미탐(False negative) 결과에 대해서는 PR 검사 문제 해결을 참조하십시오.
예시: PR 검사로 종속성 이슈 수정
수정 PR 트리거 및 실패 결과를 통과로 표시하는 것과 같은 특정 작업을 포함하여 전체 시나리오를 고려해 보십시오. PR 검사에서 제공하는 정보와 관련하여 이러한 작업을 수행할 수 있습니다. 이 예시는 다음과 같이 GitHub 통합에 대한 단계를 보여줍니다.
개별 종속성에 대한 수정 트리거를 수행하여 해당 버전의 취약점을 해결합니다.
수정 PR 열기를 수행하여 GitHub에서 풀 리퀘스트를 엽니다.
PR 검사 결과 분석 및 상태 설정을 수행하여 풀 리퀘스트를 머지합니다.
시작하기 전에 자동 PR 검사를 위한 필수 조건을 확인하여 Snyk이 구성되어 있고 역할이 정의되어 있는지 확인하십시오.
개별 종속성에 대한 수정 트리거
Snyk 웹 UI에 로그인합니다.
**프로젝트(Projects)**로 이동합니다.
프로젝트가 포함된 타겟을 확장합니다.
프로젝트 이름을 클릭하여 열고 package.json을 선택하여 오픈 소스 및 라이선스 이슈를 확인합니다.
이슈(Issues) 탭에서 종속성 또는 특정 취약점을 찾고, 수정 사항이 있는 경우 카드 하단의 X.X.X로 업그레이드(Upgrade to X.X.X) 버튼을 클릭하고 **이 취약점 수정(Fix this vulnerability)**을 선택합니다. 예를 들어, jsonwebtoken을 0.4.0 버전에서 5.0.0 버전으로 업그레이드하여 여러 취약점을 수정할 수 있습니다.

(선택 사항) 페이지 상단의 **이러한 취약점 수정(Fix these vulnerabilities)**을 선택하여 하나의 풀 리퀘스트로 모든 종속성 취약점을 수정합니다.
수정 PR 열기
선택한 이슈를 확인하고 **수정 PR 열기(Open a Fix PR)**를 클릭하여 GitHub 통합에서 풀 리퀘스트를 엽니다.

PR 검사 결과 분석 및 상태 설정
(선택 사항) GitHub의 대화(Conversation) 탭에서 Snyk Bot에 의해 생성된 풀 리퀘스트를 검토합니다.
PR 검사 결과를 보여주는 대화 카드를 찾습니다. 이 예시에서는 결과가 **실패(Failed)**로 설정되어 있으며 수동으로 **통과(Passed)**로 변경됩니다.
연관된 오픈 소스 또는 코드 분석 프로젝트에서 Snyk 웹 UI를 통해 이전에 무시된(ignored) 이슈는 이 검사에서 플래그가 지정되지 않습니다. 이는 기능 브랜치 PR 전반에 걸쳐 무시된 이슈를 반영합니다.

이 이슈에 대해 검사된 파일 목록을 확장합니다.
(선택 사항) **테스트 페이지 보기(View test page)**를 클릭하여 이슈 세부 정보를 확인합니다.\ \ 기술 보안 정보 및 수정 옵션에 대해 **세부 정보 더 보기(Show more detail)**를 클릭하여 취약점에 대한 전체 그림을 볼 수 있습니다.\ \ 기본 이슈 페이지로 돌아가려면 **프로젝트(Project)**를 클릭합니다.

**SCM에서 성공으로 표시(Mark as successful in SCM)**를 클릭하여 결과 상태를 변경하고 보안 이슈가 실패한 상태로 풀 리퀘스트를 머지합니다.

취약점을 성공으로 표시한다고 해서 이슈가 무시되는 것은 아니며, 현재 브랜치에서 PR에 대한 보안 검사가 통과되도록 허용할 뿐입니다. 이슈가 수정되지 않으면 타겟 브랜치와 머지한 후 향후 커밋 및 PR 검사에서 다시 나타납니다.
이슈가 **통과(Passed)**로 표시되고 GitHub의 PR 검사 카드에서 **건너뜀(Skipped)**으로 나타납니다.
SCM 통합
GitLab
Snyk은 스캔 결과와 머지된 결과, 머지 리퀘스트 및 브랜치 파이프라인에 대한 프로젝트의 CI/CD 구성을 기반으로 머지 리퀘스트의 최신 파이프라인에 상태를 설정합니다. 이 기능은 "파이프라인이 성공해야 함(Pipelines must succeed)" 설정이 활성화된 경우 보안 이슈가 있는 머지 리퀘스트를 차단합니다.
PR 검사 문제 해결
PR 검사 문제 해결에서 PR 검사 문제를 해결하거나 다시 시작하는 방법에 대한 자세한 정보를 확인할 수 있습니다.
Last updated