Skip to main content

코드 검사 경고 정보

다양한 유형의 코드 검사 경고 및 각 경고가 강조 표시하는 문제를 이해하는 데 도움이 되는 정보에 대해 알아봅니다.

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

참고: 이 기능을 사용하려면 사이트 관리자가 your GitHub Enterprise Server instance에 대해 code scanning을(를) 사용하도록 설정해야 합니다. 자세한 내용은 “어플라이언스의 code scanning 구성”을 참조하세요.

code scanning의 경고 정보

기본 CodeQL 분석, 타사 분석 또는 여러 유형의 분석을 사용하여 리포지토리의 코드를 확인하도록 code scanning을 구성할 수 있습니다. 분석이 완료되면 결과 경고가 리포지토리의 보안 보기에 나란히 표시됩니다. 타사 도구 또는 사용자 지정 쿼리의 결과에는 GitHub의 기본 CodeQL 분석에서 감지한 경고에 대해 표시되는 속성 중 일부가 포함되지 않을 수 있습니다. 자세한 내용은 "리포지토리에 대한 code scanning 구성"을 참조하세요.

기본적으로 code scanning은 기본 분기 및 끌어오기 요청 중에 주기적으로 코드를 분석합니다. 끌어오기 요청에서 경고를 관리하는 방법에 대한 자세한 내용은 "끌어오기 요청에서 code scanning 경고 심사"를 참조하세요.

경고 세부 정보

각 경고는 코드 관련 문제 및 이를 식별한 도구 이름을 강조 표시합니다. 경고를 트리거한 코드 줄과 경고 속성(예: 경고 심각도, 보안 심각도 및 문제의 특성)을 볼 수 있습니다. 또한 경고는 문제가 처음 발생한 시간을 알려줍니다. CodeQL 분석에서 식별한 경고의 경우 문제를 해결하는 방법에 대한 정보도 표시됩니다.

code scanning 의 경고 예제

CodeQL를 사용하여 code scanning을(를) 구성하는 경우 코드에서 데이터 흐름 문제를 찾을 수도 있습니다. 데이터 흐름 분석은 코드에서 잠재적인 보안 문제(예: 안전하지 않은 데이터 사용, 함수에 위험한 인수 전달, 중요한 정보 유출)를 찾습니다.

code scanning에서 데이터 흐름 경고를 보고하면 GitHub에서 데이터가 코드를 통해 이동하는 방법을 보여 줍니다. Code scanning를 사용하면 중요한 정보를 유출하는 코드 영역을 식별할 수 있으며, 이 영역은 악의적인 사용자의 공격에 대한 진입점이 될 수 있습니다.

심각도 수준 정보

경고 심각도 수준은 Error, Warning 또는 Note일 수 있습니다.

code scanning이 끌어오기 요청 확인으로 사용하도록 설정되는 경우 심각도가 error인 결과가 검색되면 확인이 실패합니다. 확인 실패가 발생하는 코드 검사 경고의 심각도 수준을 지정할 수 있습니다. 자세한 내용은 "code scanning 사용자 지정"을 참조하세요.

보안 심각도 수준 정보

Code scanning는 보안 쿼리에서 생성된 경고에 대한 보안 심각도 수준을 표시합니다. 보안 심각도 수준은 Critical, High, Medium 또는 Low일 수 있습니다.

경고의 보안 심각도를 계산하기 위해 CVSS(Common Vulnerability Scoring System) 데이터를 사용합니다. CVSS는 소프트웨어 취약성의 특성 및 심각도를 전달하기 위한 개방형 프레임워크이며, 일반적으로 다른 보안 제품에서 경고 점수를 매기는 데 사용됩니다. 심각도 수준을 계산하는 방법에 대한 자세한 내용은 이 블로그 게시물을 참조하세요.

기본적으로 보안 심각도가 Critical 또는 High인 모든 code scanning 결과로 인해 확인 실패가 발생합니다. 확인 실패가 발생해야 하는 code scanning 결과에 대한 보안 심각도 수준을 지정할 수 있습니다. 자세한 내용은 "code scanning 사용자 지정"을 참조하세요.

애플리케이션 코드에 없는 경고에 대한 레이블 정보

GitHub Enterprise Server은 범주 레이블을 애플리케이션 코드에 없는 경고에 할당합니다. 레이블은 경고의 위치와 관련이 있습니다.

  • 생성됨: 빌드 프로세스에서 생성된 코드
  • 테스트: 테스트 코드
  • 라이브러리: 라이브러리 또는 타사 코드
  • 설명서: 설명서

Code scanning는 파일을 파일 경로별로 분류합니다. 원본 파일은 수동으로 분류할 수 없습니다.

라이브러리 코드에서 발생하는 것으로 표시된 경고의 code scanning 경고 목록의 예는 다음과 같습니다.

목록의 코드 검사 라이브러리 경고

경고 페이지에서 파일 경로가 라이브러리 코드(Library 레이블)로 표시된 것을 볼 수 있습니다.

코드 검사 라이브러리 경고 세부 정보