깃허브 코파일럿 채팅에 code scanning 경고 관련 질문하기
라이선스 GitHub Copilot Enterprise를 사용하면 조직의 리포지토리에서 공동 파일럿 채팅에게 도움을 요청하여 보안 경고, code scanning 경고를 포함한 경고를 더 잘 이해할 수 있습니다. GitHub에서 GitHub Copilot에 질문하기을(를) 참조하세요.
Copilot을 사용한 경고 수정
참고
이 기능은 공개 미리 보기에서 사용 중이며 변경될 수 있습니다. Copilot 클라우드 에이전트 및 코파일럿 자동 수정는 리포지토리에서 사용 가능해야 합니다.
경고를 Copilot에 할당하여 Copilot가 해당 경고를 해결하도록 할 수 있습니다. 경고를 할당하면 에이전트 세션 Copilot 클라우드 에이전트 이 시작됩니다. 코드베이스를 탐색하고, 수정을 생성하고, 유효성을 검사하고, 끌어오기 요청을 엽니다.
각 에이전트형 자동 수정 세션은 Copilot 클라우드 에이전트 세션으로 청구되며 AI credits를 사용합니다. GitHub Copilot 클라우드 에이전트 정보을(를) 참조하세요.
개별 경고를 할당하려면 다음을 수행합니다.Copilot
- GitHub에서 리포지토리의 기본 페이지로 이동합니다.
- 리포지토리 이름 아래에서 탭을 Security and quality 클릭합니다. " Security and quality" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 을 클릭합니다 Security and quality.
- 왼쪽 사이드바에서 Code scanning 을 클릭합니다.
- 경고의 이름을 클릭합니다.
- 페이지 상단에서 할당 대상Copilot 을 클릭합니다.
경고를 Copilot에 일괄로 할당할 수도 있습니다.
- code scanning 경고 백로그 또는 보안 캠페인에서 경고 1~25개를 선택한 다음 Copilot에 할당합니다. 그러면 Copilot이 단일 풀 요청에서 선택한 경고를 해결합니다. 보안 캠페인에서 경고 수정을(를) 참조하세요.
- REST API를 사용하여 경고의 담당자
copilot-swe-agent[bot]를 .로 설정합니다. 코드 검색에 대한 REST API 엔드포인트을(를) 참조하세요.
일반적으로 몇 분 Copilot 내에 수정 사항 및 수행된 유효성 검사 단계를 요약하여 Copilot작성한 초안 끌어오기 요청을 엽니다. 자세한 내용은 에이전트 세션 로그를 검토하고, Copilot를 멘션하여 풀 리퀘스트에 댓글을 달아 다시 진행해 달라고 요청하세요.
Copilot 클라우드 에이전트 최상의 노력으로 수정 사항의 유효성을 검사합니다. 수정 사항을 검증할 수 없거나 경고가 오탐일 수 있다고 판단하면, 해당 내용이 풀 리퀘스트에 표시됩니다.
제안된 수정 사항 생성
리포지토리에서 사용할 수 없는 경우 Copilot 클라우드 에이전트 경고에 대한 1단계 권장 수정 사항을 생성하는 데 계속 사용할 GitHub Copilot Autofix 수 있습니다.
참고
GitHub Copilot를 사용하기 위해 GitHub Copilot Autofix을 구독할 필요는 없습니다. 코파일럿 자동 수정는 GitHub.com의 모든 퍼블릭 리포지토리와 GitHub Code Security 라이선스가 있는 조직 및 엔터프라이즈가 소유한 내부 또는 프라이빗 리포지토리에서 사용할 수 있습니다.
- GitHub에서 리포지토리의 기본 페이지로 이동합니다.
- 리포지토리 이름 아래에서 탭을 Security and quality 클릭합니다. " Security and quality" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 을 클릭합니다 Security and quality.
- 왼쪽 사이드바에서 Code scanning 을 클릭합니다.
- 경고의 이름을 클릭합니다.
- 수정을 제안할 수 있는 경우 코파일럿 자동 수정 페이지 맨 위에서 수정 생성을 클릭합니다****.
- 제안된 수정 사항이 생성되면 페이지 하단에서 수정 사항으로 PR 만들기를 클릭하여 제안된 수정 사항으로 끌어오기 요청을 자동으로 생성할 수 있습니다. 기본 분기에서 새 분기가 만들어지고, 생성된 수정 사항이 커밋되고, 초안 끌어오기 요청이 만들어집니다. 다른 수정 사항과 마찬가지로 제안된 수정 사항을 테스트하고 편집할 수 있습니다.
또한 기록 경고 엔드포인트에 Autofix API를 사용하여 제안된 수정 사항을 생성하고, 가져오고, 커밋할 수도 있습니다.
코파일럿 자동 수정 경고에 대한 code scanning는 모든 상황에서 모든 경고에 대한 수정을 생성할 수 없습니다. 이 기능은 최상의 노력으로 작동하며 100% 성공하도록 보장되지 않습니다. 자동으로 생성된 수정 사항의 제한 사항에 대한 자세한 내용은 제안의 제한 사항을 참조하세요.
경고 수동으로 고치기
리포지토리에 대한 쓰기 권한이 있는 모든 사용자는 코드 수정을 커밋하여 경고를 해결할 수 있습니다. 리포지토리가 code scanning 풀 리퀘스트에서 실행되도록 예약된 경우, 수정 사항과 함께 풀 리퀘스트를 제기하는 것이 권장됩니다. 이렇게 하면 변경 사항을 code scanning 분석하는 작업이 시작되고, 수정이 새로운 문제를 일으키지 않는지 테스트합니다. 끌어오기 요청에서 코드 검사 경고 심사을(를) 참조하세요.
팀의 워크플로에서 벗어나지 않고 GitHub 수정 작업을 추적하려면 경고를 문제에 연결할 수 있습니다. 코드 검사 경고를 GitHub 문제에 연결을(를) 참조하세요.
무료 텍스트 검색 또는 필터를 사용하여 경고 하위 집합을 표시한 다음, 일치하는 모든 경고를 종결된 것으로 표시할 수 있습니다.
경고는 한 분기에서 해결할 수 있지만 다른 분기에서는 해결할 수 없습니다. 경고 요약에서 "branch" 필터를 사용하여 특정 분기에서 경고가 해결되었는지 확인할 수 있습니다.

