# 코드 검사 경고 해결

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

##

```
          code scanning 경고에 대한 제안된 수정 사항 생성

          GitHub Copilot Autofix는 code scanning 분석에 의해 식별된 경고에 대한 수정을 생성할 수 있습니다. 대부분의 CodeQL 경고 유형이 지원됩니다. 
          [AUTOTITLE](/code-security/concepts/code-scanning/copilot-autofix-for-code-scanning)을(를) 참조하세요.
```

> \[!NOTE]
> GitHub Copilot를 사용하기 위해 GitHub Copilot Autofix을 구독할 필요는 없습니다. 코파일럿 자동 수정는 GitHub.com의 모든 퍼블릭 리포지토리와 GitHub Code Security 라이선스가 있는 조직 및 엔터프라이즈가 소유한 내부 또는 프라이빗 리포지토리에서 사용할 수 있습니다.

1. GitHub에서 리포지토리의 기본 페이지로 이동합니다.
2. 리포지토리 이름 아래에서 탭을 **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-shield" aria-label="shield" role="img"><path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg> Security and quality** 클릭합니다. "<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-shield" aria-label="shield" role="img"><path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg> Security and quality" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-kebab-horizontal" aria-label="kebab-horizontal" role="img"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg>** 다음 을 클릭합니다 **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-shield" aria-label="shield" role="img"><path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg> Security and quality**.
3. 왼쪽 사이드바에서 **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-codescan" aria-label="codescan" role="img"><path d="M8.47 4.97a.75.75 0 0 0 0 1.06L9.94 7.5 8.47 8.97a.75.75 0 1 0 1.06 1.06l2-2a.75.75 0 0 0 0-1.06l-2-2a.75.75 0 0 0-1.06 0ZM6.53 6.03a.75.75 0 0 0-1.06-1.06l-2 2a.75.75 0 0 0 0 1.06l2 2a.75.75 0 1 0 1.06-1.06L5.06 7.5l1.47-1.47Z"></path><path d="M12.246 13.307a7.501 7.501 0 1 1 1.06-1.06l2.474 2.473a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM1.5 7.5a6.002 6.002 0 0 0 3.608 5.504 6.002 6.002 0 0 0 6.486-1.117.748.748 0 0 1 .292-.293A6 6 0 1 0 1.5 7.5Z"></path></svg> Code scanning** 을 클릭합니다.
4. 경고의 이름을 클릭합니다.
5. 수정을 제안할 수 있는 경우 코파일럿 자동 수정 페이지 맨 위에서 수정 생성을 클릭합니다\*\*<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-shield-check" aria-label="shield-check" role="img"><path d="m8.533.133 5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667l5.25-1.68a1.748 1.748 0 0 1 1.066 0Zm-.61 1.429.001.001-5.25 1.68a.251.251 0 0 0-.174.237V7c0 1.36.275 2.666 1.057 3.859.784 1.194 2.121 2.342 4.366 3.298a.196.196 0 0 0 .154 0c2.245-.957 3.582-2.103 4.366-3.297C13.225 9.666 13.5 8.358 13.5 7V3.48a.25.25 0 0 0-.174-.238l-5.25-1.68a.25.25 0 0 0-.153 0ZM11.28 6.28l-3.5 3.5a.75.75 0 0 1-1.06 0l-1.5-1.5a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l.97.97 2.97-2.97a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path></svg>\*\*.
6. 제안된 수정 사항이 생성되면 페이지 하단에서 **수정 사항으로 PR 만들기**를 클릭하여 제안된 수정 사항으로 끌어오기 요청을 자동으로 생성할 수 있습니다.
   기본 분기에서 새 분기가 만들어지고, 생성된 수정 사항이 커밋되고, 초안 끌어오기 요청이 만들어집니다. 다른 수정 사항과 마찬가지로 제안된 수정 사항을 테스트하고 편집할 수 있습니다.

또한 기록 경고 엔드포인트에 Autofix API를 사용하여 제안된 수정 사항을 생성하고, 가져오고, 커밋할 수도 있습니다.

