Skip to main content
설명서에 자주 업데이트를 게시하며 이 페이지의 번역이 계속 진행 중일 수 있습니다. 최신 정보는 영어 설명서를 참조하세요.

이 버전의 GitHub Enterprise는 다음 날짜에 중단됩니다. 2023-03-15. 중요한 보안 문제에 대해서도 패치 릴리스가 이루어지지 않습니다. 성능 향상, 향상된 보안, 새로운 기능을 위해 최신 버전의 GitHub Enterprise로 업그레이드합니다. 업그레이드에 대한 도움말은 GitHub Enterprise 지원에 문의하세요.

리포지토리에 대한 코드 검사 경고 관리

보안 관점에서 프로젝트 코드의 잠재적인 취약성 또는 오류에 대한 경고를 표시, 수정, 해제 또는 삭제할 수 있습니다.

이 기능을 사용할 수 있는 사용자

If you have write permission to a repository you can manage code scanning alerts for that repository.

Code scanning는 GitHub Enterprise Server의 조직 소유 리포지토리에서 사용할 수 있습니다. 이 기능을 사용하려면 GitHub Advanced Security에 대한 라이선스가 필요합니다. 자세한 내용은 “GitHub Advanced Security 정보”를 참조하세요.

리포지토리에 대한 경고 보기

리포지토리에 대한 읽기 권한이 있는 사람은 끌어오기 요청에 대한 code scanning 주석을 볼 수 있습니다. 자세한 내용은 “끌어오기 요청에서 code scanning 경고 심사”를 참조하세요.

보안 탭에서 리포지토리에 대한 모든 경고의 요약 정보를 보려면 쓰기 권한이 필요합니다.

기본적으로 코드 검사 경고 페이지는 리포지토리의 기본 분기에 대한 경고만 표시하도록 필터링됩니다.

  1. GitHub Enterprise Server 인스턴스에서 리포지토리의 기본 페이지로 이동합니다. 1. 리포지토리 이름 아래에서 Security를 클릭합니다. 보안 탭 1. 왼쪽 사이드바에서 코드 검사 경고를 클릭합니다. “코드 검사 경고” 탭

  2. 필요에 따라 무료 텍스트 검색 상자 또는 드롭다운 메뉴를 사용하여 경고를 필터링합니다. 예를 들어 경고를 식별하는 데 사용된 도구로 필터링할 수 있습니다. 도구별 필터링 1. “Code scanning”에서 탐색하려는 경고를 클릭합니다. 경고 요약

  3. 경고에서 데이터 흐름 문제를 강조하는 경우 필요에 따라 경로 표시를 클릭하여 데이터 원본부터 데이터 원본이 사용된 싱크까지의 경로를 표시합니다. 경고의 "경로 표시" 링크 경고](/assets/images/enterprise/3.4/repository/code-scanning-show-paths.png)의 "경로 표시" 링크

  4. CodeQL 분석의 경고에는 문제에 대한 설명이 포함됩니다. 코드를 수정하는 방법에 대한 지침을 보려면 자세히 표시를 클릭합니다. 경고 세부 정보

자세한 내용은 "code scanning 경고 정보"를 참조하세요.

참고: CodeQL을 사용한 code scanning 분석의 경우 리포지토리에 대한 code scanning 경고 목록의 맨 위에 있는 헤더에서 최신 실행에 대한 정보를 볼 수 있습니다.

예를 들어 마지막 검색이 실행된 시간, 리포지토리의 총 코드 줄 수와 비교 분석한 코드 줄 수 및 생성된 총 경고 수를 확인할 수 있습니다. UI 배너

code scanning 경고 필터링

code scanning 경고 보기에 표시된 경고를 필터링할 수 있습니다. 수많은 경고가 있을 때 특정 유형의 경고에 집중할 수 있는 유용한 기능입니다. 미리 정의된 필터와 표시되는 경고 목록을 구체화하는 데 사용할 수 있는 다양한 키워드가 있습니다.

  • 미리 정의된 필터를 사용하려면 필터 또는 경고 목록의 헤더에 표시된 필터를 클릭하고, 드롭다운 목록에서 필터를 선택합니다. 미리 정의된 필터
  • 키워드를 사용하려면 필터 텍스트 상자에 직접 입력하거나 다음을 수행합니다.
    1. 필터 텍스트 상자를 클릭하여 사용 가능한 필터 키워드 목록을 모두 표시합니다.
    2. 사용할 키워드를 클릭하고 드롭다운 목록에서 값을 선택합니다. 키워드 필터 목록

키워드 필터를 사용하면 결과가 있는 값만 드롭다운 목록에 표시된다는 이점이 있습니다. 따라서 결과가 없는 필터를 설정하는 일을 피할 수 있습니다.