기본 분기가 아닌 분기에서 경고를 필터링했지만 기본 분기에 동일한 경고가 있는 경우 상태가 기본 분기가 아닌 분기의 상태와 충돌하더라도 지정된 경고의 경고 페이지에는 여전히 기본 분기의 경고 상태만 반영됩니다. 예를 들어 branch-x에 대한 경고 요약의 “열기” 목록에 나타나는 경고는 기본 분기에서 이미 수정된 경우 경고 페이지에 “수정됨” 상태를 표시할 수 있습니다. 경고 페이지 오른쪽에 있는 영향을 받는 분기 섹션에서 필터링한 분기에 대한 경고 상태를 확인할 수 있습니다.
참고
여러 구성을 사용하여 실행하는 code scanning 경우 두 개 이상의 구성에서 동일한 경고가 생성되는 경우가 있습니다. 모든 구성을 정기적으로 실행하지 않으면, 한 구성에서는 해결되었지만 다른 구성에서는 해결되지 않은 경고가 표시 될 수 있습니다. 이러한 오래된 구성 및 경고는 분기에서 제거하십시오. 분기에서 부실 구성 및 경고 제거를 참조하세요.
경고 해제하기
경고를 종결하는 두 가지 방법이 있습니다. 코드에서 문제를 해결하거나 경고를 해제할 수 있습니다.
경고를 해제하는 것은 수정할 필요가 없다고 생각되는 경고를 종료하는 방법입니다. 예를 들어 테스트에만 사용되는 코드의 오류 또는 오류를 수정하는 데 드는 노력이 코드 개선의 잠재적 이점보다 큰 경우입니다. 코드의 code scanning 주석이나 탭 내의 요약 목록에서 경고를 해제할 Security and quality 수 있습니다.
경고를 해제하는 경우:
- 모든 분기에서 경고가 해제됩니다.
- 경고가 프로젝트에 대한 현재 경고 수에서 제거됩니다.
- 경고가 경고 요약의 "종결됨" 목록으로 이동됩니다. 필요하다면 이 목록에서 경고를 다시 열 수 있습니다.
- 경고를 종결한 이유가 기록됩니다.
- 선택적으로 해제에 대한 주석을 달아 경고 해제의 컨텍스트를 기록할 수 있습니다.
- code scanning 다음에 실행되면 동일한 코드가 경고를 생성하지 않습니다.
경고를 해제하려면:
- GitHub에서 리포지토리의 기본 페이지로 이동합니다.
- 리포지토리 이름 아래에서 탭을 Security and quality 클릭합니다. " Security and quality" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 을 클릭합니다 Security and quality.
- 왼쪽 사이드바에서 Code scanning 을 클릭합니다.
- 경고를 해제하려면 올바른 해제 이유를 선택할 수 있도록 먼저 경고를 살펴보는 것이 중요합니다. 살펴볼 경고를 클릭합니다.
- 경고를 검토한 다음 경고 해제를 클릭하고, 경고를 종결하는 이유를 선택하거나 입력합니다.