* [코드 스캔 경고에 대한 자동 수정 만들기](/ko/rest/code-scanning/code-scanning#create-an-autofix-for-a-code-scanning-alert)
* [코드 스캔 경고에 대한 자동 수정 상태 가져오기](/ko/rest/code-scanning/code-scanning#get-the-status-of-an-autofix-for-a-code-scanning-alert)
* [코드 스캔 경고에 대한 자동 수정 커밋](/ko/rest/code-scanning/code-scanning#commit-an-autofix-for-a-code-scanning-alert)

  ```
          코파일럿 자동 수정 경고에 대한 code scanning는 모든 상황에서 모든 경고에 대한 수정을 생성할 수 없습니다. 이 기능은 최상의 노력으로 작동하며 100% 성공하도록 보장되지 않습니다. 자동으로 생성된 수정 사항의 제한 사항에 대한 자세한 내용은 [제안의 제한 사항](/code-security/code-scanning/managing-code-scanning-alerts/about-autofix-for-codeql-code-scanning#limitations-of-suggestions)을 참조하세요.
  ```

## 경고를 Copilot 클라우드 에이전트에 할당하기

> \[!NOTE] 이 옵션은 현재 공개 미리 보기로 제공되며 변경될 수 있습니다.
> Copilot 클라우드 에이전트 는 리포지토리에서 사용할 수 있어야 합니다.

할당 Copilot 하여 자동 수정 기능을 적용할 수 있습니다.
Copilot 는 코드 검색 경고를 분석하고, 수정 계획을 만들고, 끌어오기 요청에 필요한 코드 변경을 구현합니다.

1. GitHub에서 리포지토리의 기본 페이지로 이동합니다.
2. 리포지토리 이름 아래에서 탭을 **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-shield" aria-label="shield" role="img"><path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg> Security and quality** 클릭합니다. "<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-shield" aria-label="shield" role="img"><path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg> Security and quality" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-kebab-horizontal" aria-label="kebab-horizontal" role="img"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg>** 다음 을 클릭합니다 **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-shield" aria-label="shield" role="img"><path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg> Security and quality**.
3. 왼쪽 사이드바에서 **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-codescan" aria-label="codescan" role="img"><path d="M8.47 4.97a.75.75 0 0 0 0 1.06L9.94 7.5 8.47 8.97a.75.75 0 1 0 1.06 1.06l2-2a.75.75 0 0 0 0-1.06l-2-2a.75.75 0 0 0-1.06 0ZM6.53 6.03a.75.75 0 0 0-1.06-1.06l-2 2a.75.75 0 0 0 0 1.06l2 2a.75.75 0 1 0 1.06-1.06L5.06 7.5l1.47-1.47Z"></path><path d="M12.246 13.307a7.501 7.501 0 1 1 1.06-1.06l2.474 2.473a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM1.5 7.5a6.002 6.002 0 0 0 3.608 5.504 6.002 6.002 0 0 0 6.486-1.117.748.748 0 0 1 .292-.293A6 6 0 1 0 1.5 7.5Z"></path></svg> Code scanning** 을 클릭합니다.
4. 경고의 이름을 클릭합니다.
5. 자동 수정이 생성되지 않았고 코파일럿 자동 수정 수정 제안이 가능한 경우, 페이지 상단에서 **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-shield-check" aria-label="shield-check" role="img"><path d="m8.533.133 5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667l5.25-1.68a1.748 1.748 0 0 1 1.066 0Zm-.61 1.429.001.001-5.25 1.68a.251.251 0 0 0-.174.237V7c0 1.36.275 2.666 1.057 3.859.784 1.194 2.121 2.342 4.366 3.298a.196.196 0 0 0 .154 0c2.245-.957 3.582-2.103 4.366-3.297C13.225 9.666 13.5 8.358 13.5 7V3.48a.25.25 0 0 0-.174-.238l-5.25-1.68a.25.25 0 0 0-.153 0ZM11.28 6.28l-3.5 3.5a.75.75 0 0 1-1.06 0l-1.5-1.5a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l.97.97 2.97-2.97a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path></svg> 수정 생성**을 클릭합니다.
6. 오른쪽 메뉴에서 **담당자**를 클릭합니다.
7. "Copilot"을 선택합니다.

30초 Copilot 이내에 끌어오기 요청을 열어 경고를 처리하고 수정 사항 및 변경 내용에 대한 세부 정보를 요약합니다. 만든 끌어오기 요청은 "개발" 섹션에 표시됩니다.

## 경고 수동으로 고치기

리포지토리에 대한 쓰기 권한이 있는 모든 사용자는 코드 수정을 커밋하여 경고를 해결할 수 있습니다. 리포지토리가 code scanning 풀 리퀘스트에서 실행되도록 예약된 경우, 수정 사항과 함께 풀 리퀘스트를 제기하는 것이 권장됩니다. 이렇게 하면 변경 사항을 code scanning 분석하는 작업이 시작되고, 수정이 새로운 문제를 일으키지 않는지 테스트합니다. 자세한 내용은 [끌어오기 요청에서 코드 검사 경고 심사](/ko/code-security/code-scanning/managing-code-scanning-alerts/triaging-code-scanning-alerts-in-pull-requests)을(를) 참조하세요.

팀의 워크플로에서 벗어나지 않고 GitHub 수정 작업을 추적하려면 경고를 문제에 연결할 수 있습니다.
[코드 검사 경고를 GitHub 문제에 연결](/ko/code-security/how-tos/manage-security-alerts/manage-code-scanning-alerts/linking-code-scanning-alerts-to-github-issues)을(를) 참조하세요.

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

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

![분기 옵션이 확장된 경고 보기의 스크린샷 "branch" 필터에는 진한 주황색 밑줄이 있습니다.](/assets/images/help/repository/code-scanning-branch-filter.png)

기본 분기가 아닌 분기에서 경고를 필터링했지만 기본 분기에 동일한 경고가 있는 경우 상태가 기본 분기가 아닌 분기의 상태와 충돌하더라도 지정된 경고의 경고 페이지에는 여전히 기본 분기의 경고 상태만 반영됩니다. 예를 들어 `branch-x`에 대한 경고 요약의 “열기” 목록에 나타나는 경고는 기본 분기에서 이미 수정된 경우 경고 페이지에 “수정됨” 상태를 표시할 수 있습니다. 경고 페이지 오른쪽에 있는 **영향을 받는 분기** 섹션에서 필터링한 분기에 대한 경고 상태를 확인할 수 있습니다.

> \[!NOTE]
> 여러 구성을 사용하여 실행하는 code scanning 경우 두 개 이상의 구성에서 동일한 경고가 생성되는 경우가 있습니다. 모든 구성을 정기적으로 실행하지 않으면, 한 구성에서는 해결되었지만 다른 구성에서는 해결되지 않은 경고가 표시 될 수 있습니다. 이러한 오래된 구성 및 경고는 분기에서 제거하십시오. 자세한 정보는 [분기에서 부실 구성 및 경고 제거](#removing-stale-configurations-and-alerts-from-a-branch)를 참조하세요.

## 경고 해제하기

경고를 종결하는 두 가지 방법이 있습니다. 코드에서 문제를 해결하거나 경고를 해제할 수 있습니다.

경고를 해제하는 것은 수정할 필요가 없다고 생각되는 경고를 종료하는 방법입니다.
예를 들어 테스트에만 사용되는 코드의 오류 또는 오류를 수정하는 데 드는 노력이 코드 개선의 잠재적 이점보다 큰 경우입니다. 코드의 code scanning 주석이나 탭 내의 요약 목록에서 경고를 해제할 **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-shield" aria-label="shield" role="img"><path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg> Security and quality** 수 있습니다.

경고를 해제하는 경우:

* 모든 분기에서 경고가 해제됩니다.
* 경고가 프로젝트에 대한 현재 경고 수에서 제거됩니다.
* 경고가 경고 요약의 "종결됨" 목록으로 이동됩니다. 필요하다면 이 목록에서 경고를 다시 열 수 있습니다.
* 경고를 종결한 이유가 기록됩니다.
* 선택적으로 해제에 대한 주석을 달아 경고 해제의 컨텍스트를 기록할 수 있습니다.
* code scanning 다음에 실행되면 동일한 코드가 경고를 생성하지 않습니다.

경고를 해제하려면:

1. GitHub에서 리포지토리의 기본 페이지로 이동합니다.
2. 리포지토리 이름 아래에서 탭을 **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-shield" aria-label="shield" role="img"><path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg> Security and quality** 클릭합니다. "<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-shield" aria-label="shield" role="img"><path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg> Security and quality" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-kebab-horizontal" aria-label="kebab-horizontal" role="img"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg>** 다음 을 클릭합니다 **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-shield" aria-label="shield" role="img"><path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg> Security and quality**.
3. 왼쪽 사이드바에서 **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-codescan" aria-label="codescan" role="img"><path d="M8.47 4.97a.75.75 0 0 0 0 1.06L9.94 7.5 8.47 8.97a.75.75 0 1 0 1.06 1.06l2-2a.75.75 0 0 0 0-1.06l-2-2a.75.75 0 0 0-1.06 0ZM6.53 6.03a.75.75 0 0 0-1.06-1.06l-2 2a.75.75 0 0 0 0 1.06l2 2a.75.75 0 1 0 1.06-1.06L5.06 7.5l1.47-1.47Z"></path><path d="M12.246 13.307a7.501 7.501 0 1 1 1.06-1.06l2.474 2.473a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM1.5 7.5a6.002 6.002 0 0 0 3.608 5.504 6.002 6.002 0 0 0 6.486-1.117.748.748 0 0 1 .292-.293A6 6 0 1 0 1.5 7.5Z"></path></svg> Code scanning** 을 클릭합니다.
4. 경고를 해제하려면 올바른 해제 이유를 선택할 수 있도록 먼저 경고를 살펴보는 것이 중요합니다. 살펴볼 경고를 클릭합니다.
5. 경고를 검토한 다음 **경고 해제**를 클릭하고, 경고를 종결하는 이유를 선택하거나 입력합니다.

   ```
             ![경고 확인 실패의 스크린샷. "경고 해제" 단추가 진한 주황색으로 강조 표시되고 해제 드롭다운이 표시됩니다. ](/assets/images/help/repository/code-scanning-alert-dropdown-reason.png)
   ```

쿼리가 향후 분석에 계속 포함될지 여부에 영향을 줄 수 있으므로 드롭다운 메뉴에서 적절한 이유를 선택하는 것이 중요합니다. 선택적으로 해제에 대한 주석을 달아 경고 해제의 컨텍스트를 기록할 수 있습니다. 해제 주석은 경고 타임라인에 추가되며 감사 및 보고 중에 근거로 사용할 수 있습니다. REST API를 검색하는 코드를 사용하여 주석을 검색하거나 설정할 수 있습니다. 주석은 `dismissed_comment` 엔드포인트에 대한 `alerts/{alert_number}`에 포함되어 있습니다. 자세한 내용은 [코드 검색에 대한 REST API 엔드포인트](/ko/rest/code-scanning/code-scanning#update-a-code-scanning-alert)을(를) 참조하세요.

예를 들어 코드에서 지원되지 않는 삭제 라이브러리를 사용하기 때문에 CodeQL 경고를 가양성 결과로 해제하는 경우 CodeQL 리포지토리에 기여하고 분석을 개선하는 것이 좋습니다. CodeQL에 대한 자세한 내용은 [CodeQL에 기여](https://github.com/github/codeql/blob/main/CONTRIBUTING.md)를 참조하세요.

### 여러 경고를 한꺼번에 해제

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

## 해제된 경고 다시 열기

경고를 해제했지만 나중에 경고를 수정해야 한다는 사실을 알게 되면 경고를 다시 열고 코드 문제를 해결할 수 있습니다. 닫힌 경고 목록을 표시하고, 경고를 찾고, 표시하고, 다시 엽니다. 그런 다음 다른 경고와 동일한 방식으로 경고를 수정할 수 있습니다.

## 브랜치에서 오래된 구성 및 경고 제거

단일 리포지토리에 여러 코드 스캔 구성이 있을 수 있습니다. 실행할 때 여러 구성에서 동일한 경고를 생성할 수 있습니다. 또한 구성이 다른 일정에 따라 실행되는 경우 자주 사용되지 않거나 부실한 구성에 대한 경고 상태가 만료될 수 있습니다. 여러 구성의 경고에 대한 자세한 정보는 [코드 검사 경고 정보](/ko/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts#about-alerts-from-multiple-configurations)을(를) 참조하세요.

1. GitHub에서 리포지토리의 기본 페이지로 이동합니다.

2. 리포지토리 이름 아래에서 탭을 **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-shield" aria-label="shield" role="img"><path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg> Security and quality** 클릭합니다. "<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-shield" aria-label="shield" role="img"><path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg> Security and quality" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-kebab-horizontal" aria-label="kebab-horizontal" role="img"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg>** 다음 을 클릭합니다 **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-shield" aria-label="shield" role="img"><path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg> Security and quality**.

3. 왼쪽 사이드바에서 **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-codescan" aria-label="codescan" role="img"><path d="M8.47 4.97a.75.75 0 0 0 0 1.06L9.94 7.5 8.47 8.97a.75.75 0 1 0 1.06 1.06l2-2a.75.75 0 0 0 0-1.06l-2-2a.75.75 0 0 0-1.06 0ZM6.53 6.03a.75.75 0 0 0-1.06-1.06l-2 2a.75.75 0 0 0 0 1.06l2 2a.75.75 0 1 0 1.06-1.06L5.06 7.5l1.47-1.47Z"></path><path d="M12.246 13.307a7.501 7.501 0 1 1 1.06-1.06l2.474 2.473a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM1.5 7.5a6.002 6.002 0 0 0 3.608 5.504 6.002 6.002 0 0 0 6.486-1.117.748.748 0 0 1 .292-.293A6 6 0 1 0 1.5 7.5Z"></path></svg> Code scanning** 을 클릭합니다.

4. "Code scanning" 아래에서 code scanning 경고를 클릭합니다.

5. 사이드바의 "영향을 받는 분기" 섹션에서 원하는 분기를 클릭합니다.

6. "구성 분석" 대화 상자에서 선택한 분기에서 이 경고를 보고한 구성의 세부 정보를 검토합니다. 원하는 분기에 대한 원치 않는 구성을 삭제하려면 을 클릭합니다 <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-trash" aria-label="Delete configuration" role="img"><path d="M11 1.75V3h2.25a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75ZM4.496 6.675l.66 6.6a.25.25 0 0 0 .249.225h5.19a.25.25 0 0 0 .249-.225l.66-6.6a.75.75 0 0 1 1.492.149l-.66 6.6A1.748 1.748 0 0 1 10.595 15h-5.19a1.75 1.75 0 0 1-1.741-1.575l-.66-6.6a.75.75 0 1 1 1.492-.15ZM6.5 1.75V3h3V1.75a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 0-.25.25Z"></path></svg>.

   실수로 구성을 삭제하는 경우 **취소**를 클릭하여 변경 내용을 적용하지 않습니다.

   !["구성 분석" 모달의 스크린샷입니다. "구성 삭제" 아이콘은 진한 주황색으로 강조 표시됩니다.](/assets/images/help/repository/code-scanning-remove-configuration.png)

7. 원치 않는 구성을 제거하고 예상한 구성이 표시되는지 확인한 후 **변경 내용 저장**을 클릭합니다.

   실수로 구성을 삭제한 후 변경 내용을 저장한 경우 구성을 다시 실행하여 경고를 업데이트합니다. 사용하는 GitHub Actions구성을 다시 실행하는 방법에 대한 자세한 내용은 [워크플로 및 작업 다시 실행](/ko/actions/managing-workflow-runs/re-running-workflows-and-jobs#re-running-all-the-jobs-in-a-workflow)을 참조하세요.

> \[!NOTE]
>
> * 리포지토리의 기본 분기에 대한 모든 code scanning 구성을 제거하면 기본 분기는 "영향을 받는 분기" 사이드바에 유지되지만 구성으로 분석되지는 않습니다.
> * 리포지토리의 기본 분기가 아닌 다른 분기에 대한 모든 code scanning 구성을 제거하면 해당 분기가 "영향을 받는 분기" 사이드바에서 제거됩니다.

## 추가 읽기

* [끌어오기 요청에서 코드 검사 경고 심사](/ko/code-security/code-scanning/managing-code-scanning-alerts/triaging-code-scanning-alerts-in-pull-requests)
* [코드 검사에 대한 기본 설정 구성](/ko/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning)
* [코드 검사와의 통합 정보](/ko/code-security/code-scanning/integrating-with-code-scanning/about-integration-with-code-scanning)