여러 필터를 입력하면 이 모든 필터와 일치하는 경고가 보기에 표시됩니다. 예를 들어 is:closed severity:high branch:mainmain 분기에 있는 종결된 높은 심각도 경고만 표시합니다. refs(ref, branchpr)와 관련된 필터는 예외입니다. is:open branch:main branch:nextmain 분기와 next 분기의 열린 경고를 표시합니다.

tag 필터에 -를 접두사로 사용하면 해당 태그가 있는 결과를 제외할 수 있습니다. 예를 들어 -tag:stylestyle 태그가 없는 경고만 표시하고.

결과를 애플리케이션 코드로 제한

"애플리케이션 코드의 경고만" 필터 또는 autofilter:true 키워드와 값을 사용하여 결과를 애플리케이션 코드의 경고로 제한할 수 있습니다. 애플리케이션 코드가 아닌 코드 유형에 대한 자세한 내용은 위의 "애플리케이션 코드에 없는 경고에 대한 레이블 정보"를 참조하세요.

code scanning 경고 검색

경고 목록을 검색할 수 있습니다. 이 기능은 리포지토리에 수많은 경고가 있거나 경고의 정확한 이름을 모르는 경우에 유용합니다. GitHub Enterprise Server은 다음 위치에서 무료 텍스트 검색을 수행합니다.

  • 경고의 이름입니다.
  • 경고 세부 정보(축소 가능한 항목 표시 섹션에서 기본적으로 보기에서 숨겨진 정보도 포함됨) 검색](/assets/images/enterprise/3.4/repository/code-scanning-free-text-search-areas.png)에 사용되는 경고 정보
지원되는 검색구문 예제결과
단일 단어 검색injectioninjection이라는 단어가 포함된 모든 경고를 반환
여러 단어 검색sql injectionsql 또는 injection이라는 단어가 포함된 모든 경고를 반환
정확하게 일치 검색
(큰따옴표 사용)
"sql injection"sql injection과 정확하게 일치하는 구가 포함된 모든 경고를 반환
OR 검색sql OR injectionsql 또는 injection이라는 단어가 포함된 모든 경고를 반환
AND 검색sql AND injectionsqlinjection이라는 단어가 모두 포함된 경고를 반환

팁:

  • 여러 단어 검색은 OR 검색과 동일합니다.
  • AND 검색은 경고 이름 또는 세부 정보에서 위치와 순서에 상관없이 검색어가 포함된 결과를 반환합니다.
  1. GitHub Enterprise Server 인스턴스에서 리포지토리의 기본 페이지로 이동합니다. 1. 리포지토리 이름 아래에서 Security를 클릭합니다. 보안 탭 1. 왼쪽 사이드바에서 코드 검사 경고를 클릭합니다. “코드 검사 경고” 탭
  2. 필터 드롭다운 메뉴의 오른쪽에 있는 무료 텍스트 검색 상자에 검색할 키워드를 입력합니다. 무료 텍스트 검색 상자
  3. return을 누릅니다. 경고 목록에는 검색 조건과 일치하는 열린 code scanning 경고가 포함됩니다.

경고 해결

리포지토리에 대한 쓰기 권한이 있는 모든 사용자는 코드 수정을 커밋하여 경고를 해결할 수 있습니다. 리포지토리에서 끌어오기 요청을 실행하도록 예약된 code scanning가 있는 경우 수정을 통해 끌어오기 요청을 발생시키는 것이 가장 좋습니다. 이렇게 하면 변경 내용의 code scanning 분석이 트리거되고 수정으로 인해 새로운 문제가 발생하지 않는지 테스트가 수행됩니다. 자세한 내용은 "code scanning 사용자 지정" 및 "끌어오기 요청에서 code scanning 경고 심사"를 참조하세요.

리포지토리에 대한 쓰기 권한이 있는 경우 경고 요약 정보를 살펴보고 종결됨을 클릭하여 해결된 경고를 볼 수 있습니다. 자세한 내용은 "리포지토리에 대한 경고 보기"를 참조하세요. "종결됨" 목록에는 해결된 경고와 사용자가 해제한 경고가 표시됩니다.

무료 텍스트 검색 또는 필터를 사용하여 경고 하위 집합을 표시한 다음, 일치하는 모든 경고를 종결된 것으로 표시할 수 있습니다.

경고는 한 분기에서 해결할 수 있지만 다른 분기에서는 해결할 수 없습니다. 경고 요약에서 "분기" 필터를 사용하여 특정 분기에서 경고가 해결되었는지 확인할 수 있습니다.

분기별 경고 필터링