dismissed_comment 엔드포인트에 대한 alerts/{alert_number}에 포함되어 있습니다. 자세한 내용은 코드 검색에 대한 REST API 엔드포인트을(를) 참조하세요.
예를 들어 코드에서 지원되지 않는 삭제 라이브러리를 사용하기 때문에 CodeQL 경고를 가양성 결과로 해제하는 경우 CodeQL 리포지토리에 기여하고 분석을 개선하는 것이 좋습니다. CodeQL에 대한 자세한 내용은 CodeQL에 기여를 참조하세요.
여러 경고를 한꺼번에 해제
프로젝트에 동일한 이유로 해제하려는 여러 경고가 있는 경우 경고 요약에서 경고를 대량으로 해제할 수 있습니다. 목록을 필터링한 다음, 일치하는 모든 경고를 해제하는 것이 일반적입니다. 예를 들어 특정 CWE(Common Weakness Enumeration) 취약성에 대한 태그가 지정된 프로젝트의 모든 현재 경고를 해제할 수 있습니다.
해제된 경고 다시 열기
경고를 해제했지만 나중에 경고를 수정해야 한다는 사실을 알게 되면 경고를 다시 열고 코드 문제를 해결할 수 있습니다. 닫힌 경고 목록을 표시하고, 경고를 찾고, 표시하고, 다시 엽니다. 그런 다음 다른 경고와 동일한 방식으로 경고를 수정할 수 있습니다.
브랜치에서 오래된 구성 및 경고 제거
단일 리포지토리에 여러 code scanning 구성이 있을 수 있습니다. 실행할 때 여러 구성에서 동일한 경고를 생성할 수 있습니다. 또한 구성이 다른 일정에 따라 실행되는 경우 자주 사용되지 않거나 부실한 구성에 대한 경고 상태가 만료될 수 있습니다. 여러 구성의 경고에 대한 자세한 정보는 코드 검사 경고을(를) 참조하세요.
-
GitHub에서 리포지토리의 기본 페이지로 이동합니다.
-
리포지토리 이름 아래에서 탭을 Security and quality 클릭합니다. " Security and quality" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 을 클릭합니다 Security and quality.
-
왼쪽 사이드바에서 Code scanning 을 클릭합니다.
-
"Code scanning" 아래에서 code scanning 경고를 클릭합니다.
-
사이드바의 "영향을 받는 분기" 섹션에서 원하는 분기를 클릭합니다.
-
"구성 분석" 대화 상자에서 선택한 분기에서 이 경고를 보고한 구성의 세부 정보를 검토합니다. 원하는 분기에 대한 원치 않는 구성을 삭제하려면 을 클릭합니다 .
실수로 구성을 삭제하는 경우 취소를 클릭하여 변경 내용을 적용하지 않습니다.

-
원치 않는 구성을 제거하고 예상한 구성이 표시되는지 확인한 후 변경 내용 저장을 클릭합니다.
실수로 구성을 삭제한 후 변경 내용을 저장한 경우 구성을 다시 실행하여 경고를 업데이트합니다. 사용하는 GitHub Actions구성을 다시 실행하는 방법에 대한 자세한 내용은 워크플로 및 작업 다시 실행을 참조하세요.
참고
- 리포지토리의 기본 분기에 대한 모든 code scanning 구성을 제거하면 기본 분기는 "영향을 받는 분기" 사이드바에 유지되지만 구성으로 분석되지는 않습니다.
- 리포지토리의 기본 분기가 아닌 다른 분기에 대한 모든 code scanning 구성을 제거하면 해당 분기가 "영향을 받는 분기" 사이드바에서 제거됩니다.