

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Amazon Q Developer로 코드 검토
<a name="code-reviews"></a>

Amazon Q Developer는 코드베이스에서 보안 취약성 및 코드 품질 문제를 검토하여 개발 주기 전체에서 애플리케이션의 태세를 개선할 수 있습니다. 전체 코드베이스를 검토하거나, 로컬 프로젝트 또는 워크스페이스의 모든 파일을 분석하거나, 단일 파일을 검토할 수 있습니다. 코드를 작성할 때 코드를 평가하는 자동 검토를 활성화할 수도 있습니다.

검토는 생성형 AI와 규칙 기반 자동 추론을 기반으로 합니다. 수년 AWS 및 Amazon.com 보안 모범 사례를 기반으로 하는 [Amazon Q 탐지기는](https://docs.aws.amazon.com/codeguru/detector-library) 규칙 기반 보안 및 품질 검토를 강화합니다. 보안 정책이 업데이트되고 탐지기가 추가되면 검토는 코드가 최신 정책을 준수할 수 있도록 새 탐지기를 자동으로 통합합니다.

이 기능에 지원되는 IDE에 대한 자세한 내용은 [지원되는 IDE](q-in-IDE.md#supported-ides-features) 섹션을 참조하세요. 지원되는 언어에 대한 자세한 내용은 [코드 검토에 대한 언어 지원](q-language-ide-support.md#code-reviews-language-support) 섹션을 참조하세요.

**Topics**
+ [

## 작동 방법
](#how-code-reviews-work)
+ [

## 코드 문제 유형
](#issue-types)
+ [

## 할당량
](#quotas)
+ [

# Amazon Q Developer로 코드 검토 시작
](start-review.md)
+ [

# Amazon Q Developer에서 코드 문제 해결
](address-code-issues.md)
+ [

# 코드 문제 필터링
](filter-code-issues.md)
+ [

# Amazon Q Developer 코드 검토의 코드 문제 심각도
](code-issue-severity.md)

## 작동 방법
<a name="how-code-reviews-work"></a>

코드 검토 중에 Amazon Q는 코드의 사용자 지정 코드와 타사 라이브러리를 모두 평가합니다. 코드 검토를 시작하기 전에 Amazon Q는 필터링을 적용하여 관련 코드만 검토되도록 합니다. 필터링 프로세스의 일환으로 Amazon Q는 지원되지 않는 언어, 테스트 코드 및 오픈 소스 코드를 제외합니다.

Amazon Q는 최근 코드 변경 사항 또는 전체 파일 또는 프로젝트를 검토할 수 있습니다. 검토를 시작하려면 IDE에서 코드 폴더를 연 다음 Amazon Q에 채팅 패널에서 코드를 검토하도록 요청합니다.

기본적으로 Amazon Q에 코드를 검토하도록 요청하면 IDE의 활성 파일에 있는 코드 변경 사항만 검토됩니다. 코드 변경은 파일의 `git diff` 명령 출력에 따라 결정됩니다. diff 파일이 없는 경우 Amazon Q는 전체 코드 파일을 검토합니다. 열려 있는 파일이 없으면 프로젝트에서 검토할 코드 변경 사항을 검색합니다.

마찬가지로 Amazon Q에 전체 프로젝트 또는 작업 영역을 검토하도록 요청하면 먼저 코드 변경 사항을 검토하려고 시도합니다. diff 파일이 없으면 전체 코드베이스를 검토합니다.

## 코드 문제 유형
<a name="issue-types"></a>

Amazon Q는 다음 유형의 코드 문제에서 코드를 검토합니다.
+ **SAST 스캔 - 소스 코드의 보안 취약성을 감지합니다.** Amazon Q는 리소스 누출, SQL 명령어 삽입 및 사이트 간 스크립팅과 같은 다양한 보안 문제를 식별합니다.
+  **보안 암호 탐지 - 코드에서 민감한 또는 기밀 정보가 노출되지 않도록 방지합니다.** Amazon Q는 코드 및 텍스트 파일에서 하드코딩된 암호, 데이터베이스 연결 문자열 및 사용자 이름과 같은 보안 암호를 검토합니다. 보안 암호 조사 결과에는 보호되지 않은 보안 암호와 보안 암호를 보호하는 방법에 대한 정보가 포함됩니다.
+ **IaC 문제 - 인프라 파일의 보안 태세를 평가합니다.** Amazon Q는 코드형 인프라(IaC) 코드 파일을 검토하여 잘못된 구성, 규정 준수 및 보안 문제를 탐지할 수 있습니다.
+  **코드 품질 문제 - 코드가 품질, 유지 관리 가능성 및 효율성 표준을 충족하는지 확인합니다.** Amazon Q는 성능, 기계 학습 규칙 및 AWS 모범 사례를 포함하되 이에 국한되지 않는 다양한 품질 문제와 관련된 코드 문제를 생성합니다.
+  **코드 배포 위험 - 코드 배포와 관련된 위험을 평가합니다.** Amazon Q는 애플리케이션 성능 및 운영 중단을 포함하여 코드 배포 또는 릴리스에 대한 위험이 있는지 확인합니다.
+  **소프트웨어 구성 분석(SCA) - 타사 코드를 평가합니다.** Amazon Q는 코드에 통합된 타사 구성 요소, 라이브러리, 프레임워크 및 종속성을 검사하여 타사 코드가 안전하고 최신 상태인지 확인합니다.

Amazon Q가 코드를 검토하는 데 사용하는 탐지기의 전체 목록은 [Amazon Q 탐지기 라이브러리](https://docs.aws.amazon.com/codeguru/detector-library/)를 참조하세요.

## 할당량
<a name="quotas"></a>

Amazon Q 보안 스캔은 다음 할당량을 유지합니다.
+ **입력 아티팩트 크기** - 타사 라이브러리, 빌드 JAR 파일 및 임시 파일을 포함한 IDE 프로젝트 작업 영역 내 모든 파일의 최대 크기입니다.
+ **소스 코드 크기** - Amazon Q가 모든 타사 라이브러리 및 지원되지 않는 파일을 필터링한 후 스캔하는 소스 코드의 최대 크기입니다.

다음 표에서는 자동 스캔 및 전체 프로젝트 스캔에 유지 관리되는 할당량을 설명합니다.


| Resource | 자동 검토 | 파일 또는 프로젝트 검토 | 
| --- | --- | --- | 
| 입력 아티팩트 크기 | 200KB | 500MB | 
| 소스 코드 크기 | 200KB | 50MB | 

# Amazon Q Developer로 코드 검토 시작
<a name="start-review"></a>

Amazon Q는 전체 파일 또는 코드베이스를 검토하거나 코드를 작성할 때 코드를 자동으로 검토할 수 있습니다.

시작하기 전에 코드 검토를 지원하는 IDE에 Amazon Q를 설치했는지 확인합니다. 자세한 내용은 [IDE에서 Amazon Q Developer 확장 또는 플러그인 설치](q-in-IDE-setup.md) 단원을 참조하십시오.

**Topics**
+ [

## 파일, 프로젝트 또는 워크스페이스 검토
](#project-review)
+ [

## 예제 작업 및 프롬프트
](#code-review-prompts)
+ [

## 코딩 시 검토
](#auto-scan)

## 파일, 프로젝트 또는 워크스페이스 검토
<a name="project-review"></a>

채팅 패널에서 검토를 시작하여 Amazon Q가 특정 파일 또는 프로젝트를 검토하도록 할 수 있습니다. 파일 및 프로젝트 검토에는 규칙 기반 검토와 생성형 AI 기반 검토가 모두 포함됩니다.

Amazon Q가 검토를 완료한 후 문제를 조사하고 코드 수정을 통해 문제를 해결할 수 있습니다. 자세한 내용은 [코드 문제 해결을 참조하세요](address-code-issues.md).

파일 또는 프로젝트 검토를 시작하려면 IDE에 대해 다음 단계를 완료합니다.

------
#### [ JetBrains ]

1. IDE에서 검토하려는 파일 또는 프로젝트를 엽니다.

1. Amazon Q 아이콘을 선택하여 채팅 패널을 엽니다.

1. 자연어를 사용하여 실행하려는 코드 검토 유형을 설명합니다. 최근 코드 변경 사항 또는 전체 파일만 검토할 수 있습니다. 코드 변경은 파일에 있는 git diff 명령의 출력에 따라 결정됩니다. 해당하는 경우 Amazon Q는 달리 지정하지 않는 한 기본적으로 코드 변경 사항만 검토합니다.

1. IDE에서 코드 프로젝트 또는 파일을 연 상태에서 다음과 같은 항목을 입력할 수 있습니다.

   1. **Review my code changes** - Amazon Q는 코드베이스의 모든 코드 변경 사항을 검토합니다.

   1. **Run a code review on this entire file** - Amazon Q는 변경 사항뿐만 아니라 파일의 모든 코드를 검토합니다.

   1. **Review this repository** - Amazon Q는 변경 사항뿐만 아니라 전체 코드베이스를 검토합니다.

   자세한 코드 검토 시나리오 및 관련 프롬프트는 [프롬프트 예제를 참조하세요](#code-review-prompts).

1. Amazon Q가 파일 또는 프로젝트 검토를 시작합니다. 완료되면 우선순위가 가장 높은 문제와 관찰 결과를 요약합니다.

1. 문제가 감지되면 Amazon Q가 찾은 문제 목록과 함께 **코드** 문제 탭이 열립니다.

1. 코드 문제에 대해 자세히 알아보려면 **코드 문제** 패널로 이동합니다. 여기에서 다음 작업을 수행할 수 있습니다.

   1. 취약성 또는 저품질 코드가 탐지된 파일의 특정 영역으로 리디렉션할 문제를 선택합니다.

   1. 코드 문제에 대한 설명을 보려면 코드 문제의 이름 옆에 있는 돋보기 아이콘을 선택합니다. Amazon Q는 문제에 대한 세부 정보를 제공하고 코드에 삽입할 수 있는 문제 해결 방법을 제안합니다.

   1. 코드 문제를 수정하려면 코드 문제의 이름 옆에 있는 렌치 아이콘을 선택합니다. Amazon Q는 수정 사항에 대한 간략한 설명을 제공한 다음 코드 파일에서 현재 위치 수정 사항을 적용합니다. 파일에 코드 변경 사항이 표시되고 채팅 패널에서 변경 사항을 실행 취소할 수 있습니다.

   1. 자연어를 사용하여 문제에 대해 자세히 질문하거나, 제안된 수정 사항에 대한 설명을 얻거나, 대체 솔루션을 요청할 수도 있습니다.

1. 코드 문제 해결에 대한 자세한 내용은 [Amazon Q Developer에서 코드 문제 해결](address-code-issues.md) 섹션을 참조하세요.

------
#### [ Visual Studio Code ]

1. IDE에서 검토하려는 파일 또는 프로젝트를 엽니다.

1. Amazon Q 아이콘을 선택하여 채팅 패널을 엽니다.

1. 자연어를 사용하여 실행하려는 코드 검토 유형을 설명합니다. 최근 코드 변경 사항 또는 전체 파일만 검토할 수 있습니다. 코드 변경은 파일에 있는 git diff 명령의 출력에 따라 결정됩니다. 해당하는 경우 Amazon Q는 달리 지정하지 않는 한 기본적으로 코드 변경 사항만 검토합니다.

1. IDE에서 코드 프로젝트 또는 파일을 연 상태에서 다음과 같은 항목을 입력할 수 있습니다.

   1. **Review my code changes** - Amazon Q는 코드베이스의 모든 코드 변경 사항을 검토합니다.

   1. **Run a code review on this entire file** - Amazon Q는 변경 사항뿐만 아니라 파일의 모든 코드를 검토합니다.

   1. **Review this repository** - Amazon Q는 변경 사항뿐만 아니라 전체 코드베이스를 검토합니다.

   자세한 코드 검토 시나리오 및 관련 프롬프트는 [프롬프트 예제를 참조하세요](#code-review-prompts).

1. Amazon Q가 파일 또는 프로젝트 검토를 시작합니다. 완료되면 우선순위가 가장 높은 문제와 관찰 결과를 요약합니다.

1. 문제가 감지되면 Amazon Q에서 찾은 문제 목록과 함께 **코드** 문제 탭이 열립니다.

1. 코드 문제에 대해 자세히 알아보려면 **코드 문제** 패널로 이동합니다. 여기에서 다음 작업을 수행할 수 있습니다.

   1. 취약성 또는 저품질 코드가 탐지된 파일의 특정 영역으로 리디렉션할 문제를 선택합니다.

   1. 코드 문제에 대한 설명을 보려면 코드 문제의 이름 옆에 있는 돋보기 아이콘을 선택합니다. Amazon Q는 문제에 대한 세부 정보를 제공하고 코드에 삽입할 수 있는 문제 해결 방법을 제안합니다.

   1. 코드 문제를 수정하려면 코드 문제의 이름 옆에 있는 렌치 아이콘을 선택합니다. Amazon Q는 수정 사항에 대한 간략한 설명을 제공한 다음 코드 파일에서 현재 위치 수정 사항을 적용합니다. 파일에 코드 변경 사항이 표시되고 채팅 패널에서 변경 사항을 실행 취소할 수 있습니다.

   1. 자연어를 사용하여 문제에 대해 자세히 질문하거나, 제안된 수정 사항에 대한 설명을 얻거나, 대체 솔루션을 요청할 수도 있습니다.

1. 코드 문제 해결에 대한 자세한 내용은 [Amazon Q Developer에서 코드 문제 해결](address-code-issues.md) 섹션을 참조하세요.

------
#### [ Visual Studio ]

1. Visual Studio에서 스캔하려는 프로젝트에서 파일을 엽니다.

1. 파일 하단의 Amazon Q 아이콘을 선택하여 Amazon Q 작업 표시줄을 엽니다.

1. 작업 표시줄에서 **보안 스캔 실행**을 선택합니다. Amazon Q가 프로젝트 스캔을 시작합니다.

   다음 이미지의 Visual Studio에서 사용자는 **Amazon Q** 아이콘을 선택하여 사용자가 **보안 스캔 실행**을 선택할 수 있는 작업 표시줄을 표시합니다.  
![\[Amazon Q 작업 표시줄에 '보안 스캔 실행'이 선택 사항으로 표시된 Visual Studio\]](http://docs.aws.amazon.com/ko_kr/amazonq/latest/qdeveloper-ug/images/VS-scans.png)

1. 스캔 상태가 Visual Studio 출력 창에서 업데이트됩니다. 스캔이 완료되면 알림을 받습니다.

   조사 결과를 보고 해결하는 방법에 대한 자세한 내용은 [Amazon Q Developer에서 코드 문제 해결](address-code-issues.md) 섹션을 참조하세요.

------

## 예제 작업 및 프롬프트
<a name="code-review-prompts"></a>

코드 검토를 시작할 때 발생할 수 있는 몇 가지 시나리오가 있습니다. 다음은 코드 검토를 시작하는 몇 가지 방법과 Amazon Q에 원하는 검토를 실행하도록 요청하는 방법에 대한 개요입니다.
+ 단일 파일에 대한 코드 변경 사항만 검토하려면: 
  + IDE에서 파일을 열고 **Review my code**
  + **Review the code in <filename>**을(를) 입력합니다.
+ 전체 코드 파일을 검토하려면:
  + 변경 없이 파일 열기 및 입력 **Review my code**
  + 변경 사항이 있는 파일을 열고를 입력합니다. **Review my entire code file** 
  + **Review all the code in <filename>**을(를) 입력합니다.
+ 리포지토리의 모든 코드 변경 사항을 검토하려면:
  + IDE에서 리포지토리를 열고 **Review my code**
+ 변경 사항뿐만 아니라 전체 리포지토리를 검토하려면:
  + IDE에서 리포지토리를 열고를 입력합니다. **Review my repository** 

## 코딩 시 검토
<a name="auto-scan"></a>

**참고**  
Amazon Q 자동 검토는 [Amazon Q Developer Pro 구독](getting-started-q-dev.md)을 통해서만 사용할 수 있습니다.

자동 검토는 [Amazon Q 탐지기](https://docs.aws.amazon.com/codeguru/detector-library/)로 구동되는 규칙 기반 검토입니다. Amazon Q는 현재 코딩 중인 파일을 자동으로 검토하여 코드에서 문제가 탐지되는 즉시 코드 문제를 생성합니다. Amazon Q는 자동 검토를 수행할 때 현재 위치 코드 수정 사항을 생성하지 않습니다.

Amazon Q를 사용할 때 자동 검토가 기본적으로 활성화됩니다. 다음 절차에 따라 자동 검토를 일시 중지하거나 재개합니다.

**자동 검토 일시 중지 및 재개**

자동 검토를 일시 중지하려면 다음 단계를 완료합니다.

1. IDE 창 하단에서 **Amazon Q**를 선택합니다.

   Amazon Q 작업 표시줄이 열립니다.

1. **자동 검토 일시 중지**를 선택합니다. 자동 검토를 재개하려면 **자동 검토 재개**를 선택합니다.

# Amazon Q Developer에서 코드 문제 해결
<a name="address-code-issues"></a>

이 섹션의 주제에서는 코드 문제를 처리 및 해결하는 방법과 해당하는 경우 문제를 무시하는 방법을 설명합니다.

**Topics**
+ [

# JetBrains 및 Visual Studio Code의 코드 문제 해결
](address-issues-jetbrains-visualstudiocode.md)
+ [

# Visual Studio에서 코드 문제 해결
](address-issues-visualstudio.md)

# JetBrains 및 Visual Studio Code의 코드 문제 해결
<a name="address-issues-jetbrains-visualstudiocode"></a>

JetBrains 및 Visual Studio Code에서 코드 문제를 해결하기 위해 현재 위치 수정 사항을 생성하거나 코드를 수동으로 업데이트하는 데 사용할 수 있는 설명을 생성할 수 있습니다.

다음과 같은 작업을 수행할 수 있습니다.
+ 현재 위치 코드 수정 사항 생성 
+ 문제 설명 및 새 코드 가져오기
+ 문제 무시 또는 모든 유사한 문제 무시

## 파일에 대한 현재 위치 수정 사항 생성
<a name="generate-fixes"></a>

Amazon Q는 현재 위치의 파일을 업데이트하여 탐지된 코드 문제를 자동으로 수정할 수 있습니다.

파일에서 코드 문제를 자동으로 해결하려면:

------
#### [ JetBrains ]

1. **문제** 도구 창의 **Amazon Q 코드 문제** 탭에서 해결하려는 코드 문제를 선택합니다.

1. 코드 문제에 대한 자세한 정보가 포함된 패널이 열립니다. 해당하는 경우 코드 문제를 식별하는 데 사용된 Amazon Q 감지기에 대한 세부 정보를 볼 수 있습니다.

1. 패널 하단에서 **수정**을 선택합니다.

1. 채팅 패널에서 Amazon Q는 수정 사항에 대한 간략한 설명을 제공한 다음 코드 파일에 현재 위치 수정 사항을 적용합니다.

1. 파일에 코드 변경 사항이 표시되고 채팅 패널에서 변경 사항을 실행 취소할 수 있습니다.

------
#### [ Visual Studio Code ]

1. **코드 문제** 탭에서 해결하려는 코드 문제를 선택합니다.

1. 렌치 아이콘을 선택합니다.

   다음 이미지는 Visual Studio Code의 코드 문제에 대한 렌치 아이콘을 보여줍니다.  
![\[코드 수정을 생성하는 데 Visual Studio Code사용되는의 코드 문제에 대한 렌치 아이콘입니다.\]](http://docs.aws.amazon.com/ko_kr/amazonq/latest/qdeveloper-ug/images/code-review-fix-vsc.png)

1. 채팅 패널에서 Amazon Q는 수정 사항에 대한 간략한 설명을 제공한 다음 코드 파일에 현재 위치 수정 사항을 적용합니다.

1. 파일에 코드 변경 사항이 표시되고 채팅 패널에서 변경 사항을 실행 취소할 수 있습니다.

------

## 코드 문제 설명 및 새 코드 가져오기
<a name="explain-issue"></a>

Amazon Q는 코드 문제에 대한 심층적인 설명을 제공하고, 파일에 추가할 수 있는 코드와 함께 문제 해결 옵션을 제공할 수 있습니다.

코드 문제에 대한 설명을 보려면:

------
#### [ JetBrains IDEs ]

1. **문제** 도구 창의 **Amazon Q 코드 문제** 탭에서 해결하려는 코드 문제를 선택합니다.

1. 코드 문제에 대한 자세한 정보가 포함된 패널이 열립니다. 해당하는 경우 코드 문제를 식별하는 데 사용된 Amazon Q 감지기에 대한 세부 정보를 볼 수 있습니다.

1. 패널 하단에서 **설명을** 선택합니다.

1. 채팅 패널에서 Amazon Q는 문제에 대한 세부 정보를 제공하고 파일에 삽입할 수 있는 코드와 함께 문제를 해결하는 방법을 제안합니다.

1. 파일을 업데이트하려면 코드를 추가하거나 교체할 위치에 대한 Amazon Q의 지침을 따르고 제공된 코드를 파일의 올바른 위치에 복사합니다. 업데이트된 코드를 추가할 때 취약한 코드를 제거해야 합니다.

------
#### [ Visual Studio Code ]

1. **코드 문제** 탭에서 해결하려는 코드 문제를 선택합니다.

1. 돋보기 아이콘을 선택합니다.

   다음 이미지는 Visual Studio Code의 코드 문제에 대한 돋보기 아이콘을 보여줍니다.  
![\[코드 문제를 설명하는 데 Visual Studio Code사용되는의 코드 문제에 대한 돋보기 아이콘입니다.\]](http://docs.aws.amazon.com/ko_kr/amazonq/latest/qdeveloper-ug/images/code-review-view-details-vsc.png)

1. 채팅 패널에서 Amazon Q는 문제에 대한 세부 정보를 제공하고 파일에 삽입할 수 있는 코드와 함께 문제를 해결하는 방법을 제안합니다.

1. 파일을 업데이트하려면 코드를 추가하거나 교체할 위치에 대한 Amazon Q의 지침을 따르고 제공된 코드를 파일의 올바른 위치에 복사합니다. 업데이트된 코드를 추가할 때 취약한 코드를 제거해야 합니다.

------

## 코드 문제 무시
<a name="ignore-issues"></a>

탐지된 코드 문제를 적용할 수 없는 경우 무시하거나 해당 문제와 모든 유사한 문제(CWE가 동일한 문제)를 무시하도록 선택할 수 있습니다. 이 문제는 코드 문제 탭에서 제거됩니다.

코드 문제 무시 방법:

------
#### [ JetBrains ]

1. **문제** 도구 창의 **Amazon Q 코드 문제** 탭에서 무시할 코드 문제를 선택합니다.

1. 코드 문제에 대한 자세한 정보가 포함된 패널이 열립니다. 패널 하단에서 **무시**를 선택합니다. 코드 문제가 코드 문제 패널에서 제거됩니다.

1. **모두 무시**를 선택하여 동일한 CWE에서이 문제와 다른 코드 문제를 무시할 수도 있습니다.

------
#### [ Visual Studio Code ]

1. **코드 문제** 탭에서 무시할 코드 문제를 선택합니다.

1. 무시 아이콘을 선택합니다.

   다음 이미지는 Visual Studio Code의 코드 문제에 대한 무시 아이콘을 보여줍니다.  
![\[코드 문제를 무시하고 닫는 데 Visual Studio Code사용되는의 코드 문제에 대한 무시 아이콘입니다.\]](http://docs.aws.amazon.com/ko_kr/amazonq/latest/qdeveloper-ug/images/code-review-ignore-issue-vsc.png)

1. 코드 문제가 코드 문제 패널에서 제거됩니다.

1. 유사한 문제를 무시하려면 줄임표 아이콘을 선택한 다음 나타나는 **유사한 문제 무시** 버튼을 선택합니다.

------

# Visual Studio에서 코드 문제 해결
<a name="address-issues-visualstudio"></a>

Visual Studio에서 Amazon Q가 탐지한 코드 문제를 보려면 Visual Studio 기본 메뉴에서 **보기** 제목을 확장하고 **오류 목록**을 선택하여 Visual Studio **오류 목록**을 엽니다.

코드 문제의 정보를 사용하여 코드를 업데이트할 수 있습니다. 코드를 업데이트한 후 코드를 다시 검토하여 문제가 해결되었는지 확인합니다.

기본적으로 Visual Studio **오류 목록**에는 코드 기반에 대한 모든 경고 및 오류가 표시됩니다. Visual Studio **오류 목록**에서 Amazon Q 코드 문제를 필터링하려면 다음 절차를 완료하여 필터를 생성합니다.

**참고**  
코드 문제는 Amazon Q가 문제를 탐지한 코드 검토를 실행한 후에만 표시됩니다.  
코드 문제는 Visual Studio에서 경고로 표시됩니다. **오류 목록**에서 Amazon Q가 탐지한 문제를 보려면** 오류 목록** 제목의 **경고** 옵션을 선택해야 합니다.

**오류 목록에서 코드 문제 필터링**

1. Visual Studio 기본 메뉴에서 보기를 선택한 다음 **오류 목록**을 선택하여 **오류 목록** 창을 엽니다.

1. **오류 목록** 창에서 헤더 행을 마우스 오른쪽 버튼으로 클릭하여 컨텍스트 메뉴를 엽니다.

1. 컨텍스트 메뉴에서 **열 표시**를 확장한 다음 확장된 메뉴에서 **도구**를 선택합니다.

1. **도구** 열이 **오류 목록**에 추가됩니다.

1. **도구** 열 헤더에서 **필터** 아이콘을 선택하고 **Amazon Q**를 선택하여 Amazon Q 코드 문제를 필터링합니다.

# 코드 문제 필터링
<a name="filter-code-issues"></a>

**참고**  
JetBrains IDE 및 Visual Studio Code에서만 코드 문제를 필터링할 수 있습니다.

코드 문제를 필터링하면 선택한 기준을 충족하는 문제만 코드 문제 패널에 표시됩니다. 심각도를 기준으로 문제를 필터링할 수 있으므로 패널에서 선택한 심각도의 문제만 볼 수 있습니다.

코드 문제 패널에서 코드 문제가 구성되는 방법을 제어할 수도 있습니다. 심각도 또는 파일 위치에 따라 문제를 그룹화할 수 있습니다.

코드 문제 필터링 방법:

------
#### [ JetBrains IDEs ]

1. **Amazon Q 코드 문제** 탭에서 필터 아이콘을 선택합니다.

1. 심각도 수준이 있는 팝업 메뉴가 열립니다.

   다음 이미지는의 코드 문제 탭에 있는 심각도 메뉴를 보여줍니다IntelliJ IDEA.  
![\[의 심각도 필터 메뉴입니다IntelliJ IDEA.\]](http://docs.aws.amazon.com/ko_kr/amazonq/latest/qdeveloper-ug/images/jb-filter-issues.png)

1. 필터링하려는 심각도 수준을 선택하거나 선택 취소한 다음 **확인을** 선택합니다. 선택한 심각도의 문제만 **Amazon Q 코드 문제** 패널에 표시됩니다.

------
#### [ Visual Studio Code ]

1. **코드 문제** 패널에서 필터 아이콘을 선택합니다.

   다음 이미지는 Visual Studio Code의 코드 문제 탭에 있는 필터 아이콘을 보여줍니다.  
![\[Visual Studio Code의 코드 문제 탭에 있는 필터 아이콘입니다.\]](http://docs.aws.amazon.com/ko_kr/amazonq/latest/qdeveloper-ug/images/filter-issues-vsc.png)

1. **문제 필터링** 메뉴가 열립니다.

   필터링하려는 심각도 수준 옆의 상자를 선택하거나 선택 취소한 다음 **확인을** 선택합니다. 선택한 심각도의 문제만 **코드 문제** 패널에 표시됩니다.

------

코드 문제를 그룹화하는 방법:

------
#### [ JetBrains IDEs ]

1. **Amazon Q 코드 문제** 패널에서 그룹화 아이콘을 선택합니다.

1. **그룹화 기준** 팝업 메뉴가 열립니다.

1. **심각도**를 선택하여 심각도에 따라 코드 문제 패널에서 문제를 그룹화합니다. **위치를** 선택하여 문제가 있는 코드 파일을 기준으로 문제를 그룹화합니다.

------
#### [ Visual Studio Code ]

1. **코드 문제** 패널에서 그룹화 아이콘을 선택합니다.

   다음 이미지는 Visual Studio Code의 코드 문제 탭에 있는 그룹화 아이콘을 보여줍니다.  
![\[Visual Studio Code의 코드 문제 탭에 있는 그룹화 아이콘입니다.\]](http://docs.aws.amazon.com/ko_kr/amazonq/latest/qdeveloper-ug/images/group-issues-vsc.png)

1. **문제 그룹화** 메뉴가 열립니다.

1. **심각도**를 선택하여 심각도에 따라 코드 문제 패널에서 문제를 그룹화합니다. **위치를** 선택하여 문제가 있는 코드 파일을 기준으로 문제를 그룹화합니다.

------

# Amazon Q Developer 코드 검토의 코드 문제 심각도
<a name="code-issue-severity"></a>

Amazon Q는 코드에서 탐지된 코드 문제의 심각도를 정의하므로 애플리케이션의 보안 태세를 해결하고 추적할 문제의 우선순위를 지정할 수 있습니다. 다음 섹션에서는 코드 문제의 심각도를 결정하는 데 사용되는 방법과 각 심각도 수준이 의미하는 바를 설명합니다.

## 심각도 계산 방법
<a name="severity-calculation"></a>

코드 문제의 심각도는 문제를 생성한 탐지기에 의해 결정됩니다. [Amazon Q 탐지기 라이브러리](https://docs.aws.amazon.com/codeguru/detector-library)의 탐지기에는 각각 [CVSS](https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator)(Common Vulnerability Scoring System)를 사용하여 심각도가 할당됩니다. CVSS는 해당 컨텍스트에서 조사 결과를 악용하는 방법(예: 인터넷을 통해 수행할 수 있거나 물리적 액세스가 필요한 경우)과 얻을 수 있는 액세스 수준을 고려합니다.

다음 표에는 악의적인 행위자가 시스템을 성공적으로 공격하는 데 필요한 액세스 수준과 노력 수준에 따라 심각도를 결정하는 방법이 요약되어 있습니다.


**심각도 결정 매트릭스**  

| 액세스 수준 | 노력 수준 | 심각도 | 
| --- | --- | --- | 
| 시스템 또는 출력의 전체 제어 | 시스템에 액세스해야 함 | 높음 | 
| 시스템 또는 출력의 전체 제어 | 높은 수준의 노력이 필요한 인터넷 | 심각 | 
| 시스템 또는 출력의 전체 제어 | 인터넷을 통해 | 심각 | 
| 민감한 정보에 대한 액세스 | 시스템에 액세스해야 함 | 중간 | 
| 민감한 정보에 대한 액세스 | 높은 수준의 노력이 필요한 인터넷 | 높음 | 
| 민감한 정보에 대한 액세스 | 인터넷을 통해 | 높음 | 
| 시스템 충돌 또는 속도 저하 가능 | 시스템에 액세스해야 함 | 낮음 | 
| 시스템 충돌 또는 속도 저하 가능 | 높은 수준의 노력이 필요한 인터넷 | 중간 | 
| 시스템 충돌 또는 속도 저하 가능 | 인터넷을 통해 | 중간 | 
| 추가 보안 제공 | 악용할 수 없음 | 정보 | 
| 추가 보안 제공 | 시스템에 액세스해야 함 | 정보 | 
| 추가 보안 제공 | 높은 수준의 노력이 필요한 인터넷 | 낮음 | 
| 추가 보안 제공 | 인터넷을 통해 | 낮음 | 
| 모범 사례 | 악용할 수 없음 | 정보 | 

## 심각도 정의
<a name="severity-definitions"></a>

심각도 수준은 다음과 같이 정의됩니다.

 **심각 - 문제 확대를 방지하기 위해 코드 문제를 즉시 해결해야 합니다.**

심각한 코드 문제는 공격자가 적당한 노력으로 시스템을 제어하거나 동작을 수정할 수 있음을 시사합니다. 심각한 조사 결과를 최대한 긴급하게 처리하는 것이 좋습니다. 리소스의 중요도도 고려해야 합니다.

 **높음 - 코드 문제를 단기 우선순위로 해결해야 합니다.**

심각도가 높은 코드 문제는 공격자가 많은 노력으로 시스템을 제어하거나 동작을 수정할 수 있음을 시사합니다. 심각도가 높은 조사 결과를 단기 우선순위로 취급하고 즉각적인 문제 해결 단계를 수행하는 것이 좋습니다. 리소스의 중요도도 고려해야 합니다.

 **중간 - 코드 문제를 중기 우선순위로 해결해야 합니다.**

심각도가 중간인 조사 결과는 시스템의 충돌, 응답 없음 또는 사용 불가로 이어질 수 있습니다. 가급적 빨리 관련 코드를 조사하는 것이 좋습니다. 리소스의 중요도도 고려해야 합니다.

 **낮음 - 코드 문제가 자체 조치를 필요로 하지 않습니다.**

심각도가 낮은 조사 결과는 프로그래밍 오류 또는 안티 패턴을 시사합니다. 심각도가 낮은 조사 결과에 대해 즉각적인 조치를 취할 필요는 없지만, 다른 문제와 연관시킬 때 컨텍스트를 제공할 수 있습니다.

**정보 제공 - 권장 조치가 없습니다.**

정보 제공 조사 결과에는 품질이나 가독성 개선 또는 대체 API 작업에 대한 제안이 포함됩니다. 즉각적인 조치는 필요하지 않습니다.