경고 해제 또는 삭제

경고를 종결하는 두 가지 방법이 있습니다. 코드에서 문제를 해결하거나 경고를 해제할 수 있습니다. 또는 리포지토리에 대한 관리자 권한이 있는 경우 경고를 삭제할 수 있습니다. 경고 삭제는 code scanning 도구를 설정했는데 이후에 제거하기로 결정한 경우 또는 계속 사용할 쿼리보다 큰 쿼리 세트로 CodeQL 분석을 구성했고 이후에 도구에서 일부 쿼리를 제거한 경우에 유용합니다. 두 경우 모두 경고를 삭제하면 code scanning 결과를 정리할 수 있습니다. 보안 탭의 요약 목록에서 경고를 삭제할 수 있습니다.

경고를 해제하는 것은 수정할 필요가 없다고 생각되는 경고를 종료하는 방법입니다. 예를 들어 테스트에만 사용되는 코드의 오류 또는 오류를 수정하는 데 드는 노력이 코드 개선의 잠재적 이점보다 큰 경우입니다. 코드의 code scanning 주석 또는 보안 탭의 요약 목록에서 경고를 해제할 수 있습니다.

경고를 해제하는 경우:

  • 모든 분기에서 경고가 해제됩니다.
  • 경고가 프로젝트에 대한 현재 경고 수에서 제거됩니다.
  • 경고가 경고 요약의 "종결됨" 목록으로 이동됩니다. 필요하다면 이 목록에서 경고를 다시 열 수 있습니다.
  • 경고를 닫은 이유가 기록됩니다.
  • 다음에 code scanning가 실행될 때 동일한 코드가 경고를 생성하지 않습니다.

경고를 삭제하는 경우:

  • 모든 분기에서 경고가 삭제됩니다.
  • 경고가 프로젝트에 대한 현재 경고 수에서 제거됩니다.
  • 경고 요약의 "종결됨" 목록에 경고가 추가되지 않습니다.
  • 경고를 생성한 코드가 동일하게 유지되고 동일한 code scanning 도구가 구성 변경 없이 다시 실행되면 경고가 분석 결과에 다시 표시됩니다.

경고를 해제 또는 삭제하려면 다음을 수행합니다.

  1. GitHub Enterprise Server 인스턴스에서 리포지토리의 기본 페이지로 이동합니다. 1. 리포지토리 이름 아래에서 Security를 클릭합니다. 보안 탭 1. 왼쪽 사이드바에서 코드 검사 경고를 클릭합니다. “코드 검사 경고” 탭

  2. 리포지토리에 대한 관리자 권한이 있고 이 code scanning 도구에 대한 경고를 삭제하려면 확인란의 일부 또는 전체를 선택하고 삭제를 클릭합니다.

    경고 삭제

    필요에 따라 자유 텍스트 검색 또는 필터를 사용하여 경고 하위 집합을 표시한 다음, 일치하는 모든 경고를 한 번에 삭제할 수 있습니다. 예를 들어 CodeQL 분석에서 쿼리를 제거한 경우 "규칙" 필터를 사용하여 해당 쿼리에 대한 경고만 나열한 다음, 모든 경고를 선택하여 삭제할 수 있습니다.

    규칙으로 경고 필터링

  3. 경고를 해제하려면 올바른 해제 이유를 선택할 수 있도록 먼저 경고를 살펴보는 것이 중요합니다. 살펴볼 경고를 클릭합니다. 요약 목록에서 경고 열기

  4. 경고를 검토한 다음, 해제를 클릭하고 경고를 종결하는 이유를 선택합니다. 경고를 해제하는 이유 선택 쿼리가 향후 분석에 계속 포함될지 여부에 영향을 줄 수 있으므로 드롭다운 메뉴에서 적절한 이유를 선택하는 것이 중요합니다.

    예를 들어 코드에서 지원되지 않는 삭제 라이브러리를 사용하기 때문에 CodeQL 경고를 가양성 결과로 해제하는 경우 CodeQL 리포지토리에 기여하고 분석을 개선하는 것이 좋습니다. CodeQL에 대한 자세한 내용은 “CodeQL에 기여”를 참조하세요.

여러 경고를 한꺼번에 해제

프로젝트에 동일한 이유로 해제하려는 여러 경고가 있는 경우 경고 요약에서 경고를 대량으로 해제할 수 있습니다. 목록을 필터링한 다음, 일치하는 모든 경고를 해제하는 것이 일반적입니다. 예를 들어 특정 CWE(Common Weakness Enumeration) 취약성에 대한 태그가 지정된 프로젝트의 모든 현재 경고를 해제할 수 있습니다.

추가 참고 자료